Futures Momentum Scanner – jyoti//@version=5
indicator("Futures Momentum Scanner – Avvu Edition", overlay=false, max_lines_count=500)
//------------------------------
// USER INPUTS
//------------------------------
rsiLen = input.int(14, "RSI Length")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
stLength = input.int(10, "Supertrend Length")
stMult = input.float(3.0, "Supertrend Multiplier")
//------------------------------
// SUPER TREND
//------------------------------
= ta.supertrend(stMult, stLength)
trendUp = stDirection == 1
//------------------------------
// RSI
//------------------------------
rsi = ta.rsi(close, rsiLen)
rsiBull = rsi > 50 and rsi < 65
//------------------------------
// MACD
//------------------------------
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdBull = macd > signal and macd > 0
//------------------------------
// MOVING AVERAGE TREND
//------------------------------
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
trendStack = ema20 > ema50 and ema50 > ema200
//------------------------------
// BREAKOUT LOGIC
//------------------------------
prevHigh = ta.highest(high, 20)
breakout = close > prevHigh
//------------------------------
// FINAL SCANNER LOGIC
//------------------------------
bullishCandidate = trendUp and rsiBull and macdBull and trendStack and breakout
//------------------------------
// TABLE OUTPUT FOR SCANNER FEEL
//------------------------------
var table t = table.new(position.top_right, 1, 1)
if barstate.islast
msg = bullishCandidate ? "✔ BUY Candidate" : "– Not a Setup"
table.cell(t, 0, 0, msg, bgcolor=bullishCandidate ? color.new(color.green, 0) : color.new(color.red, 70))
//------------------------------
// ALERT
//------------------------------
alertcondition(bullishCandidate, title="Scanner Trigger", message="This stock meets Avvu's futures scanner criteria!")
图表形态
Session High/LowSession High Low
Trading Sessions
Forex Sessions (oder Futures Sessions, je nachdem, was du handelst)
Pine Script Indicator
Intraday Levels
Market Sessions
High Low Lines
Day Trading Tools
1小时区域背景颜色// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo
//@version=5
indicator("Sessions ", "LuxAlgo - Sessions", overlay = true, max_bars_back = 500, max_lines_count = 500, max_boxes_count = 500, max_labels_count = 500)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
//Session A
show_sesa = input(true, '', inline = 'sesa', group = 'Session A')
sesa_txt = input('New York', '', inline = 'sesa', group = 'Session A')
sesa_ses = input.session('1300-2200', '', inline = 'sesa', group = 'Session A')
sesa_css = input.color(#ff5d00, '', inline = 'sesa', group = 'Session A')
sesa_range = input(true, 'Range', inline = 'sesa_overlays', group = 'Session A')
sesa_tl = input(false, 'Trendline', inline = 'sesa_overlays', group = 'Session A')
sesa_avg = input(false, 'Mean', inline = 'sesa_overlays', group = 'Session A')
sesa_vwap = input(false, 'VWAP', inline = 'sesa_overlays', group = 'Session A')
sesa_maxmin = input(false, 'Max/Min', inline = 'sesa_overlays', group = 'Session A')
//Session B
show_sesb = input(true, '', inline = 'sesb', group = 'Session B')
sesb_txt = input('London', '', inline = 'sesb', group = 'Session B')
sesb_ses = input.session('0700-1600', '', inline = 'sesb', group = 'Session B')
sesb_css = input.color(#2157f3, '', inline = 'sesb', group = 'Session B')
sesb_range = input(true, 'Range', inline = 'sesb_overlays', group = 'Session B')
sesb_tl = input(false, 'Trendline', inline = 'sesb_overlays', group = 'Session B')
sesb_avg = input(false, 'Mean', inline = 'sesb_overlays', group = 'Session B')
sesb_vwap = input(false, 'VWAP', inline = 'sesb_overlays', group = 'Session B')
sesb_maxmin = input(false, 'Max/Min', inline = 'sesb_overlays', group = 'Session B')
//Session C
show_sesc = input(true, '', inline = 'sesc', group = 'Session C')
sesc_txt = input('Tokyo', '', inline = 'sesc', group = 'Session C')
sesc_ses = input.session('0000-0900', '', inline = 'sesc', group = 'Session C')
sesc_css = input.color(#e91e63, '', inline = 'sesc', group = 'Session C')
sesc_range = input(true, 'Range', inline = 'sesc_overlays', group = 'Session C')
sesc_tl = input(false, 'Trendline', inline = 'sesc_overlays', group = 'Session C')
sesc_avg = input(false, 'Mean', inline = 'sesc_overlays', group = 'Session C')
sesc_vwap = input(false, 'VWAP', inline = 'sesc_overlays', group = 'Session C')
sesc_maxmin = input(false, 'Max/Min', inline = 'sesc_overlays', group = 'Session C')
//Session D
show_sesd = input(true, '', inline = 'sesd', group = 'Session D')
sesd_txt = input('Sydney', '', inline = 'sesd', group = 'Session D')
sesd_ses = input.session('2100-0600', '', inline = 'sesd', group = 'Session D')
sesd_css = input.color(#ffeb3b, '', inline = 'sesd', group = 'Session D')
sesd_range = input(true, 'Range', inline = 'sesd_overlays', group = 'Session D')
sesd_tl = input(false, 'Trendline', inline = 'sesd_overlays', group = 'Session D')
sesd_avg = input(false, 'Mean', inline = 'sesd_overlays', group = 'Session D')
sesd_vwap = input(false, 'VWAP', inline = 'sesd_overlays', group = 'Session D')
sesd_maxmin = input(false, 'Max/Min', inline = 'sesd_overlays', group = 'Session D')
//Timezones
tz_incr = input.int(0, 'UTC (+/-)', group = 'Timezone')
use_exchange = input(false, 'Use Exchange Timezone', group = 'Timezone')
//Ranges Options
bg_transp = input.float(90, 'Range Area Transparency', group = 'Ranges Settings')
show_outline = input(true, 'Range Outline', group = 'Ranges Settings')
show_txt = input(true, 'Range Label', group = 'Ranges Settings')
Support Resistance📌 1. Indicator Name
Premium Auto Support & Resistance
📌 2. One-Line Description
An automated S/R system that generates support and resistance zones based on swing highs and lows, displaying them in a premium visual style directly on the chart.
📌 3. Overall Summary (7+ lines)
This indicator automatically detects price levels where the market has repeatedly reacted and generates support and resistance zones.
Instead of simple horizontal lines, it visualizes reaction ranges as zones, helping traders clearly understand the actual price areas where activity occurs.
It uses swing points (high/low pivots) as the fundamental basis and continuously updates only the most meaningful recent S/R levels.
A smoothing process is applied, reducing noise and creating more natural, reliable S/R zones.
Support and resistance are displayed as filled transparency-based zones, enabling intuitive identification of zone strength and market position.
When price touches one of these zones, a small signal appears to highlight potential reversal points.
All elements are plotted directly over the candles with overlay=true, making it an instantly usable and visually premium tool.
📌 4. Advantages (6 items)
① Automatic Swing-Based S/R Detection
Automatically analyzes key pivot points and extracts only the most meaningful support and resistance levels.
② Support/Resistance Zone Structure
Provides intuitive reaction ranges instead of single lines, making it far more practical for real trading.
③ Smooth Premium-Style Lines
S/R lines are smoothed to remove noise, maintaining a natural and refined premium visual appearance.
④ Automatic Candle-Touch Alerts
Displays signals whenever price touches support or resistance, helping you quickly identify potential reversal areas.
⑤ Overlay-Based Immediate Clarity
Drawn directly onto the chart without occupying indicator windows, keeping visual focus on price action.
⑥ Simple Yet Powerful Framework
A pivot + smoothing + zone combination that strengthens automatic S/R detection while remaining easy for beginners to use.
Filter Trend1. Indicator Name
Premium EMA Ribbon Filter (Pro Version)
(Advanced Trend & Momentum Filtering System Based on EMA Ribbons)
2. One-Line Introduction
A professional trend-analysis indicator that blends an advanced noise-filtering algorithm with an EMA ribbon system to extract only the pure bullish/bearish trend while smoothing out market noise.
3. Overall Description (7+ lines)
The Premium EMA Ribbon Filter is more than just a set of EMAs.
It analyzes the structure of a fast, medium, and slow EMA ribbon—along with the spacing and alignment between them—to determine whether the market is in a bullish trend, bearish trend, or a neutral/noise-heavy zone.
The core of this indicator is its noise-reduction algorithm and trend-strength calculation system.
Instead of relying on simple EMA cross signals, it evaluates how consistently the ribbon maintains bullish/bearish alignment over a specified period and highlights only strong trends with color coding, while weak or noisy areas are displayed in gray.
This helps traders avoid confusing or false signals and clearly focus only on the “meaningful zones.”
A Triple-Smoothing System is applied to create smoother, more refined ribbon movements, forming a stable “premium trend curve” that is less affected by short-term volatility.
As a result, this indicator works effectively for scalping, swing trading, and long-term trend following—staying true to the principle of removing noise and highlighting only the core market flow.
4. Short Advantages (6 items)
① Complete Noise Filtering
Using EMA ribbon comparison + tolerance logic, false reversals are largely eliminated, leaving only stable trend phases.
② Highly Readable Color System
Bullish trends are mint, bearish trends are red, and neutral/noise zones are gray—instantly visualizing market conditions.
③ Trend Strength Visualization
Not only trend direction but also trend strength is displayed via dynamic color transparency.
④ Smooth, Premium-Style Ribbon Design
Triple-smoothing creates a refined, luxury-level smoothness in movement.
⑤ Works Across All Timeframes
From 1-minute scalping to daily/weekly macro trend analysis.
⑥ Excellent Real-Trading Compatibility
Works extremely well when combined with ATR, SuperTrend, and volume-based indicators.
Indicator Manual (Required Section)
📌 Understanding the Core Concept
The indicator uses three EMAs (e.g., 20/50/100) arranged as a ribbon to analyze the structural alignment of the trend.
When the EMAs are cleanly aligned Top → Middle → Bottom, the market is in a bullish trend.
When aligned Bottom → Middle → Top, the market is in a bearish trend.
The indicator further evaluates the ribbon spread (gap) and the consistency of alignment to compute trend strength.
Noisy market conditions are shaded gray to clearly indicate “uncertain/indecisive” zones.
⚙️ Settings Description
Option Description
Fast EMA Most sensitive EMA; detects early trend signals
Mid EMA Stabilizes the primary trend direction
Slow EMA Defines the broader, long-term trend flow
Trend Lookback The period used to analyze trend strength
Noise Tolerance (%) Higher values = stronger noise removal
Smoothing Steps Controls how smooth the ribbon becomes
📈 Example Recognition
A bullish continuation/entry scenario forms when:
EMAs align in the order Fast → Mid → Slow (top side)
Ribbon color shifts into mint (strong bullish trend)
The ribbon begins to expand while price stays above the ribbon
📉 Example Recognition
A bearish continuation/entry occurs when:
EMAs align Fast → Mid → Slow (bottom side)
Ribbon color remains red
After contracting, the ribbon expands again during renewed downside strength
🧪 Recommended Usage
Combine with volume-based indicators (OBV, Volume Profile) → enhanced strong-trend detection
Use with SuperTrend or ATR Stop → clearer stop-loss placement
Combine with RSI/Stoch → avoid counter-trend entries in overheated conditions
Higher leverage traders should use higher tolerance settings
🔒 Cautions
EMA ribbons are trend-following tools; signals may weaken in ranging/sideways markets.
Never rely solely on this indicator—always confirm with volume, price patterns, or structure.
Very low Lookback values may cause excessive re-entry signals.
In high-volatility environments, ribbon spacing can contract/expand rapidly—use with caution.
ICT Key Levels: PDH / PDL / Daily Open//@version=5
indicator("ICT Key Levels: PDH / PDL / Daily Open", shorttitle="ICT Levels", overlay=true)
// --- Inputs
showPD = input.bool(true, "Mostrar PDH/PDL")
showOpen = input.bool(true, "Mostrar Daily Open")
pdhColor = input.color(color.new(color.green, 0), "Color PDH")
pdlColor = input.color(color.new(color.red, 0), "Color PDL")
openColor = input.color(color.new(color.orange, 0), "Color Daily Open")
lineWidth = input.int(1, "Ancho líneas", minval=1, maxval=4)
// --- Previous day high / low (using daily security)
pdh = request.security(syminfo.tickerid, "D", high )
pdl = request.security(syminfo.tickerid, "D", low )
// --- Daily open (current day's open on Daily timeframe)
dailyOpen = request.security(syminfo.tickerid, "D", open)
// --- Plots
plot(showPD and not na(pdh) ? pdh : na, title="PDH", color=pdhColor, linewidth=lineWidth, style=plot.style_line)
plot(showPD and not na(pdl) ? pdl : na, title="PDL", color=pdlColor, linewidth=lineWidth, style=plot.style_line)
plot(showOpen and not na(dailyOpen) ? dailyOpen : na, title="Daily Open", color=openColor, linewidth=lineWidth, style=plot.style_line)
// --- Optional: etiquetas en inicio de día (solo en la primera barra diaria)
isNewDay = ta.change(time("D"))
labelNewDayOpen = input.bool(true, "Mostrar etiqueta en apertura diaria")
if labelNewDayOpen and isNewDay
label.new(bar_index, dailyOpen, text="Open", style=label.style_label_down, color=color.new(openColor,50), textcolor=color.black, yloc=yloc.price)
My script//@version=5
indicator("LTF Multi-Condition BUY Signal (v5 clean)", overlay=true, max_labels_count=100, max_lines_count=100)
// ───────────────── INPUTS ─────────────────
pivot_len = input.int(4, "Pivot sensitivity (structure)", minval=2, maxval=12)
range_len = input.int(20, "Range lookback for breakout", minval=5)
htf_tf = input.timeframe("480", "HTF timeframe (8H+)")
reclaim_window = input.int(5, "Reclaim window (bars)", minval=1)
ema_fast_len = input.int(9, "EMA fast length")
ema_slow_len = input.int(21, "EMA slow length")
rsi_len = input.int(14, "RSI length")
rsi_pivot_len = input.int(4, "RSI pivot sensitivity")
rsi_div_lookback = input.int(30, "RSI divergence max lookback (bars)")
daily_vol_mult = input.float(1.0, "Daily volume vs SMA multiplier", step=0.1)
htf_vol_sma_len = input.int(20, "HTF volume SMA length")
require_reclaim = input.bool(true, "Require HTF reclaim")
use_aggressive_HL = input.bool(false, "Aggressive HL detection")
// ───────────────── BASE INDICATORS ─────────────────
emaFast = ta.ema(close, ema_fast_len)
emaSlow = ta.ema(close, ema_slow_len)
rsiVal = ta.rsi(close, rsi_len)
// ───────────────── DAILY CHECKS (VOLUME & OBV) ─────────────────
// Daily OBV and previous value
daily_obv = request.security(syminfo.tickerid, "D",
ta.cum(ta.change(close) > 0 ? volume : ta.change(close) < 0 ? -volume : 0))
daily_obv_prev = request.security(syminfo.tickerid, "D",
ta.cum(ta.change(close) > 0 ? volume : ta.change(close) < 0 ? -volume : 0) )
// Daily volume & SMA
daily_vol = request.security(syminfo.tickerid, "D", volume)
daily_vol_sma = request.security(syminfo.tickerid, "D", ta.sma(volume, 20))
daily_vol_ok = not na(daily_vol) and not na(daily_vol_sma) and daily_vol > daily_vol_sma * daily_vol_mult
daily_obv_ok = not na(daily_obv) and not na(daily_obv_prev) and daily_obv > daily_obv_prev
// ───────────────── HTF SUPPORT / RECLAIM ─────────────────
htf_high = request.security(syminfo.tickerid, htf_tf, high)
htf_low = request.security(syminfo.tickerid, htf_tf, low)
htf_close = request.security(syminfo.tickerid, htf_tf, close)
htf_volume = request.security(syminfo.tickerid, htf_tf, volume)
htf_vol_sma = request.security(syminfo.tickerid, htf_tf, ta.sma(volume, htf_vol_sma_len))
htf_bull_reject = not na(htf_high) and not na(htf_low) and not na(htf_close) and (htf_close - htf_low) > (htf_high - htf_close)
htf_vol_confirm = not na(htf_volume) and not na(htf_vol_sma) and htf_volume > htf_vol_sma
htf_support_level = (htf_bull_reject and htf_vol_confirm) ? htf_low : na
// Reclaim: LTF close back above HTF support within N bars
reclaimed_now = not na(htf_support_level) and close > htf_support_level and ta.barssince(close <= htf_support_level) <= reclaim_window
htf_reclaim_ok = require_reclaim ? reclaimed_now : true
// ───────────────── STRUCTURE: BOS & HL (CoC) ─────────────────
swingHighVal = ta.pivothigh(high, pivot_len, pivot_len)
swingLowVal = ta.pivotlow(low, pivot_len, pivot_len)
swingHighCond = not na(swingHighVal)
swingLowCond = not na(swingLowVal)
lastSwingHigh = ta.valuewhen(swingHighCond, swingHighVal, 0)
prevSwingHigh = ta.valuewhen(swingHighCond, swingHighVal, 1)
lastSwingLow = ta.valuewhen(swingLowCond, swingLowVal, 0)
prevSwingLow = ta.valuewhen(swingLowCond, swingLowVal, 1)
bos_bull = not na(prevSwingHigh) and close > prevSwingHigh
hl_confirm = not na(lastSwingLow) and not na(prevSwingLow) and lastSwingLow > prevSwingLow and ta.barssince(swingLowCond) <= 30
if use_aggressive_HL
hl_confirm := hl_confirm or (low > low and ta.barssince(swingLowCond) <= 12)
// ───────────────── RSI BULLISH DIVERGENCE ─────────────────
rsiLowVal = ta.pivotlow(rsiVal, rsi_pivot_len, rsi_pivot_len)
rsiLowCond = not na(rsiLowVal)
priceAtRsiLowA = ta.valuewhen(rsiLowCond, low , 0)
priceAtRsiLowB = ta.valuewhen(rsiLowCond, low , 1)
rsiLowA = ta.valuewhen(rsiLowCond, rsiVal , 0)
rsiLowB = ta.valuewhen(rsiLowCond, rsiVal , 1)
rsi_div_ok = not na(priceAtRsiLowA) and not na(priceAtRsiLowB) and not na(rsiLowA) and not na(rsiLowB) and
(priceAtRsiLowA < priceAtRsiLowB) and (rsiLowA > rsiLowB) and ta.barssince(rsiLowCond) <= rsi_div_lookback
// ───────────────── RANGE BREAKOUT ─────────────────
range_high = ta.highest(high, range_len)
range_breakout = ta.crossover(close, range_high)
// ───────────────── EMA CROSS / TREND ─────────────────
ema_cross_happened = ta.crossover(emaFast, emaSlow)
ema_trend_ok = emaFast > emaSlow
// ───────────────── FINAL BUY CONDITION ─────────────────
all_price_checks = bos_bull and hl_confirm and rsi_div_ok and range_breakout
all_filter_checks = ema_trend_ok and ema_cross_happened and daily_vol_ok and daily_obv_ok and htf_reclaim_ok
buy_condition = all_price_checks and all_filter_checks
// ───────────────── PLOTS & ALERT ─────────────────
plotshape(
buy_condition,
title = "BUY Signal",
location = location.belowbar,
style = shape.labelup,
text = "BUY",
textcolor = color.white,
color = color.green,
size = size.small)
plot(htf_support_level, title="HTF Support", color=color.new(color.green, 0), linewidth=2, style=plot.style_linebr)
alertcondition(buy_condition, title="LTF BUY Signal", message="LTF BUY Signal on {{ticker}} ({{interval}}) — all conditions met")
ORB indicatorthis indicator marks out the first 15 min high and low on the candle that opens in each session, very easy to read and minimalist
Regime [CHE] Regime — Minimal HTF MACD histogram regime marker with a simple rising versus falling state.
Summary
Regime is a lightweight overlay that turns a higher-timeframe-style MACD histogram condition into a simple regime marker on your chart. It queries an imported core module to determine whether the histogram is rising and then paints a consistent marker color based on that boolean state. The output is intentionally minimal: no lines, no panels, no extra smoothing visuals, just a repeated marker that reflects the current regime. This makes it useful as a quick context filter for other signals rather than a standalone system.
Motivation: Why this design?
A common problem in discretionary and systematic workflows is clutter and over-interpretation. Many regime tools draw multiple plots, which can distract from price structure. This script reduces the regime idea to one stable question: is the MACD histogram rising under a given preset and smoothing length. The core logic is delegated to a shared module to keep the indicator thin and consistent across scripts that rely on the same definition.
What’s different vs. standard approaches?
Reference baseline: A standard MACD histogram plotted in a separate pane with manual interpretation.
Architecture differences:
Uses a shared library call for the regime decision, rather than re-implementing MACD logic locally.
Uses a single boolean output to drive marker color, rather than plotting histogram bars.
Uses fixed marker placement at the bottom of the chart for consistent visibility.
Practical effect:
You get a persistent “context layer” on price without dedicating a separate pane or reading histogram amplitude. The chart shows state, not magnitude.
How it works (technical)
1. The script imports `chervolino/CoreMACDHTF/2` and calls `core.is_hist_rising()` on each bar.
2. Inputs provide the source series, a preset string for MACD-style parameters, and a smoothing length used by the library function.
3. The library returns a boolean `rising` that represents whether the histogram is rising according to the library’s internal definition.
4. The script maps that boolean to a color: yellow when rising, blue otherwise.
5. A circle marker is plotted on every bar at the bottom of the chart, colored by the current regime state. Only the most recent five hundred bars are displayed to limit visual load.
Notes:
The exact internal calculation details of `core.is_hist_rising()` are not shown in this code. Any higher timeframe mechanics, security usage, or confirmation behavior are determined by the imported library. (Unknown)
Parameter Guide
Source — Selects the price series used by the library call — Default: close — Tips: Use close for consistency; alternate sources may shift regime changes.
Preset — Chooses parameter preset for the library’s MACD-style configuration — Default: 3,10,16 — Trade-offs: Faster presets tend to flip more often; slower presets tend to react later.
Smoothing Length — Controls smoothing used inside the library regime decision — Default: 21 — Bounds: minimum one — Trade-offs: Higher values typically reduce noise but can delay transitions. (Library behavior: Unknown)
Reading & Interpretation
Yellow markers indicate the library considers the histogram to be rising at that bar.
Blue markers indicate the library considers it not rising, which may include falling or flat conditions depending on the library definition. (Unknown)
Because markers repeat on every bar, focus on transitions from one color to the other as regime changes.
This tool is best read as context: it does not express strength, only direction of change as defined by the library.
Practical Workflows & Combinations
Trend following:
Use yellow as a condition to allow long-side entries and blue as a condition to allow short-side entries, then trigger entries with your primary setup such as structure breaks or pullback patterns. (Optional)
Exits and stops:
Consider tightening management after a color transition against your position direction, but do not treat a single flip as an exit signal without price-based confirmation. (Optional)
Multi-asset and multi-timeframe:
Keep `Source` consistent across assets.
Use the slower preset when instruments are noisy, and the faster preset when you need earlier context shifts. The best transferability depends on the imported library’s behavior. (Unknown)
Behavior, Constraints & Performance
Repaint and confirmation:
This script itself uses no forward-looking indexing and no explicit closed-bar gating. It evaluates on every bar update.
Any repaint or confirmation behavior may come from the imported library. If the library uses higher timeframe data, intrabar updates can change the state until the higher timeframe bar closes. (Unknown)
security and HTF:
Not visible here. The library name suggests HTF behavior, but the implementation is not shown. Treat this as potentially higher-timeframe-driven unless you confirm the library source. (Unknown)
Resources:
No loops, no arrays, no heavy objects. The plotting is one marker series with a five hundred bar display window.
Known limits:
This indicator does not convey histogram magnitude, divergence, or volatility context.
A binary regime can flip in choppy phases depending on preset and smoothing.
Sensible Defaults & Quick Tuning
Starting point:
Source: close
Preset: 3,10,16
Smoothing Length: 21
Tuning recipes:
Too many flips: choose the slower preset and increase smoothing length.
Too sluggish: choose the faster preset and reduce smoothing length.
Regime changes feel misaligned with your entries: keep the preset, switch the source back to close, and tune smoothing length in small steps.
What this indicator is—and isn’t
This is a minimal regime visualization and a context filter. It is not a complete trading system, not a risk model, and not a prediction engine. Use it together with price structure, execution rules, and position management. The regime definition depends on the imported library, so validate it against your market and timeframe before relying on it.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
MACD HTF Hardcoded
CHPY vs Semiconductor Sector Comparison//@version=5
indicator("CHPY vs Semiconductor Sector Comparison", overlay=false, timeframe="W")
// CHPY
chpy = request.security("CHPY", "W", close)
plot((chpy/chpy -1)*100, color=color.new(color.blue,0), title="CHPY")
// SOXX (Semiconductor Index ETF)
soxx = request.security("SOXX", "W", close)
plot((soxx/soxx -1)*100, color=color.new(color.red,0), title="SOXX")
// SMH (Semiconductor ETF)
smh = request.security("SMH", "W", close)
plot((smh/smh -1)*100, color=color.new(color.green,0), title="SMH")
// NVDA
nvda = request.security("NVDA", "W", close)
plot((nvda/nvda -1)*100, color=color.new(color.orange,0), title="NVDA")
// AVGO
avgo = request.security("AVGO", "W", close)
plot((avgo/avgo -1)*100, color=color.new(color.purple,0), title="AVGO")
1 PM IST MarkerThis lightweight Pine Script indicator automatically marks 1:00 PM IST on intraday charts, regardless of the chart’s timezone. It extracts the date from each bar and generates a precise timestamp for 13:00 in the Asia/Kolkata timezone. When a bar matches this time, the script draws a vertical red line across the chart and adds a small label for easy visual reference.
The tool is useful for traders who track mid-session behavior, monitor liquidity shifts, or analyze post-lunch volatility patterns in Indian markets. It works on all intraday timeframes and require
NIFTY, SENSEX AND BANKNIFTY Options Expiry MarkerNSE Options Expiry Background Marker
Category: Date/Time Indicators
Timeframe: Daily
Markets: NSE (India) / Any Exchange
Description
Automatically highlights weekly and monthly options expiry days for NIFTY, BANKNIFTY, and SENSEX using color-coded background shading. Works across entire chart history with customizable transparency levels.
Key Features
✅ Background Highlighting - Non-intrusive color shading on expiry days
✅ Multi-Index Support - NIFTY, BANKNIFTY, and SENSEX simultaneously
✅ Weekly & Monthly Expiry - Different transparency levels for easy distinction
✅ Customizable Expiry Days - Set any weekday (Mon-Fri) as expiry day
✅ Adjustable Transparency - Separate controls for weekly and monthly expiries
✅ Full Historical Data - Works on all visible bars across years
✅ Smart Monthly Detection - Automatically identifies last occurrence in month
✅ Color Coded - Blue (NIFTY), Red (BANKNIFTY), Green (SENSEX)
Use Cases
Options trading strategy planning
Identify expiry day volatility patterns
Visual reference for monthly vs weekly cycles
Backtest strategies around expiry days
Track multiple index expiries on single chart
Technical Details
Uses India timezone (GMT+5:30) for accurate date calculations
Handles leap years automatically
Smart algorithm identifies last weekday occurrence per month
Works seamlessly on any chart timeframe (optimized for Daily)
No performance impact - simple background coloring
Kai GoNoGo 2mKai GoNoGo 2m is a multi-factor trend confirmation system designed for fast intraday trading on the 2-minute chart.
It combines EMAs, MACD, RSI and ADX through a weighted scoring model to generate clear Go / NoGo conditions for both CALL (long) and PUT (short) setups.
The indicator paints the candles with pure colors to show the current strength of the trend:
Strong Go (Bright Blue): Full bullish alignment across EMAs, momentum and trend strength.
Weak Go (Light Blue): Bullish structure but with softer momentum.
Weak NoGo (Light Pink): Bearish structure starting to develop.
Strong NoGo (Bright Pink): Full bearish alignment across all components.
Neutral (Gray): No trend, compression or transition phase.
Components included:
EMA Trend Structure (9/21/50/100/200)
MACD Momentum (12-26-9)
RSI Confirmation (14)
ADX Trend Strength Filter via DMI (14,14)
Scoring system inspired by the original GoNoGo concept, improved for speed-based trading.
Designed for:
Scalping, 0DTE options, FAST trend continuation entries, and momentum confirmation on QQQ, SPY, NQ, ES and high-beta names.
This version uses pure colors (no gradients) for maximum clarity when trading fast charts.
M30-H1It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
經典-M30-H1時間框架indicator("經典-M30-H1時間框架", overlay = true, max_lines_count = 500)
//------------------------------------------------------
// ★★ 水平(模式)★★
//------------------------------------------------------
useClassic = input.bool(true, "經典水平", group = "水平")
useBreakout = input.bool(false, "突破水平", group = "水平")
Key Levels by ROMKey Levels Pro — Long Description
Key Levels Pro is a precision-built market structure indicator designed to instantly identify the most influential price zones driving intraday and swing-level movement. Using adaptive algorithms that track liquidity pockets, volume concentration, volatility shifts, and historical reaction points, the indicator automatically plots dynamic support and resistance levels that institutions consistently respect.
Unlike static horizontal lines or manually drawn zones, Key Levels Pro continuously updates as new order-flow and volatility data comes in. This ensures the indicator reflects the real-time balance of buyers and sellers, not outdated swing points.
The system classifies levels by strength, frequency of reaction, and current market interest. This helps traders instantly see which levels are likely to produce continuation, reversals, or liquidity grabs. High-probability zones are clearly highlighted, allowing you to plan entries, scale-outs, stop placements, and invalidations with confidence.
Whether you trade futures, equities, crypto, or forex, Key Levels Pro becomes the backbone of your strategy. It simplifies complex price action into clean, actionable zones—and makes it easy to anticipate where momentum pauses, accelerates, or completely shifts.
Gold Key Level LinesOverview
Gold Horizontal Lines is a visual grid tool that draws automatic horizontal levels around the current price. It’s designed for symbols like Gold (XAUUSD), but works on any market and timeframe.
What It Does
Draws main, mid, and quarter price levels based on user-defined intervals (e.g. 100 / 50 / 25).
Centers the grid around the current close, above and below by a chosen number of levels.
Adds optional price labels to each line on the right side of the chart.
Deletes and redraws lines only on the last bar to keep the chart clean and efficient.
Inputs
Main Line Interval – distance between key levels (e.g. 100).
Mid / Quarter Intervals – optional extra levels between main lines (set to 0 to disable).
Colors, Styles, Widths – separate settings for main, mid, and quarter lines.
Show Price Labels – toggle labels on/off.
Number of Lines Above/Below Price – controls how far the grid extends.
TradingBee Money FlowTradingBee Money Flow
Most traders make the mistake of relying on a single indicator. RSI only looks at price. OBV only looks at volume. If you only look at one, you are missing half the picture.
TradingBee Money Flow solves this by calculating a weighted consensus of 10 different technical metrics combined into a single "Flow Score." It answers the most important question in trading: "Is the money actually backing up the price move?"
If Price goes UP, but this indicator goes DOWN, it’s a trap.
How It Works: The 3-Tier Logic
This script does not just average numbers; it weights them based on importance to creating a true "Composite Score" (-100 to +100).
Tier 1: Primary Volume Flow (50% Weight) The engine of the indicator. It measures raw capital entering/exiting.
MFI (Money Flow Index)
OBV Momentum (On-Balance Volume)
Chaikin Money Flow (CMF)
Tier 2: Secondary Momentum (35% Weight) Validates if the volume is actually moving price efficiently.
VWAP Oscillation
Accumulation/Distribution (A/D) Momentum
Klinger Oscillator
Elders Force Index
Tier 3: Confirmation & Volatility (15% Weight) Filters out fake-outs using volatility metrics.
RSI
ADX (Trend Strength)
Bollinger Band Width
The "Clean Divergence" Engine (Unique Feature)
Standard divergence indicators are "noisy"—they print signals on every small pivot. The TradingBee Money Flow uses a custom Clean Wave Filter to only identify high-probability reversals.
It requires two conditions to trigger a Divergence Signal:
The "Gap" Rule (Zero Cross): The indicator must cross the Zero Line in between two peaks. This ensures we are comparing two distinct waves of buying/selling, rather than just jagged noise in a single trend.
The "Shrinkage" Rule: The second wave must be significantly smaller (by a user-defined ratio) than the first. This confirms a true collapse in momentum.
How to Use This Indicator
1. The Histogram (Trend Following)
Bright Green: Buying pressure is accelerating. Strong Trend.
Dark Green: Buying is continuing, but momentum is slowing. Warning sign.
Bright Red: Selling pressure is accelerating.
Zero Line Cross: The definitive signal of a trend change.
2. The Lines (Reversal Trading)
🔴 Red Line (Bearish Divergence): Price made a Higher High, but Money Flow made a Lower High (with a gap in between). Smart money is selling into the rally. Look for Shorts.
🟢 Green Line (Bullish Divergence): Price made a Lower Low, but Money Flow made a Higher Low. Sellers are exhausted. Look for Longs.
Settings
Lookback Period: Adjusts the sensitivity of the composite score.
Pivot Lookback: Increases or decreases the strictness of the pivot detection.
Require Zero Cross: Keep checked for "Clean" signals. Uncheck to see standard divergences.
Wave Size Ratio: Defines how much smaller the second wave must be to trigger a signal.
Disclaimer: This tool provides market analysis but does not guarantee future results. Always manage your risk.
First day of NIFTY Monthly ExpiryAutomatically identifies and marks the first Wednesday that occurs after the last Tuesday of each calendar month on your charts. Designed specifically for NSE traders using Indian timezone (GMT+5:30). Automatically adjusts for market holidays by marking the next available trading day. Handles cases where the Wednesday falls in the following month (e.g., Sept 30 → Oct 1).
Dynamic Support & Resistance ZonesDynamic Support & Resistance Zones
Overview
This indicator automatically detects and visualizes dynamic support and resistance zones based on pivot point analysis. Unlike simple horizontal lines, these zones adapt to market volatility using ATR and track how many times price has respected each level—giving you a real-time strength score for every zone.
How It Works
The indicator identifies swing highs and lows using pivot detection, then creates zones around these price levels. Each zone is continuously monitored for:
Touches: Every time price enters the zone and reverses, the touch count increases
Strength: A 0-100% score based on touch count and recency (zones fade over time if untested)
Breaks: When price closes beyond the zone for consecutive bars, it's marked as broken and removed
Nearby zones of the same type automatically merge to reduce clutter, and only the strongest zones are displayed based on your settings.
Features
🎯 Smart Zone Detection
Pivot-based identification of key price levels
ATR-adaptive zone width (adjusts to volatility)
Automatic merging of overlapping zones
📊 Strength Scoring System
Each zone rated 0-100% based on touches + time decay
Stronger zones appear more opaque
Weak/old zones automatically removed
🔔 Built-in Alerts
Alert when price approaches a zone
Alert when price breaks through a zone
📋 Info Panel
Shows count of active resistance/support zones
Displays nearest S/R levels above and below current price
Settings
Detection Settings
Pivot Lookback Length - Higher values find stronger but fewer levels (default: 10)
Zone Width (%) - Width of each zone as % of price (default: 0.5%)
Max Zones to Display - Limits visual clutter (default: 8)
Merge Distance (%) - Zones within this % are combined (default: 1.0%)
Zone Strength
Min Touches for Valid Zone - Zones need this many touches to display (default: 2)
Strength Decay (bars) - How quickly zones lose strength over time (default: 100)
Break Confirmation Bars - Consecutive closes needed to confirm a break (default: 2)
Visual Settings
Customize resistance/support colors
Toggle labels and strength display
Option to extend zones into the future
How to Use
For Entries:
Look for confluence when price approaches a high-strength zone (70%+)
Zones with 3+ touches have historically acted as strong reversal points
Use the "approaching zone" alert to get notified before price reaches key levels
For Exits/Targets:
Set profit targets at the nearest resistance (for longs) or support (for shorts)
The info panel shows these levels in real-time
For Breakout Trading:
Watch for breaks of high-touch zones—these often lead to momentum moves
Use the "broke zone" alert to catch breakouts as they happen
Best Practices
On higher timeframes (4H, Daily): Use higher pivot lookback (15-20) for major levels
On lower timeframes (5m, 15m): Use lower pivot lookback (5-8) for scalping levels
For volatile assets: Increase zone width to 1-2%
For ranging markets: Lower min touches to 1 to see more potential levels
Notes
Zones are drawn from the time they were created, extending right
The indicator uses timestamps (not bar indices) so it works on any history length
Broken zones are automatically cleaned up to keep your chart clear
Tip: Combine with volume analysis or momentum indicators for confirmation before trading S/R levels.
If you find this indicator useful, please leave a comment with your feedback or suggestions for improvements!
Psychological Price Level GBPJPY (.250 / .750)This indicator is designed for GBPJPY traders who work with precision and smart-money-based analysis. It automatically plots psychological price levels at .250 and .750, which are known institutional reference points that often influence market structure, price reactions, and liquidity behavior. Unlike typical round-number indicators, this tool focuses specifically on quarter levels, which are frequently used by algorithms, banks, and experienced institutional traders.
Fixed and Reliable Levels
As price evolves, the levels update automatically and remain fixed on the chart without shifting when you scroll. This ensures that the levels always stay anchored to relevant market structure, making them reliable reference points for planning entries, targets, or stop placements.
Customization
The indicator allows full customization. You can freely adjust the line color, line thickness, and line style to match your personal trading chart layout. You can also choose whether lines extend left, right, or both directions, making the tool flexible enough to fit minimalist or highly marked-up workspaces.
Why These Levels Matter
In smart money trading approaches, the .250 and .750 levels often act as magnetic zones. Price frequently gravitates toward them to test liquidity or engineer traps before continuing its move. These levels may serve as rejection points, breakout confirmation zones, or take-profit areas depending on the broader context. Because they frequently align with order blocks, fair value gaps, and market structure shifts, they can add meaningful confluence to directional bias and trade timing.
Who Can Benefit
This tool is particularly useful for scalpers, day traders, and swing traders who base decisions on liquidity behavior and institutional logic. It works well on any timeframe and complements concepts such as premium and discount models, inefficiencies, fair value gaps, and volume imbalances. Many traders find that these price levels help them identify reactions earlier, refine entries, and improve confidence when executing trades.
Final Note
If this indicator supports your trading workflow, feel free to leave a comment or mark it as a favorite + give it a BOOST . Your feedback helps guide future improvements and ensures the tool continues evolving for serious GBPJPY traders.
Happy trading — and stay precise. 🚀📊






















