Open Long Extension gran Open – Long Extension Gran
This is a specialized overlay indicator designed for short-term and intraday trading, particularly effective on commodities (such as gold, crude oil) and indices like UK100. It automatically labels key price points from each 1-minute up to 30-minute bars candle directly on the chart, displaying:
The open price
The high of the candle
The low of the candle
(And in some cases) the close or other reference levels
These labels appear as small tags , anchored at the corresponding price levels, making it very easy to visually track where each new 1-minute bar opened relative to the previous candle's high, low, or close.
This creates a clear visual map of price extensions — showing how far price stretches beyond prior candle extremes in real time — which helps identify: potential breakout or extension moves (long or short) areas of rejection or absorption around prior highs/lows
momentum continuation or exhaustion in fast markets.
Göstergeler ve stratejiler
BTC Trend Pullback (EMA200+EMA20) w/ ATR 1:2 RRStrategy Overview: BTC Trend Pullback (EMA200+EMA20)This strategy is a trend-following mean reversion system designed to capture high-probability entries within an established market regime. It utilizes a "dual-filter" approach: identifying the long-term trend while waiting for a short-term "cooldown" (pullback) before entering on a momentum confirmation signal.1. Trend Identification & FilteringThe strategy establishes market direction using the 200-period Exponential Moving Average (EMA).Bullish Regime: Price must be trading above the 200 EMA.Bearish Regime: Price must be trading below the 200 EMA.ADX Filter (Optional): To avoid "choppy" or sideways markets, an Average Directional Index (ADX) filter ensures that the trend has sufficient strength (typically $> 20$) before any trades are considered.2. The Pullback (Mean Reversion)Rather than chasing a breakout, this strategy waits for price to return to its "value zone"—the 20-period EMA.The script offers two modes for the pullback:Touch: A conservative entry where the candle wick merely taps the 20 EMA.Close Beyond: A more aggressive entry where the price must close on the opposite side of the 20 EMA, suggesting a deeper retracement.3. Execution via ConfirmationTo prevent "catching a falling knife," a trade is only triggered when price shows signs of resuming the primary trend. The user can select from:Bullish/Bearish Engulfing: A classic price action pattern where the current candle "swallows" the previous candle's body.Strong Close: A candle that closes in the top or bottom 40% of its total range (indicating high directional conviction).4. Risk Management (1:2 Reward-to-Risk)The strategy employs an Average True Range (ATR) based exit system to adapt to market volatility.Stop Loss (SL): Placed at $1.0 \times \text{ATR}$ from the entry price.Take Profit (TP): Placed at $2.0 \times \text{ATR}$ from the entry price.By using ATR, the strategy "breathes" with the market; stops are wider during high volatility and tighter during low volatility, maintaining a mathematically consistent 1:2 Reward-to-Risk ratio.
Relative Strength Table (Spring)This indicator helps traders quickly understand the relative strength of different groups and different stocks.
SMART TRADER Institutional Trend Engine ITESMART TRADER – Institutional Trend Engine (ITE)
Author: Jonathan Mwendwa Ndunge
Description:
The SMART TRADER Institutional Trend Engine (ITE) is a hedge-fund-grade trading indicator designed to identify high-probability trend continuation and reversal opportunities using Smart Money Concepts. It combines multi-timeframe Donchian Channel trend analysis, Change of Character (CHOCH) detection, Order Block (OB) validation, and Liquidity Sweep detection to filter only the most reliable market conditions.
Key Features:
Multi-Timeframe Trend Alignment:
HTF (2H) determines the overall market regime.
MTF (1H) confirms alignment across three Donchian channel periods (fast, medium, slow) to ensure structural consistency.
Refined CHOCH Logic:
Detects genuine shifts in market structure using recent swing highs and lows.
Bullish or bearish CHOCH is only confirmed when HTF and MTF trends align, reducing false signals.
Order Block Confirmation:
Validates institutional supply and demand zones before execution.
Detects bullish and bearish order blocks using historical lows/highs in open prices.
Liquidity Sweep Validation:
Identifies liquidity sweeps beyond recent highs or lows, ensuring entry in areas where institutions likely trigger orders.
Execution-Level Discipline:
Signals only trigger when all conditions are met: trend alignment, CHOCH, order block, and liquidity sweep.
Visual labels mark bullish and bearish execution zones directly on the chart.
Dashboard Overview:
Displays HTF regime, 1H alignment, and execution status for quick decision-making.
Use Case:
Ideal for day trading and short-term swing trading.
Works best when combined with proper risk-to-reward management (e.g., 1:2 RR).
Designed to reduce noise and enhance the probability of success by replicating institutional-style trade execution.
kalp 2trPeriodPrimary = input.int(18, 'Primary ST ATR Period', group="SuperTrend")
multiplierPrimary = input.float(4.0, 'Primary ST Multiplier', group="SuperTrend")
atrPeriodSecondary = input.int(9, 'Secondary ST ATR Period', group="SuperTrend")
multiplierSecondary = input.float(2.0, 'Secondary ST Multiplier', group="SuperTrend")
atrPeriodTertiary = input.int(12, 'Tertiary ST ATR Period', group="SuperTrend")
multiplierTertiary = input.float(3.0, 'Tertiary ST Multiplier', group="SuperTrend")
// MACD Group
fastLength = input.int(24, 'MACD Fast Length', group="MACD")
slowLength = input.int(52, 'MACD Slow Length', group="MACD")
signalLength = input.int(9, 'MACD Signal Smoothing', group="MACD")
// EMA Group
tfEMA = input.timeframe("60", "EMA Timeframe (Global)", group="EMAs")
ema1Len = input.int(9, 'EMA 1 Length', group="EMAs")
ema2Len = input.int(21, 'EMA 2 Length', group="EMAs")
ema3Len = input.int(27, 'EMA 3 Length', group="EMAs")
ema4Len = input.int(50, 'EMA 4 Length', group="EMAs")
ema5Len = input.int(100, 'EMA 5 Length', group="EMAs")
ema6Len = input.int(150, 'EMA 6 Length', group="EMAs")
ema7Len = input.int(200, 'EMA 7 Length', group="EMAs")
// Visuals & ORB Group
showVwap = input.bool(true, 'Show VWAP?', group="Visuals")
showORB = input.bool(true, "Show ORB (Current Day Only)", group="ORB Settings")
orbTime = input.string("0930-1000", "ORB Time Range", group="ORB Settings")
orbTargetMult1 = input.float(1.0, "Target 1 Mult", group="ORB Settings")
Quantum Trend Flow Pro (QTF+) - Ribbon & LabelsQuantum Trend Flow Pro (QTF+) – Ribbon Edition
Author: Jonathan Mwendwa Ndunge
Overview:
Quantum Trend Flow Pro (QTF+) Ribbon is a professional-grade multi-timeframe trend indicator designed for day traders and swing traders who follow Smart Money Concepts (SMC) and price action strategies. The indicator visualizes market trend strength and probability of bullish or bearish continuation through a dynamic confidence ribbon, while leaving the main chart fully visible for price action analysis.
Key Features:
Multi-Timeframe Trend Alignment:
Computes trend scores across HTF (4H), MTF (1H), and LTF (15M) using Donchian Channels (fast, mid, slow).
Scores trends to provide a quantitative confidence metric.
Confidence Ribbon (Subpane):
Displays bullish (green) and bearish (red) probabilities as a dynamic ribbon histogram.
Neutral line at 50 helps visually identify market balance.
Ribbon is scaled in its own pane so candles remain fully visible, keeping chart clean and professional.
Volatility Filter:
Uses ATR to avoid low-volatility periods that produce choppy signals.
Execution Potential:
Can be combined with CHOCH, Order Block, and Liquidity Sweep scripts to identify high-confidence trade setups.
Professional Display:
Ribbon in a separate pane mimics hedge fund dashboard style, giving traders a quick visual of trend strength without cluttering the price chart.
Usage Notes:
Ideal for day trading and short-term swing trading.
Use in conjunction with execution labels for entries.
Adjust Donchian lengths and confidence threshold to match market behavior and risk tolerance.
Can be applied to multiple instruments for scanning or dashboard setups.
Goal:
Provide a high-confidence, professional visualization of trend strength, combining smart money concepts and multi-timeframe analysis.
Keep the chart clean, readable, and suitable for institutional-style decision-making.
Triple ST + MACD + 7x MTF EMA + VWAP + ORB + Lux Pivots + AMA//@version=6
indicator('Triple ST + MACD + 7x MTF EMA + VWAP + ORB + Lux Pivots + AMA', overlay = true, max_labels_count = 500)
//━━━━━━━━━━━━━━━━━━━
// INPUTS
//━━━━━━━━━━━━━━━━━━━
// AMA Signals Group (Zeiierman Style)
showAMA = input.bool(true, "Show AMA Signals", group="AMA Signals")
amaLength = input.int(10, "AMA Length", group="AMA Signals")
amaFast = input.int(2, "AMA Fast Period", group="AMA Signals")
amaSlow = input.int(30, "AMA Slow Period", group="AMA Signals")
// SuperTrend Group
atrPeriodPrimary = input.int(18, 'Primary ST ATR Period', group="SuperTrend")
multiplierPrimary = input.float(4.0, 'Primary ST Multiplier', group="SuperTrend")
// MACD Group
fastLength = input.int(24, 'MACD Fast Length', group="MACD")
slowLength = input.int(52, 'MACD Slow Length', group="MACD")
signalLength = input.int(9, 'MACD Signal Smoothing', group="MACD")
// EMA Group
tfEMA = input.timeframe("60", "EMA Timeframe (Global)", group="EMAs")
ema1Len = input.int(9, 'EMA 1 Length', group="EMAs"), ema2Len = input.int(21, 'EMA 2 Length', group="EMAs")
ema3Len = input.int(27, 'EMA 3 Length', group="EMAs"), ema4Len = input.int(50, 'EMA 4 Length', group="EMAs")
ema5Len = input.int(100, 'EMA 5 Length', group="EMAs"), ema6Len = input.int(150, 'EMA 6 Length', group="EMAs")
ema7Len = input.int(200, 'EMA 7 Length', group="EMAs")
// LuxAlgo Style Pivots (50 Lookback)
showPivots = input.bool(true, "Show Pivot High/Low", group="LuxAlgo Pivots")
pivotLen = input.int(50, "Pivot Lookback", group="LuxAlgo Pivots")
showMissed = input.bool(true, "Show Missed Reversal Levels", group="LuxAlgo Pivots")
// Previous OHLC Group
showPrevOHLC = input.bool(true, "Show Previous Day OHLC?", group="Previous OHLC")
// Visuals & ORB Group
showVwap = input.bool(true, 'Show VWAP?', group="Visuals")
showORB = input.bool(true, "Show ORB", group="ORB Settings")
orbTime = input.string("0930-1000", "ORB Time Range", group="ORB Settings")
//━━━━━━━━━━━━━━━━━━━
// CALCULATIONS
//━━━━━━━━━━━━━━━━━━━
// 1. AMA Calculation (Zeiierman Logic)
fastAlpha = 2.0 / (amaFast + 1)
slowAlpha = 2.0 / (amaSlow + 1)
efficiencyRatio = math.sum(math.abs(close - close ), amaLength) != 0 ? math.abs(close - close ) / math.sum(math.abs(close - close ), amaLength) : 0
scaledAlpha = math.pow(efficiencyRatio * (fastAlpha - slowAlpha) + slowAlpha, 2)
var float amaValue = na
amaValue := na(amaValue ) ? close : amaValue + scaledAlpha * (close - amaValue )
// 2. Pivot Points & Missed Reversals (RECTIFIED: Bool Fix)
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
var float lastMissedHigh = na
var float lastMissedLow = na
if not na(ph)
lastMissedHigh := ph
if not na(pl)
lastMissedLow := pl
// 3. Custom SuperTrend Function (RECTIFIED: Parenthesis Fix)
f_supertrend(_atrLen, _mult) =>
atr_ = ta.atr(_atrLen)
upperBasic = hl2 + _mult * atr_
lowerBasic = hl2 - _mult * atr_
var float upperFinal = na
var float lowerFinal = na
upperFinal := na(upperFinal ) ? upperBasic : (upperBasic < upperFinal or close > upperFinal ? upperBasic : upperFinal )
lowerFinal := na(lowerFinal ) ? lowerBasic : (lowerBasic > lowerFinal or close < lowerFinal ? lowerBasic : lowerFinal )
var int dir = 1
if not barstate.isfirst
dir := dir
if dir == 1 and close < lowerFinal
dir := -1
else if dir == -1 and close > upperFinal
dir := 1
= f_supertrend(atrPeriodPrimary, multiplierPrimary)
// 4. MACD & 7 MTF EMAs
macdLine = ta.ema(close, fastLength) - ta.ema(close, slowLength)
signal = ta.ema(macdLine, signalLength)
ema1 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema1Len), gaps = barmerge.gaps_on)
ema2 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema2Len), gaps = barmerge.gaps_on)
ema3 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema3Len), gaps = barmerge.gaps_on)
ema4 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema4Len), gaps = barmerge.gaps_on)
ema5 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema5Len), gaps = barmerge.gaps_on)
ema6 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema6Len), gaps = barmerge.gaps_on)
ema7 = request.security(syminfo.tickerid, tfEMA, ta.ema(close, ema7Len), gaps = barmerge.gaps_on)
// 5. ORB Logic
is_new_day = ta.change(time("D")) != 0
in_orb = not na(time(timeframe.period, orbTime))
var float orbHigh = na, var float orbLow = na
if is_new_day
orbHigh := na, orbLow := na
if in_orb
orbHigh := na(orbHigh) ? high : math.max(high, orbHigh)
orbLow := na(orbLow) ? low : math.min(low, orbLow)
//━━━━━━━━━━━━━━━━━━━
// PLOTTING
//━━━━━━━━━━━━━━━━━━━
// AMA Plots
plot(showAMA ? amaValue : na, "AMA Line", color=amaValue > amaValue ? color.lime : color.red, linewidth=2)
plotshape(showAMA and ta.crossover(amaValue, amaValue ), "AMA BUY", shape.labelup, location.belowbar, color.lime, 0, "BUY", color.black, size=size.small)
plotshape(showAMA and ta.crossunder(amaValue, amaValue ), "AMA SELL", shape.labeldown, location.abovebar, color.red, 0, "SELL", color.white, size=size.small)
// Pivots
plotshape(showPivots ? ph : na, "PH", shape.labeldown, location.abovebar, color.red, -pivotLen, "PH", color.white)
plotshape(showPivots ? pl : na, "PL", shape.labelup, location.belowbar, color.green, -pivotLen, "PL", color.white)
// Missed Reversal Lines
var line hLine = na, var line lLine = na
if showMissed and barstate.islast
line.delete(hLine), line.delete(lLine)
hLine := line.new(bar_index - pivotLen, lastMissedHigh, bar_index + 10, lastMissedHigh, color=color.new(color.red, 50), style=line.style_dashed)
lLine := line.new(bar_index - pivotLen, lastMissedLow, bar_index + 10, lastMissedLow, color=color.new(color.green, 50), style=line.style_dashed)
// Previous Day OHLC
= request.security(syminfo.tickerid, "D", [high , low ], lookahead=barmerge.lookahead_on)
plot(showPrevOHLC ? pdH : na, "PDH", color.gray, style=plot.style_stepline)
plot(showPrevOHLC ? pdL : na, "PDL", color.gray, style=plot.style_stepline)
// 7 EMAs & VWAP
plot(ema1, "E1", color.new(color.white, 50)), plot(ema7, "E7", color.new(color.gray, 50))
plot(showVwap ? ta.vwap : na, "VWAP", color.orange, 2)
plot(stPrimary, 'Primary ST', dirPrimary == 1 ? color.green : color.red, 2)
// MACD (RECTIFIED: Named arguments)
plotshape(ta.crossover(macdLine, signal), title="MACD+", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(ta.crossunder(macdLine, signal), title="MACD-", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Global Trend Background
bgcolor(dirPrimary == 1 ? color.new(color.green, 97) : color.new(color.red, 97))
Reliable 4H EST Candle Marker (All Timeframes)plots out 4 hour candle if you trying to mark out 2am, 6am, 10am etc
Step Generalized Moving Average [BackQuant]Step Generalized Moving Average
Overview
Step Generalized Moving Average (StepGMA) is a trend-structure moving average designed to solve two common problems with classic MAs:
They overreact to noise in chop, causing constant micro-flips.
They lag too much when you smooth them enough to stop that noise.
StepGMA tackles this by combining two layers:
A Generalized Moving Average (GMA) that increases responsiveness without simply shortening length.
A Step Filter that converts the MA into discrete “steps” sized by ATR, suppressing insignificant movement and only updating when the move is meaningful.
The output is a trend line that behaves more like market structure: it holds its level through noise, then “reprices” in chunks when volatility-adjusted movement is large enough.
What the indicator is trying to represent
Instead of showing every tiny MA wiggle, StepGMA tries to represent the idea that:
Most price movement is noise relative to volatility.
Trend only matters when it advances by a meaningful amount.
A good trend line should stay stable until the market forces it to move.
That makes this indicator useful as:
A regime filter (trend vs chop).
A trend-following bias line.
A structure-like dynamic S/R reference.
A signal generator with fewer low-quality flips.
Component 1: Moving Average engine (selectable)
The base smoothing is not fixed. You can choose between multiple MA types:
SMA, EMA, WMA, VWMA: classic smoothing families.
DEMA, TEMA: reduced-lag EMA variants.
T3: smooth yet responsive, good for trend.
HMA: very low lag, can be twitchy without filtering.
ALMA: center-weighted smoothing, often “cleaner” visually.
KAMA: adaptive smoothing based on efficiency ratio, good in mixed regimes.
LSMA: regression-based, tends to track trend direction well.
McGinley: dynamic smoothing designed to reduce lag during fast moves.
This matters because the StepGMA is not “one MA.” It is a framework that lets you pick the underlying smoothing behavior, then applies the generalization and step logic on top.
Component 2: Generalized Moving Average (GMA)
Where the idea comes from
Generalized MA here is essentially a form of two-stage smoothing compensation . A common trick in signal processing and technical analysis is:
Apply a smoother once (MA1).
Apply it again (MA2).
Use MA2 as a “lag reference,” then combine MA1 and MA2 to reduce lag while keeping smoothness.
This is related in spirit to reduced-lag filters (like DEMA/TEMA) and “zero-lag” style constructions that subtract part of the lag component. You are not magically removing lag, you are biasing the output toward the first-pass MA while subtracting some of the second-pass smoothing that represents delayed response.
How this script does it
It computes:
ma1 = MA(src, len)
ma2 = MA(ma1, len)
Then combines them using a volume factor (vf):
generalized = ma1 * (1 + vf) - ma2 * vf
Interpretation:
ma2 is a “more delayed” version of ma1.
Subtracting vf * ma2 and adding (1+vf) * ma1 pushes the output toward responsiveness.
vf controls how aggressive that push is.
Volume Factor (vf) is really an aggressiveness knob
The script clamps vf between 0.01 and 1.0 to keep it stable. Conceptually:
Low vf: behaves closer to a normal MA1, smoother, more lag.
High vf: more compensation, faster response, more risk of overshoot or noise sensitivity (which is then handled by the step filter).
So the GMA stage tries to give you a cleaner, faster trend estimate without just shrinking the MA period.
Component 3: Step Filter (the key behavior)
What a step filter is
A step filter turns a continuous signal (here, the generalized MA) into a discrete “staircase” signal. Instead of updating every bar, it updates only when the input has moved far enough to justify a new step.
This is conceptually similar to:
A quantizer in signal processing (rounding changes to discrete increments).
A volatility threshold filter (ignore changes smaller than X).
Market structure logic where levels matter more than micro movement.
How it works in this script
The filter maintains a persistent value: stepped .
Each bar:
diff = src - stepped
If |diff| < stepSize, do nothing (hold the level).
If |diff| >= stepSize, move stepped by a number of step increments.
The step increment size is:
stepSize = (stepMult / 100) * ATR(atrPeriod)
This is critical:
In higher volatility, ATR is larger, so steps are larger, fewer updates, more stability.
In lower volatility, ATR is smaller, so steps are smaller, more updates, more sensitivity.
So the step behavior automatically adapts to volatility.
Multiple-step catching behavior
If price jumps far beyond one step, the script does not move only one step. It moves by:
floor(|diff| / stepSize) * stepSize
So it “catches up” in discrete blocks, preserving the stepped character without lagging massively after large moves.
Direction and regime
Direction is determined by the stepped line, not the raw MA:
direction = +1 if steppedMA is rising
direction = -1 if steppedMA is falling
otherwise direction stays the same
Signals only trigger on direction state changes:
Long when direction flips to +1
Short when direction flips to -1
This matters because it prevents repeated signals while the trend remains intact. You only get a signal when the market has moved enough (in ATR terms) to justify a structural step in the opposite direction.
Secondary line and gradient fill
The script also plots a secondary “slow MA” (length 25, same MA type). This is not the core logic, it is a visual context layer:
StepGMA is the structure line (discrete, regime-driven).
Slow MA is a smoother reference for the underlying drift.
The gradient fill highlights separation and dominance.
When StepGMA sits above the slow MA, the fill reinforces bullish bias. When below, it reinforces bearish bias. It is basically a “trend pressure” visual, not a separate signal.
How to interpret it
1) StepGMA as trend structure
Flat steps mean price is not making enough volatility-adjusted progress to move structure.
Up-steps mean the market has advanced enough to reprice the trend line upward.
Down-steps mean deterioration significant enough to reprice structure downward.
2) Direction is a regime, not a tick-by-tick call
Because direction is derived from step changes, it is naturally a regime filter:
Fewer flips in chop.
Clearer regime transitions.
Signals tend to occur later than ultra-fast tools, but with better confirmation quality.
3) Step size controls noise rejection
StepMult is the main “anti-chop” control:
Higher stepMult = bigger ATR steps = fewer updates, fewer signals, more confirmation, slower to react.
Lower stepMult = smaller steps = more updates, more signals, more sensitivity, more chop risk.
4) Generalization controls responsiveness of the underlying trend estimate
vf controls how “fast” the MA tries to be before stepping:
Higher vf makes the MA respond faster to new price information.
Lower vf makes the MA smoother and more conservative.
The step filter then decides whether that change is meaningful enough to matter.
Practical use cases
Trend filter for entries
Only take longs when direction is bullish.
Only take shorts when direction is bearish.
Avoid trades when StepGMA is flat for long periods, market is not repricing meaningfully.
Dynamic support and resistance
Because the line holds levels, it often behaves like structure:
In uptrends it can act as a rising support reference.
In downtrends it can act as falling resistance.
Signal quality layer
The step-based flip signals tend to be higher quality than basic MA crossovers because they require:
A meaningful volatility-adjusted move.
A confirmed direction change in the stepped trend structure.
Trade management
Use StepGMA as a trailing invalidation reference.
Use direction flips as “hard” regime exits.
Use separation vs slow MA as a “pressure” gauge for scaling decisions.
Tuning guidelines
MA Type
Pick based on the character you want:
T3, ALMA, KAMA are usually good defaults for clean trend representation.
HMA/LSMA are faster but may need larger stepMult to avoid twitch.
SMA is slow and stable but can be too laggy unless vf is increased.
MA Period
Sets the base smoothing horizon. Longer periods give “macro trend,” shorter periods give “tactical trend.”
Volume Factor (vf)
Sets responsiveness compensation:
0.05–0.25 is usually sensible.
Higher than that can get aggressive, step filter will save you, but your steps may fire more often.
ATR Period and StepMult
These define your structure sensitivity:
ATR Period controls how stable the volatility estimate is.
StepMult controls how large a move must be to change structure.
If you want fewer flips, increase StepMult or ATR Period. If you want quicker reaction, lower StepMult or ATR Period.
What this indicator is and is not
It is:
A trend structure MA that ignores sub-threshold noise.
A regime tool that uses volatility-adjusted repricing logic.
A configurable framework that works across assets and timeframes.
It is not:
A predictive reversal tool.
A scalping signal machine.
A replacement for risk management.
Summary
Step Generalized Moving Average combines a lag-compensated moving average (generalization via MA1/MA2 blending) with a volatility-scaled step filter (ATR-based quantization). The result is a stable, structure-like trend line that updates only when price movement is meaningful relative to volatility, producing cleaner regimes, fewer chop flips, and clearer trend bias than conventional moving averages.
Body/Tail RatioThis is a simple and great tool for filtering strong and weak bars based on their Body to Tail ratio.
It has three areas to show.
Weak when body percentage is below 30.
Mid to Strong when percentage is between 30-70.
Very Strong when percentage is above 70.
You can adjust the color for each section.
You can easily see where strong bars and weaker bars are. It can also be used for signal and entry bar filtering process.
Multi-Metric Valuation IndicatorMulti-Metric Valuation Indicator - Accumulation/Distribution Signal
This indicator combines six proven technical metrics into a single composite valuation score to help identify optimal accumulation and distribution zones for any asset. Built with the Mayer Multiple as its foundation, it provides a comprehensive view of whether an asset is overvalued or undervalued.
Core Components:
Mayer Multiple - Compares current price to 200-day moving average (traditional Bitcoin valuation metric)
RSI (Relative Strength Index) - Identifies overbought/oversold momentum conditions
Bollinger Band Position - Measures price location within volatility bands
50-Day MA Deviation - Tracks short-term trend strength
Rate of Change (ROC) - Captures momentum shifts
Volume Analysis - Confirms price moves with relative volume strength
How It Works:
Each metric is scored from -1 (extremely undervalued) to +1 (extremely overvalued) using granular thresholds. These scores are averaged into a composite valuation score that oscillates around zero:
< -0.4: Strong Accumulation Zone (dark green background)
-0.4 to -0.2: Accumulation Zone (light green background)
-0.2 to +0.2: Neutral Zone (gray background)
+0.2 to +0.4: Distribution Zone (light red background)
> +0.4: Strong Distribution Zone (dark red background)
Key Features:
Real-time scoring table displays all component values and their individual scores
Color-coded composite line (green = undervalued, red = overvalued)
Background shading for instant visual signal recognition
Built-in alerts for strong accumulation/distribution crossovers
Fully customizable inputs for all parameters
Clean, efficient code using ternary operators and one-line declarations
Best Use Cases:
Long-term position accumulation strategies
Identifying macro market tops and bottoms
Dollar-cost averaging entry/exit planning
Multi-timeframe confirmation (works on daily, weekly, monthly charts)
Risk management and position sizing decisions
Interpretation:
When the composite score drops below -0.4, multiple metrics simultaneously indicate undervaluation - a historically favorable accumulation opportunity. Conversely, scores above +0.4 suggest distribution may be prudent as multiple indicators flash overbought signals.
The indicator is most powerful when combined with fundamental analysis and proper risk management. It's designed to keep emotions in check during extreme market conditions.
Triple VWAP (RTH Anchored + 1D/2D Rolling) w/ Z-ScoreRolling & Anchored VWAP Hybrid
Description:
This indicator is designed for intraday traders (Futures, Crypto, Equities) who need to quickly identify market regimes by comparing session-specific value against multi-day rolling value.
Traditional VWAP indicators force you to choose between "Anchored" (RTH) or "Rolling" (24h). This script combines both into a single hybrid tool, allowing you to spot trend days, mean reversion opportunities, and "fair value" dislocations instantly.
Key Features:
1. Hybrid VWAP Engine
RTH Anchored VWAP (Orange): Anchors automatically at the session open (default 09:30 NY). This represents the "true" institutional fair value for the current active session, ignoring overnight noise.
1-Day Rolling VWAP (Blue): A continuous 24-hour rolling window. This represents the short-term memory of the market (overnight + RTH).
2-Day Rolling VWAP (Purple): A continuous 48-hour rolling window. This acts as a slower, higher-timeframe support/resistance level.
2. Market Regime Identification
By observing the relationship between these three lines, you can instantly define the regime:
Bull Trend: Price > RTH VWAP > 1D VWAP > 2D VWAP.
Bear Trend: Price < RTH VWAP < 1D VWAP < 2D VWAP.
Expansion: When RTH VWAP breaks away from the 1D/2D Rolling VWAPs.
Compression/Chop: When all three lines are flat and entangled.
3. Integrated Z-Score Matrix (Table)
A built-in heatmap table displays the real-time Z-Score (standard deviation distance) of the current price relative to the 1-Day and 2-Day Rolling VWAPs.
How to use:
High Z-Score (> 2.0): Price is statistically extended (expensive). Look for mean reversion or exhaustion.
Low Z-Score (< -2.0): Price is statistically cheap. Look for bounces.
Zero (0.0): Price is at equilibrium (Fair Value).
Settings & Customization:
Session Time: Fully customizable RTH session (default 09:30-16:00) and Timezone.
Bands: Optional standard deviation bands for the RTH VWAP to visualize volatility.
Alerts: Built-in alert conditions for Price crossing any VWAP and for VWAP crossovers (Golden/Death crosses of value).
EMA SMA LinesThis script draws 3 EMA lines and 2 SMA lines and each line has label attached to it. It is configurable.
EMA 5/9/21/50/200 + VWAP + Supertrend singhsinnerBest for Intraday and positional. no need to add other indicators. extremely strong trend price move with 5ema, for rentry see 21ema as support. 9 & 21 cross above for fresh entry n cross down for exit. 5ema for early entry
Quantum Trend Flow (QTF) - Jonathan Mwendwa NdungeQuantum Trend Flow (QTF)
Author: Jonathan Mwendwa Ndunge
Description:
Quantum Trend Flow (QTF) is a cutting-edge, institutional-grade trend analysis and execution indicator designed for day trading and short-term swing strategies. It leverages multi-timeframe trend analysis, probabilistic scoring, liquidity sweep detection, CHOCH (Change of Character), and Order Block confirmation to provide high-confidence trading opportunities.
Key Features:
Multi-Timeframe Trend Scoring:
Tracks 3 Donchian channels across HTF (4H), MTF (1H), and LTF (15M) to compute a trend probability score.
Scores the market bias dynamically for both bullish and bearish conditions.
Probability Ribbon:
Displays a gradient ribbon representing the likelihood of bullish vs bearish dominance (0–100%).
Green = bullish probability, Red = bearish probability, Yellow = neutral.
Smart Money Concept Validation:
Integrates CHOCH to identify genuine shifts in market structure.
Confirms entries using Order Blocks and Liquidity Sweeps, reflecting probable institutional activity.
Execution Logic:
Only triggers trades when probability exceeds the configurable threshold and all structural conditions align.
Labels on the chart indicate high-confidence bullish or bearish opportunities.
Dashboard Overview:
Summarizes HTF, MTF, and LTF trend scores along with execution readiness for quick decision-making.
Why QTF is Hedge-Fund Level:
Combines probabilistic trend scoring with smart money concepts for precision entries.
Fully non-repainting and deterministic for live and historical analysis.
Filters noise and highlights high-probability zones where institutional orders are likely to occur.
Multi-layered validation ensures trades are aligned with market structure, liquidity, and trend momentum.
Use Case:
Ideal for day traders and short-term swing traders who want a systematic, high-probability, institutional-style edge.
Can be combined with risk-to-reward strategies (e.g., RR 1:2) and proper money management.
ATR + ADX Expansion This script plots in real time a shorter period ATR compared to a longer period ATR allowing one to see if the market has above or below average volatility. This helps avoid choppy sideways markets.
Secondly, the table shows whether ADX is expanding above its signal line, or contracting below it's signal line further identifying a market in expansion or contraction.
Any set up must be deployed in a healthy market environment, this indicator measures core statistics in real time to allow you see at a glance what state the market is in.
bezgincan_BPA Integrated Market Analyzer (V6) -
Why?
This is an advanced oscillator powered by the v6 engine that combines the four main pillars of technical analysis —Volume, Trend, Volatility , and Momentum —into a single mathematical model. It eliminates chart clutter, allowing you to monitor market strength, speed, and saturation from a single panel.
Fourfold Analysis Logic:
Trend: Calculates the main direction and slope of the price using linear regression slope.
Momentum: Measures the strength of price movement using RSI-based normalized momentum data.
Volatility: Compares current volatility to historical averages via the ATR ratio.
Volume: By relating volume increases to momentum, it confirms the reality of the motion.
How to Use?
The display operates on a fixed, normalized scale between -100 and +100 :
Zero Line Intersections: When the BPA line crosses above 0 (Green Area) , it indicates increased buying pressure, and when it crosses below 0 (Red Area), it indicates increased selling pressure.
Extremes (Yellow Background): When the indicator rises above +70 or falls below -70 , it means the market is "overheated". These zones signal that the trend is exhausted and a correction (or profit-taking) may be imminent.
Signal Labels: The triangles on the chart represent zero-line intersections (trend reversal confirmation).
Why this indicator?
Normalized Scale: Unlike classic indicators, it always stays within the -100/+100 range, providing visual consistency.
Filtered Data: It doesn't just look at price; it incorporates volume and volatility to help filter out "fake" patterns.
Pine Script v6: Performs fast and optimized calculations with the latest Pine Script engine.
Session MidpointsGives you session time boxes and their midpoints.
Gives you session time boxes and their midpoints.
Gives you session time boxes and their midpoints.
Gives you session time boxes and their midpoints.
Gives you session time boxes and their midpoints.
Custom Hour Candle Marker (EST, All Timeframes)hour candle marker on the hourly to see the candle you want to focus on
OF CVD Divergence Labels (Lite) by TheActualSnailCVD Divergence (Order Flow Proxy) — Lite
This indicator highlights price vs Cumulative Volume Delta (CVD) divergences directly on the price chart, using a lower-timeframe intrabar volume approximation and optional Open Interest (OI) confirmation.
It is designed to catch potential exhaustion, absorption, and early trend shifts, without cluttering the chart with extra panes or lines.
How it works
1️⃣ Intrabar Delta (Order Flow Proxy)
Volume is decomposed on a lower timeframe (e.g. 30s, 1m).
Each intrabar candle contributes volume to buying or selling pressure based on price movement.
This produces a delta (buy − sell volume).
Delta is accumulated into CVD, optionally reset on a higher timeframe (Daily / Weekly / Monthly).
This is not exchange-level footprint data — it’s a robust proxy that works on any TradingView symbol.
2️⃣ Pivot-Based Divergences
The script detects divergences using confirmed swing pivots:
Bullish Regular Divergence
Price makes a lower low
CVD makes a higher low
→ Suggests selling pressure is weakening
Bearish Regular Divergence
Price makes a higher high
CVD makes a lower high
→ Suggests buying pressure is weakening
Optional hidden divergences (continuation-type) can also be enabled.
All labels are plotted at the actual pivot bar, not repainting forward.
3️⃣ Open Interest filter (optional)
When enabled:
Labels are filtered by OI trend direction
You can require:
Rising OI (participation increasing)
Falling OI (position unwinding)
This helps reduce signals caused by low-liquidity noise or passive price movement.
Settings used (shown in screenshots)
These are the settings I personally use for cleaner, more precise pivot labels:
Lower TF (intrabar): 30s
Improves delta accuracy and reduces false divergences
CVD reset: Daily
Keeps CVD context relevant to the session
Pivot length: 5
Good balance between signal frequency and reliability
Use wicks for pivots: ✅ ON
Captures true extremes where absorption often happens
Min CVD diff filter: 0
No artificial filtering — rely on structure + confluence
Show hidden divergences: ❌ OFF
Focus on reversal-type signals
Enable OI filter: ✅ ON
Adds participation context
OI trend length: 5
Short-term confirmation without lag
Filter labels by OI: None
View all signals first, then judge context manually
How to use it (important)
This indicator is not a standalone trading system.
Best used together with:
Market structure (HH / HL / LL / LH)
Key levels (HTF levels, VWAP, range highs/lows)
Liquidity concepts (sweeps, equal highs/lows)
Volume behavior & session context
Divergence ≠ immediate reversal.
Think of it as a context tool, not an entry button.
⚠️ Disclaimer
This indicator is provided for educational purposes only.
It is not financial advice and should not be used on its own to make trading decisions.
Always combine with other confluences and proper risk management.
Directional Movement Index - DMI🎯 Overview
This is a versatile Directional Movement Index (DMI) indicator that provides multiple visualization modes for analyzing trend strength and direction. Unlike traditional DMI displays, this version offers three different viewing options and focuses on DI crossover signals for clear trend identification.
🧩 Core Components
1. ⚙️ Technical Foundation
📊 Primary Calculation: Uses TradingView's built-in ta.dmi() function
📈 Three Core Components:
+DI (Positive Directional Indicator): Measures upward movement strength
-DI (Negative Directional Indicator): Measures downward movement strength
ADX (Average Directional Index): Measures overall trend strength
⚡ Dynamic Average: Creates a composite line (+DI minus -DI) for simplified analysis
2. 🎛️ Configuration Parameters
📏 DMI Length: Default 8 periods (standard setting)
🔄 ADX Smoothing: Additional smoothing for ADX line
🎨 Color Themes: 5 visual schemes consistent with your indicator suite
👁️ Display Toggles:
Average DMI: Shows composite line (+DI minus -DI)
DMI: Shows individual +DI and -DI lines
ADX Smoothing: Shows ADX trend strength line
📈 Signal Interpretation:
🟢 BULLISH: +DI > -DI (upward momentum stronger)
🔴 BEARISH: -DI > +DI (downward momentum stronger)
🎨 Visual Elements:
🚨 Signal Highlights: Background coloring on DI crossovers
📋 Line Labels: On-chart labels for each indicator component
📊 Table Display: Top-right bullish/bearish status indicator
📋 Dashboard Display:
Content: "⬆️ Bullish" or "⬇️ Bearish" based on DI relationship
⚡ Trading Applications
📈 Primary Uses:
🎯 Trend Direction Identification
+DI > -DI = Uptrend
-DI > +DI = Downtrend
💪 Trend Strength Assessment
ADX > 25 = Valid trend (tradable)
ADX < 25 = Weak trend (avoid trading)
ADX rising = Strengthening trend
🚨 Crossover Signals
Bull Crossover: +DI crosses above -DI
Bear Crossover: -DI crosses above +DI
🎨 Customization Options
👁️ Display Flexibility:
📊 Mode 1: Simplified (Average DMI only)
📈 Mode 2: Detailed (+DI and -DI lines)
💪 Mode 3: Strength-focused (ADX line)
🔄 Any Combination: Mix and match as needed
🎨 Visual Themes: (Consistent suite)
🎨 Classic: Green/Red (traditional directional colors)
🚀 Modern: Cyan/Purple (contemporary)
💪 Robust: Amber/Deep Purple (high contrast)
🌈 Accented: Purple/Magenta (vibrant)
⚫⚪ Monochrome: Light Gray/Dark Gray (minimalist)
🔔 Alert System
🟢 LONG Alert: Triggers when +DI crosses above -DI
🔴 SHORT Alert: Triggers when -DI crosses above +DI
📧 Format: Includes ticker symbol for tracking
⚡ Key Advantages
✅ Strengths:
🎯 Multiple Perspectives: Three display modes in one indicator
📊 Clear Trend Signals: DI crossovers provide unambiguous entries/exits
💪 Strength Filter: ADX helps avoid trading in weak trends
👁️ Visual Clarity: Color-coded and labeled for easy interpretation
🔄 Flexible Usage: Can be simple or detailed based on trader preference
📊 Optimal Settings:
⚡ Short-term Trading: 8-14 period length
📊 Medium-term Trading: 14-20 period length
📈 Long-term Trading: 20-50 period length
🎯 ADX Smoothing: Higher values for smoother trend strength
🏆 Unique Features:
Mode Selector: Choose your preferred view (simple → detailed)
Composite Average: (+DI - -DI) creates single directional line
Strength Integration: Built-in ADX for trend validation
Visual Harmony: Consistent design with your indicator family
Professional Labels: On-chart annotations for clarity
This DMI indicator provides professional-grade trend analysis with user-friendly flexibility, allowing traders from beginners to experts to customize their view according to their trading style and experience level! 📊🎯
1M / 3M / 6M / 12M Performance Box─────────────────────────────────────────────────────────────
1M / 3M / 6M / 12M Performance Box
─────────────────────────────────────────────────────────────
A compact on-chart dashboard that shows multi-horizon price performance
(1M / 3M / 6M / 12M) as percentage change, using DAILY data for consistency
across all chart timeframes (intraday, daily, weekly).
What it does
• Calculates % performance over 1, 3, 6, and 12 month horizons.
• Displays results in a clean table overlay on the chart.
• Automatically color-codes performance:
- Green = positive
- Red = negative
- Gray = neutral / not available
Month definition (user selectable)
• Calendar days mode:
1M = 30 days, 3M = 90 days, 6M = 180 days
• Trading days mode:
1M = 21 TD, 3M = 63 TD, 6M = 126 TD
• 12M is calculated as ~365 days in both modes.
Customization
• Table position (top/bottom + left/right)
• Decimal precision
• Fully customizable colors (header, labels, positive/negative/neutral cells)
• Adjustable background opacity
• Optional header with symbol + timeframe
Use cases
• Quick trend/context check before entries
• Relative strength snapshot across time horizons
• Cleaner decision-making without adding clutter
Notes
• Uses daily close/time via request.security() for stable results.
• Displays "n/a" when a reference value is not available.
─────────────────────────────────────────────────────────────
Rolling VWAP + Bands (Tighter Option) + 2.35/3.0 Re-entry AlertsRolling VWAP + σ Bands — How to Trade It
This indicator plots a Rolling VWAP (a volume-weighted mean over a fixed bar window) along with standard deviation (σ) bands around that VWAP. The goal is simple:
Quantify “normal” price distance from value (VWAP)
Highlight statistical extremes and pullback zones
Trigger re-entry signals when price returns from extreme deviation back inside key bands (±2.35σ and ±3σ)
It’s designed for scalping and short-term decision support, especially on lower timeframes.
What the Lines Mean
VWAP (Rolling Window)
The VWAP line represents the rolling “fair value” of price, weighted by volume across the lookback window.
In ranges: VWAP acts like a gravity center
In trends: VWAP acts like a dynamic mean that price may pull back toward before continuing
σ Bands (Standard Deviation)
The σ bands show how far price is from VWAP in statistical terms:
±1σ: Normal variation
±1.5σ: Common pullback / continuation zone in trends
±2σ: Extended move / trend stress
±2.35σ: Deep extension (often a “stretched” market)
±3σ: Rare extreme (often emotional moves / liquidation wicks)
The Most Important Feature: 2.35σ and 3σ Re-entry Signals
A Re-entry signal fires when price was outside a band on the previous bar and closes back inside that band on the current bar.
Why this matters:
The market pushed into an extreme zone…
…then failed to stay there
That “failure” often leads to a snap-back toward value (VWAP) or at least toward inner bands.
In general, a 3σ re-entry is stronger than a 2.35σ re-entry, because it represents a more statistically extreme excursion that couldn’t hold.
These are not “magic reversal calls” — they’re high-quality mean-reversion triggers when conditions favor mean reversion.
Regime 1: Contracting Bands = Mean Reversion Environment
What contracting bands imply
When the bands tighten / contract, volatility is compressed. In this environment:
Price tends to oscillate around VWAP
Deviations are more likely to mean revert
Extremes are clearer and usually followed by a return toward value
How to trade mean reversion with this indicator
Core idea: fade extremes and target VWAP / inner bands.
A) Highest quality setups: 2.35σ and 3σ re-entries
These are your “strongest” mean reversion events.
Short bias setup
Price closes outside +2.35σ or +3σ
Then re-enters back below that band (signal)
Typical targets: +2σ → +1.5σ → VWAP (depending on momentum)
Long bias setup
Price closes outside −2.35σ or −3σ
Then re-enters back above that band (signal)
Typical targets: −2σ → −1.5σ → VWAP
Why these work best in contraction:
The market is statistically “stretched”
With low volatility, it’s harder for price to stay extended
Re-entry often starts the “snap-back” leg
B) Scaling / partial targets (optional approach)
If you manage positions actively:
Take partial profits at inner bands
Use VWAP as the “magnet” target when conditions remain range-bound
Risk framing for mean reversion
Mean reversion fails when price keeps walking the band and volatility expands.
Common failure clues:
Bands begin to widen aggressively
Price repeatedly holds outside outer bands
VWAP slope starts to accelerate in one direction
If that starts happening, the market is likely shifting to a trend regime.
Regime 2: Expanding Bands + VWAP Slope = Trending Environment
What trending conditions look like
Trends typically show:
VWAP sloping consistently
Bands expanding (higher volatility)
Price spending more time on one side of VWAP
Pullbacks that stall near inner/mid bands instead of reverting fully
In this environment, fading outer bands becomes lower probability because price can “ride” deviations during strong directional flow.
How to trade continuation with this indicator
Core idea: use VWAP and inner bands as pullback zones, then trade in the direction of the VWAP slope.
A) Trend continuation zones (most practical)
VWAP: first pullback level in mild trends
±1σ: shallow pullback continuation
±1.5σ: higher-quality pullback depth in stronger trends
±2σ: deep pullback / trend stress (more caution)
Example (uptrend):
VWAP rising
Price pulls down into VWAP / +1σ / +1.5σ area
Continuation entries are considered when price stabilizes and pushes back with the trend
Example (downtrend):
VWAP falling
Price pulls up into VWAP / −1σ / −1.5σ area
Continuation entries are considered when price rejects and rotates back down
What to do with 2.35σ / 3σ re-entry signals in trends
Re-entry signals can still occur in trends, but they should be interpreted differently:
In strong trends, an outer-band re-entry may only produce a brief bounce/rotation, not a full mean reversion to VWAP.
Targets may be more realistic at inner bands rather than expecting VWAP every time.
In other words:
Range: outer-band re-entries often aim toward VWAP.
Trend: outer-band re-entries often aim toward 2σ / 1.5σ / 1σ first.
Practical Regime Filter (simple visual read)
This script intentionally doesn’t hard-code a “trend/range detector,” but you can visually infer regime quickly:
Mean reversion bias
Bands contracting or stable
VWAP mostly flat
Price crossing VWAP frequently
Trend continuation bias
Bands expanding
VWAP clearly sloped
Price holding mostly on one side of VWAP
Notes on σ Calculation Options
This indicator includes σ mode toggles:
Unweighted σ (tighter): treats price deviations more “purely” and often gives bands that react more tightly to price behavior.
Volume-weighted σ: emphasizes high-volume price action in the deviation calculation.
Both are valid — test based on your market and timeframe.
Summary Cheat Sheet
Contracting bands (range / compression)
Favor: mean reversion
Best signals: 2.35σ and 3σ re-entry
Typical targets: inner bands → VWAP
Expanding bands + sloped VWAP (trend)
Favor: continuation
Use pullbacks to: VWAP / 1σ / 1.5σ as entry zones
Outer-band re-entries: treat as rotation opportunities, not guaranteed full reversals






















