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
Indicadores y estrategias
EMA 9 & 26 Crossover by SN TraderEMA 9 & 26 Crossover by SN Trader – Clean Trend Signal Indicator |
The EMA 9 & 26 Cross (+ Marker) indicator is a lightweight and effective trend-direction and momentum-shift tool that visually marks EMA crossover events using simple “+” symbols placed directly above or below price candles.
This indicator is ideal for scalping, intraday trading, and swing trading across Forex, Crypto, Stocks, Indices, and Commodities.
🔹 Indicator Logic
EMA 9 (Green) → Fast momentum
EMA 26 (Red) → Trend direction
🟢 Green “+” (Below Candle)
Appears when EMA 9 crosses ABOVE EMA 26
Indicates bullish momentum or trend continuation
🔴 Red “+” (Above Candle)
Appears when EMA 26 crosses ABOVE EMA 9
Indicates bearish momentum or potential trend reversal
📈 How to Use
✔ Look for Green “+” for bullish bias
✔ Look for Red “+” for bearish bias
✔ Trade in the direction of higher-timeframe trend
✔ Combine with RSI, UT Bot, VWAP, MACD, Support & Resistance for confirmation
✅ Best For
Trend identification
Momentum confirmation
Scalping & intraday entries
Swing trade timing
Multi-timeframe analysis
⚙️ Features
✔ Clean & minimal design
✔ Non-repainting crossover signals
✔ Works on all timeframes & markets
✔ Pine Script v6 compliant
✔ Beginner & professional friendly
⚠️ Disclaimer
This indicator is for educational purposes only and does not provide financial advice. Always use risk management and additional confirmation before trading.
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))
Lele-Trend Market AnalysisThis is a TradingView Pine Script indicator for analyzing futures trading trends. Here's what it does:
Core Functionality:
Analyzes market trends using multiple technical indicators on a customizable timeframe
Displays trend strength classifications from "Neutral" to "Super Bullish/Bearish"
Key Indicators Used:
EMAs: 7, 21, 50, and 200-period exponential moving averages to identify trend direction
RSI: Relative Strength Index (14-period default) for momentum
ADX: Average Directional Index (14-period) to measure trend strength
VWAP: Volume Weighted Average Price for intraday levels
Parabolic SAR: For trend reversals and stop-loss placement
Trend Classification Logic:
Bullish: When 7 EMA > 21 EMA, price > VWAP, RSI > 50, ADX > 22
Bearish: When 7 EMA < 21 EMA, price < VWAP, RSI < 50, ADX > 22
Upgrades to "Very" or "Super" based on price position relative to 50 and 200 EMAs
Visual Features:
Plots all indicators on the chart with color-coded lines
Shows percentage and price difference labels on each candle
Dashboard table in the top-right displaying all indicator values and current trend status
It's essentially a comprehensive trend-following system that combines multiple timeframe analysis with strength classification.
KI Power signaleManus Machiene Learning Beast – Indicator Description
Overview
Manus Machiene Learning Beast is an advanced TradingView indicator that combines Machine Learning (Lorentzian Classification) with trend, volatility, and market regime filters to generate high-quality long and short trade signals.
The indicator is designed for rule-based, disciplined trading and works especially well for set-and-forget, semi-automated, or fully automated execution workflows.
⸻
Core Concept
At its core, the indicator uses a machine-learning model based on a modified K-Nearest Neighbors (KNN) approach.
Instead of standard Euclidean distance, it applies Lorentzian distance, which:
• Reduces the impact of outliers
• Accounts for market distortions caused by volatility spikes and major events
• Produces more robust predictions in real market conditions
The model does not attempt to predict exact tops or bottoms.
Instead, it estimates the probable price direction over the next 4 bars.
⸻
Signal Logic
Long Signals
A long signal is generated when:
• The ML model predicts a positive directional bias
• All enabled filters are satisfied
• A new directional change is detected (non-repainting)
• Optional trend filters (EMA / SMA) confirm the direction
• Optional kernel regression confirms bullish momentum
📍 Displayed as a green label below the bar
Short Signals
A short signal is generated when:
• The ML model predicts a negative directional bias
• Filters confirm bearish conditions
• A new directional change occurs
• Trend and kernel filters align
📍 Displayed as a red label above the bar
⸻
Filters & Components
All filters are modular and can be enabled or disabled individually.
1. Volatility Filter
• Avoids trading during extremely low or chaotic volatility conditions
2. Regime Filter (Trend vs Range)
• Attempts to filter out sideways markets
• Especially important for ML-based systems
3. ADX Filter (Optional)
• Trades only when sufficient trend strength is present
4. EMA / SMA Trend Filters
• Classic trend confirmation (e.g., 200 EMA / 200 SMA)
• Ensures trades are aligned with the higher-timeframe trend
5. Kernel Regression (Nadaraya-Watson)
• Smooths price behavior
• Acts as a momentum and trend confirmation filter
• Can be used in standard or smoothed mode
⸻
Moving Average Overlays
For visual market context, the indicator includes optional overlays:
• ✅ SMA 200
• ✅ HMA 200
Both can be toggled via checkboxes and are visual aids only, unless explicitly enabled as filters.
⸻
Exit Logic
Two exit methods are available:
1. Fixed Exit
• Trades close after 4 bars
• Matches the ML model’s training horizon
2. Dynamic Exit
• Uses kernel regression and signal changes
• Designed to let profits run in strong trends
⚠️ Recommended only when no additional trend filters are active.
⸻
Backtesting & Trade Statistics
The indicator includes an on-chart statistics panel showing:
• Win rate
• Total trades
• Win/Loss ratio
• Early signal flips (useful for identifying choppy markets)
⚠️ This is intended for calibration and optimization only, not as a replacement for full strategy backtesting.
⸻
Typical Use Cases
• Swing trading (M15 – H4)
• Rule-based discretionary trading
• Set-and-forget trading
• TradingView alerts → MT4/MT5 → EA execution
• Prop-firm trading (e.g. FTMO), with proper risk management
⸻
Important Disclaimer
This indicator:
• ❌ does not guarantee profits
• ❌ is not a “holy grail”
• ✅ is a decision-support and structure tool
It performs best when:
• Combined with strict risk management (e.g. ATR-based stops)
• Used in trending or expanding markets
• Executed with discipline and consistency
EMA 9 & 26 Crossover By SN TraderEMA 9 & 26 Crossover – Trend & Momentum Indicator For Scalpers
The EMA 9 & EMA 26 Crossover Indicator is a simple yet powerful trend-following tool designed to identify high-probability buy and sell signals based on short-term and medium-term momentum shifts.
This indicator is widely used by scalpers, intraday traders, and swing traders across Forex, Crypto, Stocks, Indices, and Commodities.
🔹 Indicator Logic
EMA 9 (Green) → Fast momentum
EMA 26 (Red) → Trend direction
BUY Signal
When EMA 9 crosses above EMA 26
Indicates bullish momentum and possible trend reversal or continuation
SELL Signal
When EMA 9 crosses below EMA 26
Indicates bearish momentum and potential downside movement
Clear BUY / SELL labels are plotted directly on the chart for easy visual confirmation.
📈 How to Trade Using This Indicator
✔ Enter BUY trades after EMA 9 crosses above EMA 26
✔ Enter SELL trades after EMA 9 crosses below EMA 26
✔ Use higher timeframes (15m, 1H, 4H) for stronger signals
✔ Combine with RSI, MACD, UT Bot, VWAP, Support & Resistance for confirmation
✅ Best Use Cases
Trend reversal identification
Momentum-based entries
Scalping & intraday strategies
Swing trading trend confirmation
Works on all timeframes
⚙️ Features
✔ Lightweight & fast
✔ Beginner-friendly
✔ Non-repainting signals
✔ Pine Script v6 compatible
✔ Clean visual design
⚠️ Disclaimer
This indicator is for educational purposes only and should not be considered financial advice. Always apply proper risk management and confirm signals with additional analysis.
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.
SACHIN_WITH_SLgears for setting signals use it
lllllllllllllllllllllllllllllllllllllllllllllllllhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
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
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.
Triple ST + MACD + 7x MTF EMA + VWAP + ORB//@version=6
indicator('Triple ST + MACD + 7x MTF EMA + VWAP + ORB', overlay = true, max_labels_count = 500)
//━━━━━━━━━━━━━━━━━━━
// INPUTS
//━━━━━━━━━━━━━━━━━━━
// SuperTrend Group
atrPeriodPrimary = 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")
//━━━━━━━━━━━━━━━━━━━
// CALCULATIONS
//━━━━━━━━━━━━━━━━━━━
// 1. Custom SuperTrend Function
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
super = dir == 1 ? lowerFinal : upperFinal
= f_supertrend(atrPeriodPrimary, multiplierPrimary)
= f_supertrend(atrPeriodSecondary, multiplierSecondary)
= f_supertrend(atrPeriodTertiary, multiplierTertiary)
// 2. MACD
macdLine = ta.ema(close, fastLength) - ta.ema(close, slowLength)
signal = ta.ema(macdLine, signalLength)
// 3. MTF EMAs (7 Options)
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)
// 4. ORB CALCULATION (Current Day Only)
is_new_day = ta.change(time("D")) != 0
in_orb = not na(time(timeframe.period, orbTime))
is_today = (year(time) == year(timenow)) and (month(time) == month(timenow)) and (dayofmonth(time) == dayofmonth(timenow))
var float orbHigh = na
var float orbLow = na
if is_new_day
orbHigh := na
orbLow := na
if in_orb and is_today
orbHigh := na(orbHigh) ? high : math.max(high, orbHigh)
orbLow := na(orbLow) ? low : math.min(low, orbLow)
orbRange = orbHigh - orbLow
t1_up = orbHigh + (orbRange * orbTargetMult1)
t1_dn = orbLow - (orbRange * orbTargetMult1)
//━━━━━━━━━━━━━━━━━━━
// PLOTTING
//━━━━━━━━━━━━━━━━━━━
// VWAP
plot(showVwap ? ta.vwap : na, title="VWAP", color=color.orange, linewidth=2)
// Triple SuperTrends
plot(stPrimary, title='Primary ST', color=dirPrimary == 1 ? color.green : color.red, linewidth=2)
plot(stSecondary, title='Secondary ST', color=dirSecondary == 1 ? color.teal : color.maroon, linewidth=1)
plot(stTertiary, title='Tertiary ST', color=dirTertiary == 1 ? color.lime : color.orange, linewidth=1)
// 7 EMAs
plot(ema1, title='EMA 1', color=color.new(color.white, 50))
plot(ema2, title='EMA 2', color=color.new(color.yellow, 60))
plot(ema3, title='EMA 3', color=color.new(color.orange, 70))
plot(ema4, title='EMA 4', color=color.new(color.blue, 70))
plot(ema5, title='EMA 5', color=color.new(color.purple, 70))
plot(ema6, title='EMA 6', color=color.new(color.fuchsia, 80))
plot(ema7, title='EMA 7', color=color.new(color.gray, 80))
// ORB Plots
plot(showORB and is_today ? orbHigh : na, title="ORB High", color=color.aqua, linewidth=2, style=plot.style_linebr)
plot(showORB and is_today ? orbLow : na, title="ORB Low", color=color.aqua, linewidth=2, style=plot.style_linebr)
plot(showORB and is_today and not in_orb ? t1_up : na, title="Target 1 Up", color=color.new(color.lime, 40), style=plot.style_linebr)
plot(showORB and is_today and not in_orb ? t1_dn : na, title="Target 1 Down", color=color.new(color.red, 40), style=plot.style_linebr)
// MACD Shapes
plotshape(ta.crossover(macdLine, signal), title="MACD Bull", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, text="MACD+")
plotshape(ta.crossunder(macdLine, signal), title="MACD Bear", style=shape.triangledown, location=location.belowbar, color=color.red, size=size.small, text="MACD-")
// Background (Based on Primary ST)
bgcolor(dirPrimary == 1 ? color.new(color.green, 96) : color.new(color.red, 96))
Relative Performance ComparisonThe Script was made to compare the performance of the YM and the NQ for a period of time that you can adjust with the lookback period. There is also the possibility to adjust the smoothing of the lines in the graph and you can enable or disable the several visuals. If you wish to compare something different then you could also enter the ticker of the assets that you want to compare.
For YM and NQ the idea is that they have a high correlation and that if one of them is weaker than the other one, the stronger one could have more potential in that direction. Or if for example the weaker one is shifting in sctructure then the stronger one could also shift in structure but has the possibility of more gain as it held stronger through the weakness of the other one.
Relative Strength Table (Spring)This indicator helps traders quickly understand the relative strength of different groups and different stocks.
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.
Percentage Volume Oscillator (Up-Only Hist)Based on a regular PVO, it points all bars upwards for a clearer read on how participation is changing.
Custom EST Candle Marker (All Timeframes)marks out custom 4 hour candle to focus on like 2am or 8am whatever you want
Custom Hour Candle Marker (EST, All Timeframes)hour candle marker on the hourly to see the candle you want to focus on



















