Dskyz (DAFE) Aurora Divergence – Quant Master Dskyz (DAFE) Aurora Divergence – Quant Master
Introducing the Dskyz (DAFE) Aurora Divergence – Quant Master , a strategy that’s your secret weapon for mastering futures markets like MNQ, NQ, MES, and ES. Born from the legendary Aurora Divergence indicator, this fully automated system transforms raw divergence signals into a quant-grade trading machine, blending precision, risk management, and cyberpunk DAFE visuals that make your charts glow like a neon skyline. Crafted with care and driven by community passion, this strategy stands out in a sea of generic scripts, offering traders a unique edge to outsmart institutional traps and navigate volatile markets.
The Aurora Divergence indicator was a cult favorite for spotting price-OBV divergences with its aqua and fuchsia orbs, but traders craved a system to act on those signals with discipline and automation. This strategy delivers, layering advanced filters (z-score, ATR, multi-timeframe, session), dynamic risk controls (kill switches, adaptive stops/TPs), and a real-time dashboard to turn insights into profits. Whether you’re a newbie dipping into futures or a pro hunting reversals, this strat’s got your back with a beginner guide, alerts, and visuals that make trading feel like a sci-fi mission. Let’s dive into every detail and see why this original DAFE creation is a must-have.
Why Traders Need This Strategy
Futures markets are a battlefield—fast-paced, volatile, and riddled with institutional games that can wipe out undisciplined traders. From the April 28, 2025 NQ 1k-point drop to sneaky ES slippage, the stakes are high. Meanwhile, platforms are flooded with unoriginal, low-effort scripts that promise the moon but deliver noise. The Aurora Divergence – Quant Master rises above, offering:
Unmatched Originality: A bespoke system built from the ground up, with custom divergence logic, DAFE visuals, and quant filters that set it apart from copycat clutter.
Automation with Precision: Executes trades on divergence signals, eliminating emotional slip-ups and ensuring consistency, even in chaotic sessions.
Quant-Grade Filters: Z-score, ATR, multi-timeframe, and session checks filter out noise, targeting high-probability reversals.
Robust Risk Management: Daily loss and rolling drawdown kill switches, plus ATR-based stops/TPs, protect your capital like a fortress.
Stunning DAFE Visuals: Aqua/fuchsia orbs, aurora bands, and a glowing dashboard make signals intuitive and charts a work of art.
Community-Driven: Evolved from trader feedback, this strat’s a labor of love, not a recycled knockoff.
Traders need this because it’s a complete, original system that blends accessibility, sophistication, and style. It’s your edge to trade smarter, not harder, in a market full of traps and imitators.
1. Divergence Detection (Core Signal Logic)
The strategy’s core is its ability to detect bullish and bearish divergences between price and On-Balance Volume (OBV), pinpointing reversals with surgical accuracy.
How It Works:
Price Slope: Uses linear regression over a lookback (default: 9 bars) to measure price momentum (priceSlope).
OBV Slope: OBV tracks volume flow (+volume if price rises, -volume if falls), with its slope calculated similarly (obvSlope).
Bullish Divergence: Price slope negative (falling), OBV slope positive (rising), and price above 50-bar SMA (trend_ma).
Bearish Divergence: Price slope positive (rising), OBV slope negative (falling), and price below 50-bar SMA.
Smoothing: Requires two consecutive divergence bars (bullDiv2, bearDiv2) to confirm signals, reducing false positives.
Strength: Divergence intensity (divStrength = |priceSlope * obvSlope| * sensitivity) is normalized (0–1, divStrengthNorm) for visuals.
Why It’s Brilliant:
- Divergences catch hidden momentum shifts, often exploited by institutions, giving you an edge on reversals.
- The 50-bar SMA filter aligns signals with the broader trend, avoiding choppy markets.
- Adjustable lookback (min: 3) and sensitivity (default: 1.0) let you tune for different instruments or timeframes.
2. Filters for Precision
Four advanced filters ensure signals are high-probability and market-aligned, cutting through the noise of volatile futures.
Z-Score Filter:
Logic: Calculates z-score ((close - SMA) / stdev) over a lookback (default: 50 bars). Blocks entries if |z-score| > threshold (default: 1.5) unless disabled (useZFilter = false).
Impact: Avoids trades during extreme price moves (e.g., blow-off tops), keeping you in statistically safe zones.
ATR Percentile Volatility Filter:
Logic: Tracks 14-bar ATR in a 100-bar window (default). Requires current ATR > 80th percentile (percATR) to trade (tradeOk).
Impact: Ensures sufficient volatility for meaningful moves, filtering out low-volume chop.
Multi-Timeframe (HTF) Trend Filter:
Logic: Uses a 50-bar SMA on a higher timeframe (default: 60min). Longs require price > HTF MA (bullTrendOK), shorts < HTF MA (bearTrendOK).
Impact: Aligns trades with the bigger trend, reducing counter-trend losses.
US Session Filter:
Logic: Restricts trading to 9:30am–4:00pm ET (default: enabled, useSession = true) using America/New_York timezone.
Impact: Focuses on high-liquidity hours, avoiding overnight spreads and erratic moves.
Evolution:
- These filters create a robust signal pipeline, ensuring trades are timed for optimal conditions.
- Customizable inputs (e.g., zThreshold, atrPercentile) let traders adapt to their style without compromising quality.
3. Risk Management
The strategy’s risk controls are a masterclass in balancing aggression and safety, protecting capital in volatile markets.
Daily Loss Kill Switch:
Logic: Tracks daily loss (dayStartEquity - strategy.equity). Halts trading if loss ≥ $300 (default) and enabled (killSwitch = true, killSwitchActive).
Impact: Caps daily downside, crucial during events like April 27, 2025 ES slippage.
Rolling Drawdown Kill Switch:
Logic: Monitors drawdown (rollingPeak - strategy.equity) over 100 bars (default). Stops trading if > $1000 (rollingKill).
Impact: Prevents prolonged losing streaks, preserving capital for better setups.
Dynamic Stop-Loss and Take-Profit:
Logic: Stops = entry ± ATR * multiplier (default: 1.0x, stopDist). TPs = entry ± ATR * 1.5x (profitDist). Longs: stop below, TP above; shorts: vice versa.
Impact: Adapts to volatility, keeping stops tight but realistic, with TPs targeting 1.5:1 reward/risk.
Max Bars in Trade:
Logic: Closes trades after 8 bars (default) if not already exited.
Impact: Frees capital from stagnant trades, maintaining efficiency.
Kill Switch Buffer Dashboard:
Logic: Shows smallest buffer ($300 - daily loss or $1000 - rolling DD). Displays 0 (red) if kill switch active, else buffer (green).
Impact: Real-time risk visibility, letting traders adjust dynamically.
Why It’s Brilliant:
- Kill switches and ATR-based exits create a safety net, rare in generic scripts.
- Customizable risk inputs (maxDailyLoss, dynamicStopMult) suit different account sizes.
- Buffer metric empowers disciplined trading, a DAFE signature.
4. Trade Entry and Exit Logic
The entry/exit rules are precise, filtered, and adaptive, ensuring trades are deliberate and profitable.
Entry Conditions:
Long Entry: bullDiv2, cooldown passed (canSignal), ATR filter passed (tradeOk), in US session (inSession), no kill switches (not killSwitchActive, not rollingKill), z-score OK (zOk), HTF trend bullish (bullTrendOK), no existing long (lastDirection != 1, position_size <= 0). Closes shorts first.
Short Entry: Same, but for bearDiv2, bearTrendOK, no long (lastDirection != -1, position_size >= 0). Closes longs first.
Adaptive Cooldown: Default 2 bars (cooldownBars). Doubles (up to 10) after a losing trade, resets after wins (dynamicCooldown).
Exit Conditions:
Stop-Loss/Take-Profit: Set per trade (ATR-based). Exits on stop/TP hits.
Other Exits: Closes if maxBarsInTrade reached, ATR filter fails, or kill switch activates.
Position Management: Ensures no conflicting positions, closing opposites before new entries.
Built To Be Reliable and Consistent:
- Multi-filtered entries minimize false signals, a stark contrast to basic scripts.
- Adaptive cooldown prevents overtrading, especially after losses.
- Clean position handling ensures smooth execution, even in fast markets.
5. DAFE Visuals
The visuals are a DAFE hallmark, blending function with clean flair to make signals intuitive and charts stunning.
Aurora Bands:
Display: Bands around price during divergences (bullish: below low, bearish: above high), sized by ATR * bandwidth (default: 0.5).
Colors: Aqua (bullish), fuchsia (bearish), with transparency tied to divStrengthNorm.
Purpose: Highlights divergence zones with a glowing, futuristic vibe.
Divergence Orbs:
Display: Large/small circles (aqua below for bullish, fuchsia above for bearish) when bullDiv2/bearDiv2 and canSignal. Labels show strength (0–1).
Purpose: Pinpoints entries with eye-catching clarity.
Gradient Background:
Display: Green (bullish), red (bearish), or gray (neutral), 90–95% transparent.
Purpose: Sets the market mood without clutter.
Strategy Plots:
- Stop/TP Lines: Red (stops), green (TPs) for active trades.
- HTF MA: Yellow line for trend context.
- Z-Score: Blue step-line (if enabled).
- Kill Switch Warning: Red background flash when active.
What Makes This Next-Level?:
- Visuals make complex signals (divergences, filters) instantly clear, even for beginners.
- DAFE’s unique aesthetic (orbs, bands) sets it apart from generic scripts, reinforcing originality.
- Functional plots (stops, TPs) enhance trade management.
6. Metrics Dashboard
The top-right dashboard (2x8 table) is your command center, delivering real-time insights.
Metrics:
Daily Loss ($): Current loss vs. day’s start, red if > $300.
Rolling DD ($): Drawdown vs. 100-bar peak, red if > $1000.
ATR Threshold: Current percATR, green if ATR exceeds, red if not.
Z-Score: Current value, green if within threshold, red if not.
Signal: “Bullish Div” (aqua), “Bearish Div” (fuchsia), or “None” (gray).
Action: “Consider Buying”/“Consider Selling” (signal color) or “Wait” (gray).
Kill Switch Buffer ($): Smallest buffer to kill switch, green if > 0, red if 0.
Why This Is Important?:
- Consolidates critical data, making decisions effortless.
- Color-coded metrics guide beginners (e.g., green action = go).
- Buffer metric adds transparency, rare in off-the-shelf scripts.
7. Beginner Guide
Beginner Guide: Middle-right table (shown once on chart load), explains aqua orbs (bullish, buy) and fuchsia orbs (bearish, sell).
Key Features:
Futures-Optimized: Tailored for MNQ, NQ, MES, ES with point-value adjustments.
Highly Customizable: Inputs for lookback, sensitivity, filters, and risk settings.
Real-Time Insights: Dashboard and visuals update every bar.
Backtest-Ready: Fixed qty and tick calc for accurate historical testing.
User-Friendly: Guide, visuals, and dashboard make it accessible yet powerful.
Original Design: DAFE’s unique logic and visuals stand out from generic scripts.
How to Use
Add to Chart: Load on a 5min MNQ/ES chart in TradingView.
Configure Inputs: Adjust instrument, filters, or risk (defaults optimized for MNQ).
Monitor Dashboard: Watch signals, actions, and risk metrics (top-right).
Backtest: Run in strategy tester to evaluate performance.
Live Trade: Connect to a broker (e.g., Tradovate) for automation. Watch for slippage (e.g., April 27, 2025 ES issues).
Replay Test: Use bar replay (e.g., April 28, 2025 NQ drop) to test volatility handling.
Disclaimer
Trading futures involves significant risk of loss and is not suitable for all investors. Past performance is not indicative of future results. Backtest results may not reflect live trading due to slippage, fees, or market conditions. Use this strategy at your own risk, and consult a financial advisor before trading. Dskyz (DAFE) Trading Systems is not responsible for any losses incurred.
Backtesting:
Frame: 2023-09-20 - 2025-04-29
Fee Typical Range (per side, per contract)
CME Exchange $1.14 – $1.20
Clearing $0.10 – $0.30
NFA Regulatory $0.02
Firm/Broker Commis. $0.25 – $0.80 (retail prop)
TOTAL $1.60 – $2.30 per side
Round Turn: (enter+exit) = $3.20 – $4.60 per contract
Final Notes
The Dskyz (DAFE) Aurora Divergence – Quant Master isn’t just a strategy—it’s a movement. Crafted with originality and driven by community passion, it rises above the flood of generic scripts to deliver a system that’s as powerful as it is beautiful. With its quant-grade logic, DAFE visuals, and robust risk controls, it empowers traders to tackle futures with confidence and style. Join the DAFE crew, light up your charts, and let’s outsmart the markets together!
(This publishing will most likely be taken down do to some miscellaneous rule about properly displaying charting symbols, or whatever. Once I've identified what part of the publishing they want to pick on, I'll adjust and repost.)
Use it with discipline. Use it with clarity. Trade smarter.
**I will continue to release incredible strategies and indicators until I turn this into a brand or until someone offers me a contract.
Created by Dskyz, powered by DAFE Trading Systems. Trade fast, trade bold.
Cerca negli script per "track"
Pulse of Cycle Oscillator"Pulse of Cycle" Oscillator: Logic and Usage
What Is It and How Does It Work?
The "Pulse of Cycle" is an oscillator that measures the cycles of price rises and falls, helping you spot overbought and oversold conditions. Unlike classic indicators, it doesn’t focus on how much the price moves but tracks its direction (up or down) like a "pulse." Here’s the logic:
Price Movement:
If the price rises compared to the previous bar, it adds +1.
If the price falls, it subtracts -1.
If the price stays the same, it adds 0.
Decay Factor: Each step, the previous value is multiplied by a factor (e.g., 0.9) to shrink it slightly. This keeps the oscillator from growing too big and focuses it on recent price action.
Signals: The oscillator moves around zero. When it crosses certain levels (e.g., 5 and 10), it warns you about overbought or oversold zones:
Weak Signal: Above ±5, the market might be stretching a bit.
Strong Signal: Above ±10, a reversal is more likely.
In short, it tracks the "rhythm" of price streaks (consecutive ups or downs) and signals when things might be getting extreme.
How It Looks on the Chart
Line: The oscillator moves around a zero line.
Colors:
Blue: Normal zone (between -5 and +5).
Orange: Weak overbought (+5 and up) or oversold (-5 and down).
Red: Strong overbought (+10 and up).
Lime: Strong oversold (-10 and down).
Threshold Lines: You’ll see lines at 0, ±5, and ±10 on the chart to show where you are.
How to Use It?
Here’s how to trade with this oscillator:
Buy Opportunity (Long Position):
When?: The oscillator drops below -5 (weak) or -10 (strong), then starts moving back toward zero. This suggests the price has hit a bottom and might rise.
Example: It falls to -12 (lime), then rises to -8. You could buy, expecting a bounce.
Tip: Wait for a green candle to confirm if you want to be safer.
Sell Opportunity (Short Position):
When?: The oscillator rises above +5 (weak) or +10 (strong), then starts dropping back toward zero. This indicates the price might have peaked and could fall.
Example: It hits +11 (red), then drops to +7. You could sell, expecting a decline.
Tip: Look for a red candle to confirm the turn.
Neutral Zone: If it’s between -5 and +5, the market is balanced. You can wait for a clearer signal.
Practical Steps to Use
Add to TradingView:
Paste the code into Pine Editor and click “Add to Chart.”
Adjust Settings (Optional):
Decay (0.9): Lower to 0.7 for faster response, raise to 0.95 for smoother movement.
Thresholds (5 and 10): Change them (e.g., 4 and 8) based on your market.
Watch Signals:
Follow the color changes and threshold crossings.
Set Alerts:
Right-click the oscillator > “Add Alert” to get notified on overbought/oversold signals.
Things to Watch Out For
Confirmation: Pair it with support/resistance levels or candlestick patterns for stronger signals.
Market Type: Works best in range-bound (sideways) markets. In strong trends (all up or down), signals might mislead.
Risk: Always use a stop loss—below the last low for buys, above the last high for sells.
Summary
The "Pulse of Cycle" is a simple yet powerful tool that tracks price movement streaks. Use it to catch reversals at strong signals (-10/+10) or get early warnings at weak signals (±5). The colors and lines on the chart make it easy to see when to act.
PseudoPlotLibrary "PseudoPlot"
PseudoPlot: behave like plot and fill using polyline
This library enables line plotting by polyline like plot() and fill().
The core of polyline() is array of chart.point array, polyline() is called in its method.
Moreover, plotarea() makes a box in main chart, plotting data within the box is enabled.
It works so slowy to manage array of chart.point, so limit the target to visible area of the chart.
Due to polyline specifications, na and expression can not be used for colors.
1. pseudoplot
pseudoplot() behaves like plot().
//use plot()
plot(close)
//use pseudoplot()
pseudoplot(close)
Pseudoplot has label. Label is enabled when title argument is set.
In the example bellow, "close value" label is shown with line.
The label is shown at right of the line when recent bar is visible.
It is shown at 15% from the left of visible area when recent bar is not visible.
Just set "" if you don't need label.
//use plot()
plot(close,"close value")
//use pseudoplot
pseudoplot(close, "close value")
Arguments are designed in an order as similar as possible to plot.
plot(series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display, format, precision, force_overlay) → plot
pseudoplot(series, title, ,linecolor ,linewidth, linestyle, labelbg, labeltext, labelsize, shorttitle, format, xpos_from_left, overlay) → pseudo_plot
2. pseudofill
pseudofill() behaves like fill().
The label is shown(text only) at right of the line when recent bar is visible.
It is shown at 10% from the left of visible area when recent bar is not visible.
Just set "" if you don't need label.
//use plot() and fill()
p1=plot(open)
p2=plot(close)
fill(p1,p2)
//use pseudofill()
pseudofill(open,close)
Arguments are designed in an order as similar as possible to fill.
fill(hline1, hline2, color, title, editable, fillgaps, display) → void
pseudofill(series1, series2, fillcolor, title, linecolor, linewidth, linestyle, labeltext, labelsize, shorttitle, format, xpos_from_left, overlay) → pseudo_plot
3. plotarea and its methods
plotarea() makes a box in main chart. You can set the box position to top or bottom, and
the box height in percentage of the range of visible high and low prices.
x-coordinate of the box is from chart.left_visible_bar_time to chart.right_visible_bar_time,
y-coordinate is highest and lowest price of visible bars.
pseudoplot() and pseudofill() work as method of plotarea(box).
Usage is almost same as the function version, just set min and max value, y-coodinate is remapped automatically.
hline() is also available. The y-coordinate of hline is specified as a percentage from the bottom.
plotarea() and its associated methods are overlay=true as default.
Depending on the drawing order of the objects, plot may become invisible, so the bgcolor of plotarea should be na or tranceparent.
//1. make a plotarea
// bgcolor should be na or transparent color.
area=plotarea("bottom",30,"plotarea",bgcolor=na)
//2. plot in a plotarea
//(min=0, max=100 is omitted as it is the default.)
area.pseudoplot(ta.rsi(close,14))
//3. draw hlines
area.hline(30,linestyle="dotted",linewidth=2)
area.hline(70,linestyle="dotted",linewidth=2)
4. Data structure and sub methods
Array management is most imporant part of using polyline.
I don't know the proper way to handle array, so it is managed by array and array as intermediate data.
(type xy_arrays to manage bar_time and price as independent arrays.)
method cparray() pack arrays to array, when array includes both chart.left_visible_bar_time and chart.right_visible_bar.time.
Calling polyline is implemented as methods of array of chart.point.
Method creates polyline object if array is not empty.
method polyline(linecolor, linewidth, linestyle, overlay) → series polyline
method polyline_fill(fillcolor, linecolor, linewidth, linestyle, overlay) → series polyline
Also calling label is implemented as methods of array of chart.point.
Method creates label ofject if array is not empty.
Label is located at right edge of the chart when recent bar is visible, located at left side when recent bar is invisible.
label(title, labelbg, labeltext, labelsize, format, shorttitle, xpos_from_left, overlay) → series label
label_for_fill(title, labeltext, labelsize, format, shorttitle, xpos_from_left, overlay) → series label
visible_xyInit(series)
make arrays of visible x(bar_time) and y(price/value).
Parameters:
series (float) : (float) series variable
Returns: (xy_arrays)
method remap(this, bottom, top, min, max)
Namespace types: xy_arrays
Parameters:
this (xy_arrays)
bottom (float) : (float) bottom price to ajust.
top (float) : (float) top price to ajust.
min (float) : (float) min of src value.
max (float) : (float) max of src value.
Returns: (xy_arrays)
method polyline(this, linecolor, linewidth, linestyle, overlay)
Namespace types: array
Parameters:
this (array)
linecolor (color) : (color) color of polyline.
linewidth (int) : (int) width of polyline.
linestyle (string) : (string) linestyle of polyline. default is line.style_solid("solid"), others line.style_dashed("dashed"), line.style_dotted("dotted").
overlay (bool) : (bool) force_overlay of polyline. default is false.
Returns: (polyline)
method polyline_fill(this, fillcolor, linecolor, linewidth, linestyle, overlay)
Namespace types: array
Parameters:
this (array)
fillcolor (color)
linecolor (color) : (color) color of polyline.
linewidth (int) : (int) width of polyline.
linestyle (string) : (string) linestyle of polyline. default is line.style_solid("solid"), others line.style_dashed("dashed"), line.style_dotted("dotted").
overlay (bool) : (bool) force_overlay of polyline. default is false.
Returns: (polyline)
method label(this, title, labelbg, labeltext, labelsize, format, shorttitle, xpos_from_left, overlay)
Namespace types: array
Parameters:
this (array)
title (string) : (string) label text.
labelbg (color) : (color) color of label bg.
labeltext (color) : (color) color of label text.
labelsize (int) : (int) size of label.
format (string) : (string) textformat of label. default is text.format_none("none"). others text.format_bold("bold"), text.format_italic("italic"), text.format_bold+text.format_italic("bold+italic").
shorttitle (string) : (string) another label text for recent bar is not visible.
xpos_from_left (int) : (int) another label x-position(percentage from left of chart width), when recent bar is not visible. default is 15%.
overlay (bool) : (bool) force_overlay of label. default is false.
Returns: (label)
method label_for_fill(this, title, labeltext, labelsize, format, shorttitle, xpos_from_left, overlay)
Namespace types: array
Parameters:
this (array)
title (string) : (string) label text.
labeltext (color) : (color) color of label text.
labelsize (int) : (int) size of label.
format (string) : (string) textformat of label. default is text.format_none("none"). others text.format_bold("bold"), text.format_italic("italic"), text.format_bold+text.format_italic("bold+italic").
shorttitle (string) : (string) another label text for recent bar is not visible.
xpos_from_left (int) : (int) another label x-position(percentage from left of chart width), when recent bar is not visible. default is 10%.
overlay (bool) : (bool) force_overlay of label. default is false.
Returns: (label)
pseudoplot(series, title, linecolor, linewidth, linestyle, labelbg, labeltext, labelsize, shorttitle, format, xpos_from_left, overlay)
polyline like plot with label
Parameters:
series (float) : (float) series variable to plot.
title (string) : (string) title if need label. default value is ""(disable label).
linecolor (color) : (color) color of line.
linewidth (int) : (int) width of line.
linestyle (string) : (string) style of plotting line. default is "solid", others "dashed", "dotted".
labelbg (color) : (color) color of label bg.
labeltext (color) : (color) color of label text.
labelsize (int) : (int) size of label text.
shorttitle (string) : (string) another label text for recent bar is not visible.
format (string) : (string) textformat of label. default is text.format_none("none"). others text.format_bold("bold"), text.format_italic("italic"), text.format_bold+text.format_italic("bold+italic").
xpos_from_left (int) : (int) another label x-position(percentage from left of chart width), when recent bar is not visible. default is 15%.
overlay (bool) : (bool) force_overlay of polyline and label.
Returns: (pseudo_plot)
method pseudoplot(this, series, title, linecolor, linewidth, linestyle, labelbg, labeltext, labelsize, shorttitle, format, xpos_from_left, min, max, overlay)
Namespace types: series box
Parameters:
this (box)
series (float) : (float) series variable to plot.
title (string) : (string) title if need label. default value is ""(disable label).
linecolor (color) : (color) color of line.
linewidth (int) : (int) width of line.
linestyle (string) : (string) style of plotting line. default is "solid", others "dashed", "dotted".
labelbg (color) : (color) color of label bg.
labeltext (color) : (color) color of label text.
labelsize (int) : (int) size of label text.
shorttitle (string) : (string) another label text for recent bar is not visible.
format (string) : (string) textformat of label. default is text.format_none("none"). others text.format_bold("bold"), text.format_italic("italic"), text.format_bold+text.format_italic("bold+italic").
xpos_from_left (int) : (int) another label x-position(percentage from left of chart width), when recent bar is not visible. default is 15%.
min (float)
max (float)
overlay (bool) : (bool) force_overlay of polyline and label.
Returns: (pseudo_plot)
pseudofill(series1, series2, fillcolor, title, linecolor, linewidth, linestyle, labeltext, labelsize, shorttitle, format, xpos_from_left, overlay)
fill by polyline
Parameters:
series1 (float) : (float) series variable to plot.
series2 (float) : (float) series variable to plot.
fillcolor (color) : (color) color of fill.
title (string)
linecolor (color) : (color) color of line.
linewidth (int) : (int) width of line.
linestyle (string) : (string) style of plotting line. default is "solid", others "dashed", "dotted".
labeltext (color)
labelsize (int)
shorttitle (string)
format (string) : (string) textformat of label. default is text.format_none("none"). others text.format_bold("bold"), text.format_italic("italic"), text.format_bold+text.format_italic("bold+italic").
xpos_from_left (int) : (int) another label x-position(percentage from left of chart width), when recent bar is not visible. default is 15%.
overlay (bool) : (bool) force_overlay of polyline and label.
Returns: (pseudoplot)
method pseudofill(this, series1, series2, fillcolor, title, linecolor, linewidth, linestyle, labeltext, labelsize, shorttitle, format, xpos_from_left, min, max, overlay)
Namespace types: series box
Parameters:
this (box)
series1 (float) : (float) series variable to plot.
series2 (float) : (float) series variable to plot.
fillcolor (color) : (color) color of fill.
title (string)
linecolor (color) : (color) color of line.
linewidth (int) : (int) width of line.
linestyle (string) : (string) style of plotting line. default is "solid", others "dashed", "dotted".
labeltext (color)
labelsize (int)
shorttitle (string)
format (string) : (string) textformat of label. default is text.format_none("none"). others text.format_bold("bold"), text.format_italic("italic"), text.format_bold+text.format_italic("bold+italic").
xpos_from_left (int) : (int) another label x-position(percentage from left of chart width), when recent bar is not visible. default is 15%.
min (float)
max (float)
overlay (bool) : (bool) force_overlay of polyline and label.
Returns: (pseudo_plot)
plotarea(pos, height, title, bordercolor, borderwidth, bgcolor, textsize, textcolor, format, overlay)
subplot area in main chart
Parameters:
pos (string) : (string) position of subplot area, bottom or top.
height (int) : (float) percentage of visible chart heght.
title (string) : (string) text of area box.
bordercolor (color) : (color) color of border.
borderwidth (int) : (int) width of border.
bgcolor (color) : (string) color of area bg.
textsize (int)
textcolor (color)
format (string)
overlay (bool) : (bool) force_overlay of polyline and label.
Returns: (box)
method hline(this, ypos_from_bottom, linecolor, linestyle, linewidth, overlay)
Namespace types: series box
Parameters:
this (box)
ypos_from_bottom (float) : (float) percentage of box height from the bottom of box.(bottom is 0%, top is 100%).
linecolor (color) : (color) color of line.
linestyle (string) : (string) style of line.
linewidth (int) : (int) width of line.
overlay (bool) : (bool) force_overlay of polyline and label.
Returns: (line)
pseudo_plot
polyline and label.
Fields:
p (series polyline)
l (series label)
xy_arrays
x(bartime) and y(price or value) arrays.
Fields:
t (array)
p (array)
Globex Trap ZoneGlobex Trap Indicator
A powerful tool designed to identify potential trading opportunities by analyzing the relationship between Globex session ranges and Supply & Demand zones during regular trading hours.
Key Features
Tracks and visualizes Globex session price ranges
Identifies key Supply & Demand zones during regular trading hours
Highlights potential trap areas where price might experience significant reactions
Fully customizable time ranges and visual settings
Clear labeling of Globex highs and lows
How It Works
The indicator tracks two key periods:
Globex Session (Default: 6:00 PM - 9:30 AM)
Monitors overnight price action
Marks session high and low
Helps identify potential range breakouts
Supply & Demand Zone (Default: 8:00 AM - 11:00 AM)
Tracks price action during key market hours
Identifies potential reaction zones
Helps spot institutional trading areas
Best Practices for Using This Indicator
Use on 1-hour timeframe or lower for optimal visualization
Best suited for futures and other instruments traded during Globex sessions
Pay attention to areas where Globex range and Supply/Demand zones overlap
Use in conjunction with your existing trading strategy for confirmation
Recommended minimum of 10 days of historical data for context
Settings Explanation
Globex Session: Customizable time range for overnight trading session
Supply & Demand Zone: Adjustable time range for regular trading hours
Days to Look Back: Number of historical days to display (default: 10)
Visual Settings: Customizable colors and transparency for both zones
Important Notes
All times are based on exchange timezone
The indicator respects overnight sessions and properly handles timezone transitions
Historical data requirements: Minimum 10 days recommended
Performance impact: Optimized for smooth operation with minimal resource usage
Disclaimer
Past performance is not indicative of future results. This indicator is designed to be used as part of a comprehensive trading strategy and should not be relied upon as the sole basis for trading decisions.
Updates and Support
I actively maintain this indicator and welcome feedback from the trading community. Please feel free to leave comments or suggestions for improvements.
Prometheus Topological Persistent EntropyPersistence Entropy falls under the branch of math topology. Topology is a study of shapes as they twist and contort. It can be useful in the context of markets to determine how volatile they may be and different from the past.
The key idea is to create a persistence diagram from these log return segments. The persistence diagram tracks the "birth" and "death" of price features:
A birth occurs when a new price pattern or feature emerges in the data.
A death occurs when that pattern disappears.
By comparing prices within each segment, the script tracks how long specific price features persist before they die out. The lifetime of each feature (difference between death and birth) represents how robust or fleeting the pattern is. Persistent price features tend to reflect stable trends, while shorter-lived features indicate volatility.
Entropy Calculation: The lifetimes of these patterns are then used to compute the entropy of the system. Entropy, in this case, measures the amount of disorder or randomness in the price movements. The more varied the lifetimes, the higher the entropy, indicating a more volatile market. If the price patterns exhibit longer, more consistent lifetimes, the entropy is lower, signaling a more stable market.
Calculation:
We start by getting log returns for a user defined look back value. In the compute_persistent_entropy function we separate the overall log returns into windows. We then compute persistence diagrams of the windows. It tracks the birth and death of price patterns to see how persistent they are. Then we calculate the entropy of the windows.
After we go through that process we get an array of entropies, we then smooth it by taking the sum of all of them and dividing it by how many we have so the indicator can function better.
// Calculate log returns
log_returns = array.new()
for i = 1 to lgr_lkb
array.push(log_returns, math.log(close / close ))
// Function to compute a simplified persistence diagram
compute_persistence_diagram(segment) =>
n = array.size(segment)
lifetimes = array.new()
for i = 0 to n - 1
for j = i + 1 to n - 1
birth = array.get(segment, i)
death = array.get(segment, j-1)
if birth != death
array.push(lifetimes, math.abs(death - birth))
lifetimes
// Function to compute entropy of a list of values
compute_entropy(values) =>
n = array.size(values)
if n == 0
0.0
else
freq_map = map.new()
total_sum = 0.0
for i = 0 to n - 1
value = array.get(values, i)
//freq_map := freq_map.get(value, 0.0) + 1
map.put(freq_map, value, value + 1)
total_sum += 1
entropy = 0.0
for in freq_map
p = count / total_sum
entropy -= p * math.log(p)
entropy
compute_persistent_entropy(log_returns, window_size) =>
n = (lgr_lkb) - (2 * window_size) + 1
entropies = array.new()
for i = 0 to n - 1
segment1 = array.new()
segment2 = array.new()
for j = 0 to window_size - 1
array.push(segment1, array.get(log_returns, i + j))
array.push(segment2, array.get(log_returns, i + window_size + j))
dgm1 = compute_persistence_diagram(segment1)
dgm2 = compute_persistence_diagram(segment2)
combined_diagram = array.concat(dgm1, dgm2)
entropy = compute_entropy(combined_diagram)
array.push(entropies, entropy)
entropies
//---------------------------------------------
//---------------PE----------------------------
//---------------------------------------------
// Calculate Persistent Entropy
entropies = compute_persistent_entropy(log_returns, window_size)
smooth_pe = array.sum(entropies) / array.size(entropies)
This image illustrates how the indicator works for traders. The purple line is the actual indicator value. The line that changes from green to red is a SMA of the indicator value, we use this to determine bullish or bearish. When the smoothed persistence entropy is above it’s SMA that signals bearishness.
The indicator tends to look prettier on higher time frames, we see NASDAQ:TSLA on a 4 hour here and below we see it on the 5 minute.
On a lower time frame it looks a little weird but still functions the same way.
Prometheus encourages users to use indicators as tools along with their own discretion. No indicator is 100% accurate. We encourage comments about requested features and criticism.
Prior Day High/Low and Highest High/Lowest LowFeatures:
Prior Day High and Low:
The script tracks and displays the previous trading day's high and low prices. These levels can serve as important areas of support or resistance, helping traders to make informed decisions about potential price reversals or breakouts.
Highest High and Lowest Low Over N Days:
This indicator also tracks and displays the highest high and lowest low over the last N days, where N is user-configurable. This allows traders to see broader trends in price action and identify key levels for potential trend changes.
User-Configurable Inputs:
Show Prior Day High/Low: Toggle whether to display the prior day’s high and low levels.
Days to Consider for Highest High/Lowest Low: Define the number of days over which the highest high and lowest low are calculated.
Show Highest High/Lowest Low: Toggle whether to display the highest high and lowest low levels over the specified period.
Low Source and High Source: Customize the data sources for the high and low values.
Automatic Data Handling:
The script automatically tracks the daily high and low prices, storing them in arrays, and calculates the highest and lowest prices over the user-specified number of days. When a new day begins, the prior day's data is saved, and the calculations are updated accordingly.
Visual Display:
The indicator uses distinct colors and plotting styles:
Prior day’s high and low are plotted as blue circles.
The highest high over N days is plotted as a red circle.
The lowest low over N days is plotted as a green circle.
This indicator helps traders stay informed about significant price levels, which are often used in trading strategies for breakouts, trend following, or reversals.
Essa's Indicator 2.0Essa's Indicator V2: Beginner's Guide
This custom TradingView indicator has been designed to help you identify key trading opportunities based on session highs/lows, volatility, and moving averages. Below is a breakdown of the main features:
1. Exponential Moving Averages (EMAs)
Fast EMA (Blue Line): Tracks the short-term market trend (default: 9-period EMA).
Slow EMA (Red Line): Tracks the longer-term market trend (default: 21-period EMA).
You can turn on/off the EMAs using the "Show EMAs" option in the settings.
EMAs help smooth out price action and give a clearer picture of trends. A crossover of the fast EMA above the slow EMA can signal an upward trend, while the reverse may indicate a downward trend.
2. Session Highs and Lows
The indicator tracks price highs and lows for three major trading sessions:
London Session (Red): Highlighted in red. Active between 08:00 and 17:00 (LDN timezone) or 03:00 and 12:00 (NY timezone).
New York Session (Blue): Highlighted in blue. Active between 12:00 and 21:00 (LDN timezone) or 07:00 and 16:00 (NY timezone).
Asia Session (Yellow): Highlighted in yellow. Active between 22:00 and 08:00 (LDN timezone) or 18:00 and 03:00 (NY timezone).
Highs and lows for each session are plotted on the chart as lines. Breakouts from these levels can signal important trading opportunities:
London High/Low: Red lines.
New York High/Low: Blue lines.
Asia High/Low: Yellow lines.
The background color also changes depending on the active session:
London: Light red background.
New York: Light blue background.
Asia: Light yellow background.
3. Breakout Alerts
You can set alerts when the price breaks above or below session highs/lows:
Break Above London High: Alert triggered when the price crosses the London session high.
Break Below London Low: Alert triggered when the price falls below the London session low.
Similar alerts exist for the New York and Asia sessions as well.
4. Volatility-Adjusted EMA
The EMAs in this indicator are adjusted based on volatility (ATR - Average True Range). This allows the EMAs to respond to market conditions more dynamically, giving you more accurate trend readings in volatile markets.
5. ZigZag Feature (Optional)
You can enable the ZigZag feature to help visualize the price action's highs and lows:
ZigZag Lines: Highlight major peaks and troughs in price movements, helping you spot trends more easily.
This is helpful for identifying reversals or trend continuations.
6. Fractal Markers
This indicator uses fractals to mark potential turning points in the market:
Green Triangles (Above the Price): Indicate up fractals (potential reversal points where the price could move upwards).
Red Triangles (Below the Price): Indicate down fractals (potential reversal points where the price could move downwards).
Fractals can be a helpful confirmation tool when identifying entry and exit points.
7. Custom Timezone Options
You can choose between London (LDN) and New York (NY) timezones in the settings to adapt the session times to your trading location. This ensures the session high/low markers are displayed correctly for your trading region.
By default, the New York (NY) timezone is enabled for FXCM charts in the UK.
For BTC charts, you will need to switch to the appropriate time zone manually.
Thanks
Essa
Multi SMA EMA WMA HMA BB (4x5 MAs Bollinger Bands) Adv MTF - RRBMulti SMA EMA WMA HMA 4x5 Moving Averages with Bollinger Bands Advanced MTF by RagingRocketBull 2019
Version 1.0
This indicator shows multiple MAs of any type SMA EMA WMA HMA etc with BB and MTF support, can show MAs as dynamically moving levels.
There are 4 MA groups + 1 BB group, a total of 4 TFs * 5 MAs = 20 MAs. You can assign any type/timeframe combo to a group, for example:
- EMAs 12,26,50,100,200 x H1, H4, D1, W1 (4 TFs x 5 MAs x 1 type)
- EMAs 8,10,13,21,30,50,55,100,200,400 x M15, H1 (2 TFs x 10 MAs x 1 type)
- D1 EMAs and SMAs 8,10,12,26,30,50,55,100,200,400 (1 TF x 10 MAs x 2 types)
- H1 WMAs 7,77,89,167,231; H4 HMAs 12,26,50,100,200; D1 EMAs 89,144,169,233,377; W1 SMAs 12,26,50,100,200 (4 TFs x 5 MAs x 4 types)
- +1 extra MA type/timeframe for BB
There are several versions: Simple, MTF, Pro MTF, Advanced MTF and Ultimate MTF. This is the Advanced MTF version. The Differences are listed below. All versions have BB
- Simple: you have 2 groups of MAs that can be assigned any type (5+5)
- MTF: +2 custom Timeframes for each group (2x5 MTF) +1 TF for BB, TF XY smoothing
- Pro MTF: 4 custom Timeframes for each group (4x3 MTF), 1 TF for BB, MA levels and show max bars back options
- Advanced MTF: +2 extra MAs/group (4x5 MTF), custom Ticker/Symbols, Timeframe <>= filter, Remove Duplicates Option
- Ultimate MTF: +individual settings for each MA, custom Ticker/Symbols
Features:
- 4x5 = 20 MAs of any type
- 4x MTF groups with XY step line smoothing
- +1 extra TF/type for BB MAs
- 4x5 = 20 MA levels with adjustable group offsets, indents and shift
- supports any existing type of MA: SMA, EMA, WMA, Hull Moving Average (HMA)
- custom tickers/symbols for each group - you can compare MAs of the same symbol across exchanges
- show max bars back option
- show/hide both groups of MAs/levels/BB and individual MAs
- timeframe filter: show only MAs/Levels with TFs <>= Current TF
- hide MAs/Levels with duplicate TFs
- support for custom TFs that are not available in free accounts: 2D, 3D etc
- support for timeframes in H: H, 2H, 4H etc
Notes:
- Uses timeframe textbox instead of input resolution dropdown to allow for 240 120 and other custom TFs
- Uses symbol textbox instead of input symbol to avoid establishing multiple dummy security connections to the current ticker - otherwise empty symbols will prevent script from running
- Possible reasons for missing MAs on a chart:
- there may not be enough bars in history to start plotting it. For example, W1 EMA200 needs at least 200 bars on a weekly chart.
- price << default Y smoothing step 5. For charts with low/fractional prices (i.e. 0.00002 << 5) adjust X Y smoothing as needed (set Y = 0.0000001) or disable it completely (set X,Y to 0,0)
- TradingView Replay Mode UI and Pinescript security calls are limited to TFs >= D (D,2D,W,MN...) for free accounts
- attempting to plot any TF < D1 in Replay Mode will only result in straight lines, but all TFs will work properly in history and real-time modes. This is not a bug.
- Max Bars Back (num_bars) is limited to 5000 for free accounts (10000 for paid), will show error when exceeded. To plot on all available history set to 0 (default)
- Slow load/redraw times. This indicator becomes slower, its UI less responsive when:
- Pinescript Node.js graphics library is too slow and inefficient at plotting bars/objects in a browser window. Code optimization doesn't help much - the graphics engine is the main reason for general slowness.
- the chart has a long history (10000+ bars) in a browser's cache (you have scrolled back a couple of screens in a max zoom mode).
- Reload the page/Load a fresh chart and then apply the indicator or
- Switch to another Timeframe (old TF history will still remain in cache and that TF will be slow)
- in max possible zoom mode around 4500 bars can fit on 1 screen - this also slows down responsiveness. Reset Zoom level
- initial load and redraw times after a param change in UI also depend on TF. For example:
D1/W1 - 2 sec, H1/H4 - 5-6 sec, M30 - 10 sec, M15/M5 - 4 sec, M1 - 5 sec.
M30 usually has the longest history (up to 16000 bars) and W1 - the shortest (1000 bars).
- when indicator uses more MAs (plots) and timeframes it will redraw slower. Seems that up to 5 Timeframes is acceptable, but 6+ Timeframes can become very slow.
- show_last=last_bars plot limit doesn't affect load/redraw times, so it was removed from MA plot
- Max Bars Back (num_bars) default/custom set UI value doesn't seem to affect load/redraw times
- In max zoom mode all dynamic levels disappear (they behave like text)
1. based on 3EmaBB, uses plot*, barssince and security functions
2. you can't set certain constants from input due to Pinescript limitations - change the code as needed, recompile and use as a private version
3. Levels = trackprice implementation
4. Show Max Bars Back = show_last implementation
5. swma has a fixed length = 4, alma and linreg have additional offset and smoothing params
6. Smoothing is applied by default for visual aesthetics on MTF. To use exact ma mtf values (lines with stair stepping) - disable it
Good Luck! You can explore, modify/reuse the code to build your own indicators.
Seasonality (advanced)Script show up to 7 previous values of 'source' input for a specified period of days. Use inputs to select period: 365 (approximately) for years, or any other period (1, 7, 30, 90...). You can hide extra plots, customize their colors, apply this to another indicator or enable 'trackprice'.
On showcase:
Top indicator shows a close price for previous 3 years, and curent year
Bottom: a volume ma for previous years.
BK AK-SILENCER🚨 Introducing BK AK-SILENCER — Volume Footprint Warfare, Right on the Price Bars 🚨
This isn’t a traditional indicator.
This is a tactical weapon — engineered to expose institutional behavior directly in the bar data, using volume logic, CVD divergence, and spike detection to pinpoint who’s really in control of the tape.
No panels. No clutter.
Just silent execution — built directly into price itself.
🔥 Why "SILENCER"?
Because real power moves in silence.
Institutions don’t chase — they build positions quietly, in size, beneath the surface.
BK AK-SILENCER gives you a real-time edge by visually revealing their footprints through color-coded bar behavior, divergence signals, and volume spike alerts — all directly on your chart.
🔹 “AK” honors my mentor A.K., whose training forged my trading discipline.
🔹 “SILENCER” represents the institutional mindset — high impact, low visibility. This tool lets you trade like them: without noise, without hesitation, with deadly clarity.
🧠 What Is BK AK-SILENCER?
A bar-level institutional detection tool, purpose-built to:
✅ Color-code bars based on volume aggression and close-location inside range
✅ Detect real-time bullish and bearish divergences between price and volume delta
✅ Tag volume spikes with a $ symbol to expose potential traps or silent position builds
✅ Overlay VWAP for real-time mean-reversion biasing
No extra windows.
No indicators talking over each other.
Just pure volume-logic weaponry embedded into price.
⚙️ What This Weapon Deploys
🔸 Bar Coloring Logic (Volume Footprint)
🟢 Power Buy = Strong close near highs on elevated volume
🟩 Accumulation = Weak close but still heavy volume
🔴 Power Sell = Strong close near lows on heavy selling
🟥 Distribution / Weakness = Low close without commitment
❗ Extreme Volume Spikes marked with $ — using standard deviation to highlight institutional bursts
🔸 CVD Divergence Detection
→ Tracks cumulative volume delta and compares it to price pivot behavior
Bullish Divergence = Price makes lower lows, CVD makes higher lows → hidden accumulation
Bearish Divergence = Price makes higher highs, CVD makes lower highs → hidden distribution
All plotted directly on bars with triangle markers.
🔸 VWAP Overlay (Optional)
→ Anchored VWAP gives immediate context for intraday bias — above VWAP = demand, below = supply
🎯 How to Use BK AK-SILENCER
🔹 Silent Reversal Detection
Bullish divergence + Power Buy bar + VWAP reclaim = sniper entry
Bearish divergence + Power Sell bar + VWAP rejection = trap confirmation
🔹 Volume-Based Entry Triggers
Look for Power Buy + $ spike after a pullback → watch for quiet reversal
Accumulation colors clustering? Institutions are likely loading silently
🔹 Institutional Trap Warnings
$ spike + red distribution bar at highs = time to exit or flip
Weakness bar below VWAP? Don’t chase the long.
🛡️ Why It Matters
✅ Clean — it integrates into price action, no separate panels
✅ Silent — tracks institutions who build without alerts or indicators
✅ Tactical — no fluff, no lag, just real-time behavior recognition
This tool is ideal for:
🔸 Scalpers reading bar-by-bar
🔸 Intraday swing traders using VWAP and structure
🔸 Professionals who need volume behavior decoded in real-time
🔸 Anyone who wants signal without clutter
🙏 Final Thoughts
This tool isn’t just about trading — it’s about tactical awareness.
🔹 Dedicated to my mentor A.K., whose wisdom runs deep in every logic tree.
🔹 Above all, I give thanks to Gd, the source of clarity, courage, and conviction.
Without Him, even the sharpest system is blind.
With Him, we execute with structure, purpose, and divine alignment.
⚡ No noise. No clutter. No delay. Just raw, silent execution.
🔥 BK AK-SILENCER — Bar-Level Volume Footprint Precision 🔥
Gd bless every step you take in this market.
Trade with clarity, move with intention. 🙏
80% Rule Indicator (ETH Session + SVP Prior Session)I created this script to show the 80% opportunity on chart if setting lines up.
"80% rule: Open outside the vah or Val. Spend 30 mins outside there then break back inside spend 15 mins below or above depending which way u broke. Then come back and retest the vah/val and take it to the poc as a first target with the final target being the other Val/vah "
📌 Script Summary
The "80% Rule Indicator (ETH Session + SVP Prior Session)" overlays your chart with prior session value area levels (VAH, VAL, and POC) calculated from extended-hours 30-minute data. It tracks when the price reenters the value area and confirms 80% Rule setups during your chosen trading session. You can optionally trigger alerts, show/hide market sessions, and fine-tune line appearance for a clean, modular workflow.
⚙️ Options & Settings Breakdown
- Use 24-Hour Session (All Markets)
When checked, the indicator ignores time zones and tracks signals during a full 24-hour period (0000-0000), helpful if you're outside U.S. trading hours or want consistent behavior globally.
- Market Session
Dropdown to select one of three key market zones:
- New York (09:30–16:00 ET)
- London (08:00–16:30 local)
- Tokyo (09:00–15:00 local)
Used to gate entry signals during relevant hours unless you choose the 24-hour option.
- Show PD VAH/VAL/POC Lines
Toggle to show or hide prior day’s levels (based on the 30-min extended session). Turning this off removes both the lines and their white text labels.
- Extend Lines Right
When enabled, the VAH/VAL/POC lines extend into the current day’s session. If disabled, they appear only at their anchor point.
- Highlight Selected Session
Adds a soft blue background to help visualize the active session you selected.
- Enable Alert Conditions
Allows TradingView alerts to be created for long/short 80% Rule entries.
- Enable Audible Alerts
Plays an in-chart sound with a popup message (“80% Rule LONG” or “SHORT”) when signals trigger. Requires the chart to be active and sounds enabled in TradingView.
21DMA Structure Counter (EMA/SMA Option)21DMA Structure Counter (EMA/SMA Option)
Overview
The 21DMA Structure Counter is an advanced technical indicator that tracks consecutive periods where price action remains above a 21-period moving average structure. This indicator helps traders identify momentum phases and potential trend exhaustion points using statistical analysis.
Key Features
Moving Average Structure
- Configurable MA Type: Choose between EMA (Exponential Moving Average) or SMA (Simple Moving Average)
- 21-Period Default: Optimized for the widely-watched 21-period moving average
- Triple MA Structure: Tracks high, close, and low moving averages for comprehensive analysis
Statistical Analysis
- Cycle Counting: Automatically counts consecutive periods above the MA structure
- Historical Data: Maintains up to 2,500 historical cycles (approximately 10 years of daily data)
- Z-Score Calculation: Provides statistical context using mean and standard deviation
- Multiple Standard Deviation Levels: Displays +1, +2, and +3 standard deviation thresholds
Visual Indicators
Color-Coded Bars:
- Gray: Below 10-year average
- Yellow: Between average and +1 standard deviation
- Orange: Between +1 and +2 standard deviations
- Red: Between +2 and +3 standard deviations
- Fuchsia: Above +3 standard deviations (extreme readings)
Breadth Integration
- Multiple Breadth Options: NDFI, NDTH, NDTW (NASDAQ breadth indicators), or VIX
- Background Shading: Visual alerts when breadth reaches extreme levels
- High/Low Thresholds: Customizable levels for breadth analysis
- Real-time Display: Current breadth value shown in data table
Smart Reset Logic
- High Below Structure Reset: Automatically resets count when daily high falls below the lowest MA
- Flexible Hold Period: Continues counting during temporary weakness as long as structure isn't violated
- Precise Entry/Exit: Strict criteria for starting cycles, flexible for maintaining them
How to Use
Trend Identification
- Rising Counts: Indicate sustained momentum above key moving average structure
- Extreme Readings: Z-scores above +2 or +3 suggest potential trend exhaustion
- Historical Context: Compare current cycles to 10-year statistical averages
Risk Management
- Breadth Confirmation: Use breadth shading to confirm market-wide strength/weakness
- Statistical Extremes: Exercise caution when readings reach +3 standard deviations
- Reset Signals: Pay attention to structure violations for potential trend changes
Multi-Timeframe Application
- Daily Charts: Primary timeframe for swing trading and position management
- Weekly/Monthly: Longer-term trend analysis
- Intraday: Shorter-term momentum assessment (adjust MA period accordingly)
Settings
Moving Average Options
- Type: EMA or SMA selection
- Period: Default 21 (customizable)
- Reset Days: Days below structure required for reset
Visual Customization
- Standard Deviation Lines: Toggle and customize colors for +1, +2, +3 SD
- Breadth Selection: Choose from NDFI, NDTH, NDTW, or VIX
- Threshold Levels: Set custom high/low breadth thresholds
- Table Styling: Customize text colors, background, and font size
Technical Notes
- Data Retention: Maintains 2,500 historical cycles for robust statistical analysis
- Real-time Updates: Calculations update with each new bar
- Breadth Integration: Uses security() function to pull external breadth data
- Performance Optimized: Efficient array management prevents memory issues
Best Practices
1. Combine with Price Action: Use alongside support/resistance and chart patterns
2. Monitor Breadth Divergences: Watch for breadth weakness during strong readings
3. Respect Statistical Extremes: Exercise caution at +2/+3 standard deviation levels
4. Context Matters: Consider overall market environment and sector rotation
5. Risk Management: Use appropriate position sizing, especially at extreme readings
Disclaimer
This indicator is for educational and informational purposes only. It should not be used as the sole basis for trading decisions. Always combine with other forms of analysis and proper risk management techniques.
Compatible with Pine Script v6 | Optimized for daily timeframes | Best used on major indices and liquid stocks
TBL Session Highs&LowsBL Session Highs&Lows is a versatile intraday tool that highlights key price levels within up to 11 configurable trading sessions. It displays session highs, lows, and optional open levels, with customizable lines, labels, and boxes — perfect for tracking price behavior across sessions like Asia, London, and New York.
🔧 Key Features
🧩 Up to 11 fully customizable sessions
📍 High, Low, and Open lines with adjustable color, style, and width
🧱 Optional boxes showing session range, dynamically colored based on price movement
🏷️ Session labels for visual orientation
🔁 Extendable lines to project levels beyond the session
🌐 Custom time zone support for each session
🎨 Fully customizable visuals for clear chart integration
📈 Designed for:
Intraday session tracking (e.g., Asia, London, NY)
Session-based strategies (breakouts, reversals, liquidity zones)
Open-level reference (e.g., NY open)
Visual separation of trading periods
Example Scenarios:
🟦 "Asia" session: 18:00–00:00 GMT-4 with full box and lines
🟩 "London" session: 00:00–06:00 with high/low lines only
🟥 Segmented NY sessions (Q1–Q4) for fine-grained intraday tracking
✅ Tip: Enable only the sessions you need to keep your chart clean and focused.
Previous Two Days HL + Asia H/L + 4H Vertical Lines📊 Indicator Overview
This custom TradingView indicator visually marks key market structure levels and session data on your chart using lines, labels, boxes, and vertical guides. It is designed for traders who analyze intraday and multi-session behavior — especially around the New York and Asia sessions — with a focus on 4-hour price ranges.
🔍 What the Indicator Tracks
1. Previous Two Days' Ranges (6PM–5PM NY Time)
PDH/PDL (Day 1 & Day 2): Draws horizontal lines marking the previous two trading days’ highs and lows.
Midlines: Calculates and displays the midpoint between each day’s high and low.
Color-Coded: Uses strong colors for Day 1 and more transparent versions for Day 2, to help differentiate them.
2. Asia Session High/Low (6 PM – 2 AM NY Time)
Automatically tracks the high and low during the Asia session.
Extends these levels until the following day’s NY close (4 PM).
Shows a midline of the Asia session (optional dotted line).
Highlights the Asia session background in gray.
Labels Asia High and Low on the chart for easy reference.
3. Last Closed 4-Hour Candle Range
At the start of every new 4H candle, it:
Draws a box from the last closed 4H candle.
Box spans horizontally across a set number of bars (adjustable).
Top and bottom lines indicate the high and low of that 4H candle.
Midline, 25% (Q1) and 75% (Q3) levels are also drawn inside the box using dotted lines.
Helps traders identify premium/discount zones within the previous 4H range.
4. Vertical 4H Time Markers
Draws vertical dashed lines to mark the start and end of the last 4H candle range.
Based on the standard 4H bar timing in NY (e.g. 5:00, 9:00, 13:00, 17:00).
⚙️ Inputs & Options
Line thickness, color customization for all levels.
Option to place labels on the right or left side of the chart.
Toggle for enabling/disabling the 4H box.
Adjustable box extension length (how far to extend the range visually).
✅ Ideal Use Cases
Identifying reaction zones from prior highs/lows.
Spotting reversals during Asia or NY session opens.
Trading intraday setups based on 4H structure.
Anchoring scalping or swing entries off major session levels.
Options Risk Manager v2.2.0 - Priority 7 CompleteScript Description for TradingView Publication
Options Risk Manager v2.2.0 - Priority 7 Complete
What does this script do?
Options Risk Manager v2.2.0 is a comprehensive position management system designed specifically for options traders. The indicator calculates precise stop loss levels, risk/reward targets, and position sizing based on user-defined risk parameters. It provides real-time profit/loss tracking, options Greeks monitoring, and automated alert systems for critical price levels.
The script displays entry points, stop losses, and profit targets directly on the chart while continuously calculating position metrics including dollar risk, account exposure, and probability of success. Version 2.2.0 introduces Priority 7 advanced alerts with dynamic risk warnings and multi-condition notifications.
How does it do it?
The script performs several key calculations:
1. Risk-Based Stop Loss Calculation - Determines stop loss levels based on percentage of entry price, automatically adjusting for calls versus puts. Put positions place stops above entry, while calls place stops below.
2. Position Sizing Algorithm - Calculates optimal contract quantities using account size, risk
percentage, and stop distance to ensure consistent risk per trade regardless of underlying price.
3. Options-Specific P&L Tracking - Incorporates Delta, Gamma, Vega, and Theta to provide accurate profit/loss calculations for options positions, including time decay effects.
4. Three-Phase Trade Management - Implements systematic position management through Entry
Phase (initial risk), Profit Phase (approaching target), and Trailing Phase (EMA-based exit
management).
5. Multi-Level Alert System - Monitors price action, Greeks thresholds, time decay acceleration, and account risk levels to generate context-aware notifications.
How to use it?
Initial Setup:
1. Apply indicator to any optionable security
2. Toggle "In Position" ON when entering a trade
3. Set Direction (Call/Put) and Side (Long/Short)
4. Enter the underlying price at position entry
5. Specify number of contracts and risk percentage
Position Management:
Blue line shows entry price
Red line indicates stop loss level
Orange line displays risk/reward target
Purple EMA line activates after target hit
Monitor real-time P&L in trade panels
Alert Configuration:
Enable Advanced Alerts in settings
Set profit/loss notification thresholds
Configure Greek-based warnings
Activate time decay alerts for expiration
Risk Parameters:
Risk % determines stop distance from entry
Account Value sets position sizing limits
Contract Multiplier (standard = 100)
R:R Ratio defines profit targets
What makes it unique?
Options Risk Manager addresses the specific challenges of options trading that generic indicators miss. The script accounts for the inverse relationship in put options (profiting from price declines), incorporates Greeks for accurate P&L calculations, and provides options-specific limit orders for TradeStation integration.
The three-phase management system removes emotional decision-making by defining clear rules for position management. Phase transitions occur automatically based on price action, shifting from initial risk management to profit protection to trend-following modes.
Version 2.2.0's Priority 7 alert system provides intelligent notifications that include live metrics, risk warnings, and market context rather than simple price crosses.
Key Features Summary
Options-Specific Calculations - Proper handling of calls/puts with inverse relationships
Risk-Based Position Sizing - Consistent risk regardless of underlying price
Greeks Integration - Delta, Gamma, Vega, Theta for accurate tracking
Phase Management System - Systematic three-stage position handling
Advanced Alert System - Context-aware notifications with metrics
TradeStation Integration - Option limit orders for execution
Visual Risk Display - Clear chart overlays for all levels
Probability Calculator - Win/loss probability with expected value
Multi-Account Support - Scales from small to large accounts
Important Notes
This indicator requires manual input of option prices and Greeks (available from your broker's option chain). It functions as a risk management overlay and does not generate entry signals. The calculations assume standard options contracts of 100 shares.
Designed for TradeStation platform with full functionality. Basic features available on other platforms
without options data integration. Always verify calculations with your broker's risk system before placing
trades.
Candle Count RSI📈 Candle Count RSI — A Dual-Perspective Momentum Engine
The Candle Count RSI is a custom-built momentum oscillator that expands on the classic Relative Strength Index (RSI) by introducing a directional-only variant that tracks the frequency of bullish or bearish closes, rather than price magnitude. It gives traders a second lens through which to evaluate momentum, trend conviction, and subtle divergences—often invisible to traditional price-based RSI.
💡 What Makes It Unique?
While the standard RSI is sensitive to the size of price changes, the Candle Count RSI is magnitude-blind. It counts candle closes above/below open over a lookback period, generating a purer signal of directional consistency. To enhance signal fidelity, it includes a streak amplifier, dynamically weighting extended runs of green or red candles to reflect intensity of market bias—without introducing artificial price sensitivity.
This dual-RSI approach allows for:
- Divergence detection between directional bias and price magnitude.
- Smoother trend confirmation in choppy markets.
- Cleaner visual cues using dynamic glow and background logic.
📐 How Standard RSI Actually Works (Not What You Think)
RSI doesn’t just check if price went up or down over a span—it checks each individual candle and tracks whether it closed higher or lower than the one before. Here's how it works under the hood:
1.) For each bar, it calculates the change from the previous close.
2.) It separates those changes into gains (upward moves) and losses (downward moves).
3.) Then it computes a smoothed average of those gains and losses (usually using an RMA).
4.) It calculates the Relative Strength (RS) as:
RS = AvgGain / AvgLoss
5.) Finally, it plugs that into the RSI formula:
RSI = 100 - (100 / (1 + RS))
⚖️ What Does the 50 Line Mean?
- The RSI scale runs from 0 to 100, but 50 is the true neutral zone:
- RSI > 50 means average gains outweigh average losses over the period.
- RSI < 50 means losses dominate.
- RSI ≈ 50? The market is balanced—momentum is indecisive, no clear trend bias.
- This makes 50 a powerful midline for trend filters, directional bias tools, and divergence detection—especially when paired with alternative RSI logic like Candle Count RSI.
🔧 Inputs and Customization
- Everything is fully modular and customizable:
🧠 Core Settings
- RSI Length: Used for both the standard RSI and Candle Count RSI.
📉 Standard RSI
- Classic RSI calculation based on price changes.
- Optional WMA smoothing to reduce noise.
- Glow effect toggle with custom intensity.
🕯 Candle Count RSI
- Computes RSI using only the count of up/down candles.
- Optional smoothing for stability.
- Amplifies streaks (e.g., multiple consecutive bullish candles increase strength).
- Glow effect toggle with adjustable strength.
🎇 Glow Visuals
- Background glow (subpane and/or main chart).
- Fades based on RSI distance from the 50 midpoint.
- Independent color settings for bull and bear bias.
🧬 Divergence Zones
- Detects when Candle RSI and Standard RSI diverge.
- Highlights:
- Bullish Divergence: Candle RSI > 50, Standard RSI < threshold.
- Bearish Divergence: Candle RSI < 50, Standard RSI > threshold.
- Background fill optionally shown in subpane and/or main chart.
📊 Directional Histogram
- MACD-style histogram showing the difference between the two RSI lines.
- Color-coded based on directional agreement:
- Both rising → green.
- Both falling → red.
- Conflict → yellow.
🧠 Under the Hood — How It Works
🔹 Standard RSI
- Classic ta.rsi() applied to close prices, optionally WMA-smoothed.
🔹 Candle Count RSI (CCR)
- Counts how many candles closed up/down over the period.
- Computes a magnitude-free RSI from these counts.
- Applies a streak-based multiplier to exaggerate trend strength during consecutive green/red runs.
- Optionally smoothed with WMA to create a clean signal line.
- This makes CCR ideal for detecting true directional bias without being faked out by volatile price spikes.
🔹 Divergence Logic
- When Candle RSI and Standard RSI disagree strongly across defined thresholds, background fills highlight early signs of momentum decay or hidden accumulation/distribution.
🔹 Glow Logic
- Glow zones are controlled by a master toggle and drawn with dynamic transparency:
- Further from 50 = stronger conviction = darker glow.
- Shows up in subpane and/or main chart depending on user preference.
📷 Suggested Use Case / Visual Setup
- Use in conjunction with your primary price action system.
- Watch for divergences between the Candle Count RSI and Standard RSI for early trend reversals.
- Use glow bias zones on the main chart to get subconscious directional cues during fast scalping.
- Histogram helps you confirm when both RSI variants agree—useful during strong trending conditions.
🛠️ Tip for Traders
- This tool isn’t trying to “predict” price. It’s designed to visualize hidden market psychology—when buyers are showing up with consistent pressure, or when momentum has a disconnect between conviction and magnitude. Use this to filter entries, spot weak rallies, or sense when a trend is about to break down.
⚠️ WARNING
- Not for use with Heikin Ashi, Renko, etc.).
🧠 Summary
Candle Count RSI is not just another mashup—it's a precision-built, dual-perspective oscillator that captures directional conviction using real candle behavior. Whether you're scalping intraday or swing trading momentum, this script helps clarify trend integrity and exposes hidden weaknesses with elegance and clarity.
—
🛠️ Built by: Sherlock_MacGyver
Feel free to share feedback or reach out if you'd like to collaborate on custom features.
Last Week's APM & Daily % Move(Corrected)Last Week's Average Price Movement + Daily Percentage Move (based on NY time)
This indicator accurately displays last week's Average Pip Movement (APM) consistently across all timeframes and tracks the true daily percentage move relative to that APM in a clear table in the top-right corner.
Key Features:
-Consistent Last Week's APM: Calculates the average pip movement from Monday to Friday of the previous trading week (based on daily wick-to-wick ranges, divided by 5). This APM value is now stable and the same across all chart timeframes.
-Accurate Live Daily % Move: Tracks the maximum percentage the price has moved (either up or down) since the 5 PM New York time daily open, compared to last week's APM. The percentage holds the maximum value reached during the day and resets at the next 5 PM NY open.
-NY Time Alignment: All time-based calculations are aligned with the New York time zone
Pip Adjustment: Automatically adjusts for JPY pairs.
⚠️ Important: For the intended display and relevance of the daily percentage move, this indicator is best used on timeframes 4-hour and under. On Daily and Weekly timeframes, the APM display will show a message indicating this.
We hope this indicator enhances your trading analysis.
MirPapa:ICT:HTF: FVG OB Threeple# MirPapa:ICT:HTF: FVG OB (Fair Value Gap Order Block)
**Version:** Pine Script® v6
**Author:** © goodia
**License:** MPL-2.0 (Mozilla Public License 2.0)
---
## Overview
“FVG OB” (Fair Value Gap Order Block) identifies higher-timeframe candle ranges where a gap (imbalance) exists between two non-consecutive candles, signaling potential institutional order blocks. This module draws bullish or bearish FVG OB boxes on your lower-timeframe chart, extends them until price interacts a specified number of times, and then finalizes (recolors) the box.
---
## Inputs
- **Enable FVG OB Boxes** (`bool`)
Toggle drawing of HTF FVG OB boxes on the chart.
- **Enable FVG OB Midlines** (`bool`)
Toggle drawing of a midpoint line inside each FVG OB box.
- **FVG OB Close Count** (`int` 1–10)
Number of HTF closes beyond the FVG range required to finalize (recolor) the box.
- **FVG OB Bull Color** (`color`)
Fill & border color for bullish FVG OB boxes.
- **FVG OB Bear Color** (`color`)
Fill & border color for bearish FVG OB boxes.
- **FVG OB Box Transparency** (`int` 1–100)
Opacity level for FVG OB box fills (higher = more transparent).
---
## How It Works
1. **HTF Data Retrieval**
- The script uses `request.security()` (via `GetHTFrevised()`) to fetch HTF OHLC and historical values:
- `_htfHigh3` (high three bars ago) and `_htfLow1` (low one bar ago) for bullish FVG OB.
- `_htfLow3` (low three bars ago) and `_htfHigh1` (high one bar ago) for bearish FVG OB.
- It also tracks the HTF `bar_index` on the lower timeframe to align drawing.
2. **FVG OB Detection**
- **Bullish FVG OB**: Occurs when the HTF low of the previous bar (`low `) is strictly above the HTF high of three bars ago (`high `), creating a gap.
- **Bearish FVG OB**: Occurs when the HTF high of the previous bar (`high `) is strictly below the HTF low of three bars ago (`low `), creating a gap.
3. **Box Creation**
- On each new HTF bar (`ta.change(time(HTF)) != 0`), if a bullish or bearish FVG OB condition is met, the script calls `CreateBoxData()` with:
- **Bullish**: `bottom = HTF low `, `top = HTF high `, `_isBull = true`.
- **Bearish**: `bottom = HTF low `, `top = HTF high `, `_isBull = false`.
- Midline toggled by input.
- A `BoxData` struct is created and stored in either the Bull or Bear array.
4. **Box Extension & Finalization**
- On **every LTF bar**, `ProcessBoxDatas(...)` iterates over all active FVG OB boxes:
1. **Extend Right Edge**: `box.set_right(bar_index)` ensures the box follows the latest bar.
2. **Record Volume Delta**: Tracks buy/sell volume inside the box.
3. **Touch Stage Update**: `modBoxUpdateStage()` increments `_stage` when price touches its “basePoint” (for FVG OB, the basePrice is one side of the gap).
4. **Finalize**: `setBoxFinalize()` checks if the configured number of closes beyond the FVG gap (`FVG OB Close Count`) has occurred. If so:
- `_isActive := false`
- Border and background colors are changed to the “Box Close Color” (input).
- Finalized boxes remain on screen semi-transparent, indicating that the FVG OB zone has been tested.
5. **Midline (Optional)**
- If “Enable FVG OB Midlines” is checked, `ProcessBoxDatas()` also extends a horizontal midpoint line inside the box with `line.set_x2(bar_index)`.
---
## Usage Instructions
1. **Installation**
- Copy the FVG OB section of the Pine Script into TradingView’s Pine Editor (ensure the library import is included).
- Click “Add to Chart.”
2. **Configure Inputs**
- Choose a Higher Time Frame via the dropdown (e.g., “4시간” maps to a 4H timeframe).
- Toggle “Enable FVG OB Boxes” and “Enable FVG OB Midlines.”
- Select colors for bullish and bearish boxes and set transparency.
- Adjust “FVG OB Close Count” to control how many closes beyond the gap finalize the box.
3. **Interpretation**
- **Active FVG OB Boxes** extend to the right until price closes beyond the gap range the specified number of times.
- When finalized, each box changes to the “Box Close Color,” signaling that institutional orders in that gap have likely been filled.
Enjoy precise visualization of higher-timeframe Fair Value Gap Order Blocks on your lower-timeframe chart!
MVRV Ratio [Alpha Extract]The MVRV Ratio Indicator provides valuable insights into Bitcoin market cycles by tracking the relationship between market value and realized value. This powerful on-chain metric helps traders identify potential market tops and bottoms, offering clear buy and sell signals based on historical patterns of Bitcoin valuation.
🔶 CALCULATION The indicator processes MVRV ratio data through several analytical methods:
Raw MVRV Data: Collects MVRV data directly from INTOTHEBLOCK for Bitcoin
Optional Smoothing: Applies simple moving average (SMA) to reduce noise
Status Classification: Categorizes market conditions into four distinct states
Signal Generation: Produces trading signals based on MVRV thresholds
Price Estimation: Calculates estimated realized price (Current price / MVRV ratio)
Historical Context: Compares current values to historical extremes
Formula:
MVRV Ratio = Market Value / Realized Value
Smoothed MVRV = SMA(MVRV Ratio, Smoothing Length)
Estimated Realized Price = Current Price / MVRV Ratio
Distance to Top = ((3.5 / MVRV Ratio) - 1) * 100
Distance to Bottom = ((MVRV Ratio / 0.8) - 1) * 100
🔶 DETAILS Visual Features:
MVRV Plot: Color-coded line showing current MVRV value (red for overvalued, orange for moderately overvalued, blue for fair value, teal for undervalued)
Reference Levels: Horizontal lines indicating key MVRV thresholds (3.5, 2.5, 1.0, 0.8)
Zone Highlighting: Background color changes to highlight extreme market conditions (red for potentially overvalued, blue for potentially undervalued)
Information Table: Comprehensive dashboard showing current MVRV value, market status, trading signal, price information, and historical context
Interpretation:
MVRV ≥ 3.5: Potential market top, strong sell signal
MVRV ≥ 2.5: Overvalued market, consider selling
MVRV 1.5-2.5: Neutral market conditions
MVRV 1.0-1.5: Fair value, consider buying
MVRV < 1.0: Potential market bottom, strong buy signal
🔶 EXAMPLES
Market Top Identification: When MVRV ratio exceeds 3.5, the indicator signals potential market tops, highlighting periods where Bitcoin may be significantly overvalued.
Example: During bull market peaks, MVRV exceeding 3.5 has historically preceded major corrections, helping traders time their exits.
Bottom Detection: MVRV values below 1.0, especially approaching 0.8, have historically marked excellent buying opportunities.
Example: During bear market bottoms, MVRV falling below 1.0 has identified the most profitable entry points for long-term Bitcoin accumulation.
Tracking Market Cycles: The indicator provides a clear visualization of Bitcoin's market cycles from undervalued to overvalued states.
Example: Following the progression of MVRV from below 1.0 through fair value and eventually to overvalued territory helps traders position themselves appropriately throughout Bitcoin's market cycle.
Realized Price Support: The estimated realized price often acts as a significant
support/resistance level during market transitions.
Example: During corrections, price often finds support near the realized price level calculated by the indicator, providing potential entry points.
🔶 SETTINGS
Customization Options:
Smoothing: Toggle smoothing option and adjust smoothing length (1-50)
Table Display: Show/hide the information table
Table Position: Choose between top right, top left, bottom right, or bottom left positions
Visual Elements: All plots, lines, and background highlights can be customized for color and style
The MVRV Ratio Indicator provides traders with a powerful on-chain metric to identify potential market tops and bottoms in Bitcoin. By tracking the relationship between market value and realized value, this indicator helps identify periods of overvaluation and undervaluation, offering clear buy and sell signals based on historical patterns. The comprehensive information table delivers valuable context about current market conditions, helping traders make more informed decisions about market positioning throughout Bitcoin's cyclical patterns.
Ensemble Consensus System
The Ensemble Consensus System (ECS) brings a **Random Forest-style ensemble vote** to Pine Script: five orthogonal "expert" strategies each cast a bull/bear vote (+1/-1/0), and only high-confidence consensus moves become signals—dramatically reducing noise while capturing strong directional moves.
## What Makes This Original
ECS is the first Pine Script indicator to implement true machine learning-style ensemble voting. Rather than relying on a single methodology, five independent experts analyze different market dimensions:
• **Trend Expert**: Multi-timeframe EMA alignment analysis
• **Momentum Expert**: RSI/MACD/Stochastic confluence with consistency filters
• **Volume Expert**: Proprietary volume pressure + OBV confirmation
• **Volatility Expert**: Bollinger Band mean reversion opportunities
• **Structure Expert**: Adaptive pivot-based support/resistance detection
## How It Works
The system requires consensus among experts, with an **adaptive threshold** based on market volatility:
| Volatility Regime | ATR/Close | Votes Required |
|-------------------|-----------|----------------|
| Low Volatility | <1% | 2+ |
| Normal Markets | 1-2% | 3+ |
| High Volatility | >2% | 4+ |
This dynamic adjustment prevents overtrading in choppy conditions while maintaining responsiveness during strong trends.
## Key Features
### Signals
• **Visual entry points** with strength percentage (60% = 3/5 experts agree)
• **Adaptive thresholds** that adjust to market conditions
• **Multi-expert consensus** reduces false signals
### Risk Control
• **Dynamic stop-loss/take-profit** based on ATR
• **Regime-adjusted targets** (±50% in volatile markets)
• **Visual SL/TP lines** with exact price labels
### Analytics
• **Real-time vote panel** showing each expert's stance
• **Performance tracking** with win rate and P/L
• **Market regime indicator** (Trending/Ranging/Volatile)
• **Light Mode** for better performance on slower systems
## How to Use
1. **Apply ECS** to a liquid instrument on 15m-4H timeframe (best: 1H)
2. **Wait for signal** - green ▲ for long, red ▼ for short with strength %
3. **Verify votes** - check panel to see which experts agree
4. **Execute trade** using the displayed SL/TP levels
5. **Monitor regime** - be cautious if market regime changes
### Quick Start Settings
• **Standard Trading**: Use defaults (3 votes, adaptive mode ON)
• **Conservative**: Increase to 4 votes minimum
• **Aggressive**: Reduce to 2 votes, tighten stops
## Important Limitations
• **Chart Types**: Not compatible with Renko/Heikin-Ashi
• **Volume Data**: Requires reliable volume (forex pairs may underperform)
• **News Events**: Signals may lag during gaps/major announcements
• **Processing**: Heavy calculations - use Light Mode if needed
## Settings Guide
**Ensemble Controls**
• `Minimum Votes` (default: 3): Base threshold before volatility adjustment
• `Adaptive Mode` (default: ON): Auto-adjusts threshold by market volatility
**Visual Options**
• `Vote Panel`: Live expert voting display
• `Performance Stats`: Win rate and trade tracking
• `Light Mode`: Disables heavy visuals for speed
**Risk Parameters**
• `Stop Multiplier` (default: 2.0): ATR multiple for stop-loss
• `TP Multiplier` (default: 3.0): ATR multiple for take-profit
• `Dynamic TP` (default: ON): Adjusts targets by market regime
## Troubleshooting
**Too few signals?**
→ Lower minimum votes or check if market is ranging
**Indicator running slow?**
→ Enable Light Mode, disable performance tracking
**Weird volume votes?**
→ Verify your symbol has accurate volume data
## Technical Concepts
The ensemble approach mimics **Random Forest algorithms** where multiple decision trees vote on outcomes. By requiring agreement among experts using orthogonal methodologies, ECS filters out signals that would fail under different market lenses. The adaptive threshold addresses fixed-parameter weakness by dynamically adjusting selectivity based on volatility.
• Adaptive pivot lookback for dynamic structure detection
• Safe volume pressure calculation preventing division errors
• Momentum consistency filter reducing choppy false signals
• Unified dashboard merging vote panel + performance stats
• Regime-based dynamic take-profit adjustment
*Educational indicator demonstrating ensemble methods in Pine Script. No guarantee of future performance. Always use proper risk management and position sizing.*
StochRSI Context EngineThe StochRSI Context Engine is a premium, logic-driven indicator built to provide comprehensive intraday momentum context using multi-timeframe Stochastic RSI analysis. Rather than issuing direct buy or sell signals, the tool is designed to give traders enhanced clarity on trend posture, overbought/oversold conditions, volatility states, and potential momentum reversals. It combines multiple layers of signal processing to deliver an intelligent overview of market conditions in real time.
What it does:
The indicator performs a multi-timeframe evaluation of the Stochastic RSI, sampling values from four customizable timeframes (default: 5m, 15m, 1h, 4h). These values are blended and processed through a series of analytical engines to provide the following:
1. StochRSI Multi-Timeframe Engine
* Computes a smoothed Stochastic RSI value on each selected timeframe.
* Applies user-defined smoothing (SMA, EMA, RMA, or WMA).
* Aggregates these into an average (sRSIavg) for further analysis.
2. Trend and Volatility Engine
* Uses EMA stacking logic (8, 21, 50) to determine directional alignment.
* Calculates linear regression slope for directional bias.
* Assesses volatility using ATR relative to price.
* Derives a trendScore based on EMA alignment, price position, and slope strength.
3. Bias and Slope Analysis
* Measures fast/slow EMA slope differentials to detect bias direction and strength.
* Computes slope deltas and volatility-weighted stacking to score bias conditions.
* Outputs a classification such as strong bullish, moderate bearish, or neutral.
4. Dynamic OB/OS Zone Detection
* Adapts overbought and oversold thresholds based on volatility and trend regime.
* Adjusts the zone boundaries if in a trending or high-volatility environment.
5. Microzone Proximity Detection
* Tracks whether the average StochRSI is approaching key OB/OS thresholds.
* Flags conditions like “Near Overbought,” “Near Oversold,” or “Mid Range.”
6. Velocity and Acceleration Detection
* Measures how quickly StochRSI values are changing.
* Uses delta calculations to gauge the momentum’s thrust or decay.
* Classifies shifts in RSI movement (e.g., flat, slow, fast, or thrusting).
7. Range Expansion / Compression Engine
* Evaluates whether StochRSI values across timeframes are diverging or compressing.
* Identifies regime changes in momentum coherence.
8. Momentum Scoring System
* Calculates a composite score based on bias, slope strength, volatility, and range.
* Labels momentum phases from dormant to full-throttle.
9. Confluence Detection
* Tallies how many of the 4 timeframes are currently overbought or oversold.
* High confluence increases the probability of valid reversal or continuation zones.
10. Support and Resistance Zone Memory
* Tracks and plots previous areas where StochRSI bounced or rejected near zones.
* Stores and updates these zones over time, acting as momentum-based S/R levels.
* Includes a proximity check to cluster zones that are close in value.
11. Divergence Detection Engine
* Detects classic bullish or bearish divergence between price and the aggregated StochRSI.
* Draws lines to show divergence structure and triggers real-time alerts.
12. Smart Background Highlighting
* Shades the background based on whether current StochRSI is in an overbought, oversold, or
neutral zone.
13. Real-Time Dashboard
* Displays trend, bias, confluence count, velocity, divergence state, momentum score, and
more.
* Dynamically updates and is optimized for top-right screen positioning with compact
formatting.
14. Smart Alerts
* Issues alerts for divergence detection and high-confluence reversal conditions.
15. Real-Time Labels on Curves
* Shows the selected timeframes alongside each plotted StochRSI line to clarify source data.
What it’s based on:
* Stochastic RSI as the core input signal, providing normalized momentum across timeframes.
* EMA stacking logic, adapted from institutional trend-following models.
* Volatility normalization using ATR to adapt thresholds in high vs. low volatility environments.
* Slope forecasting using linear regression to infer directional conviction.
* Bias analysis modeled on a composite of EMA distance, alignment, and directional thrust.
* Support/resistance zone memory derived from repeated interaction with dynamic OB/OS thresholds.
* Divergence logic based on localized price and oscillator peaks/troughs.
* Multi-factor confidence scoring, aggregating up to 6 inputs to rate market clarity.
This script is for educational and informational purposes only. It does not generate trade signals or provide financial advice. It is not intended to be used as a standalone system for trading or investment decisions. Use at your own discretion. Always confirm with your broader strategy and risk management practices.
Cointegration Heatmap & Spread Table [EdgeTerminal]The Cointegration Heatmap is a powerful visual and quantitative tool designed to uncover deep, statistically meaningful relationships between assets.
Unlike traditional indicators that react to price movement, this tool analyzes the underlying statistical relationship between two time series and tracks when they diverge from their long-term equilibrium — offering actionable signals for mean-reversion trades .
What Is Cointegration?
Most traders are familiar with correlation, which measures how two assets move together in the short term. But correlation is shallow — it doesn’t imply a stable or predictable relationship over time.
Cointegration, however, is a deeper statistical concept: Two assets are cointegrated if a linear combination of their prices or returns is stationary , even if the individual series themselves are non-stationary.
Cointegration is a foundational concept in time series analysis, widely used by hedge funds, proprietary trading firms, and quantitative researchers. This indicator brings that institutional-grade concept into an easy-to-use and fully visual TradingView indicator.
This tool helps answer key questions like:
“Which stocks tend to move in sync over the long term?”
“When are two assets diverging beyond statistical norms?”
“Is now the right time to short one and long the other?”
Using a combination of regression analysis, residual modeling, and Z-score evaluation, this indicator surfaces opportunities where price relationships are stretched and likely to snap back — making it ideal for building low-risk, high-probability trade setups.
In simple terms:
Cointegrated assets drift apart temporarily, but always come back together over time. This behavior is the foundation of successful pairs trading.
How the Indicator Works
Cointegration Heatmap indicator works across any market supported on TradingView — from stocks and ETFs to cryptocurrencies and forex pairs.
You enter your list of symbols, choose a timeframe, and the indicator updates every bar with live cointegration scores, spread signals, and trade-ready insights.
Indicator Settings:
Symbol list: a customizable list of symbols separated by commas
Returns timeframe: time frame selection for return sampling (Weekly or Monthly)
Max periods: max periods to limit the data to a certain time and to control indicator performance
This indicator accomplishes three major goals in one streamlined package:
Identifies stable long-term relationships (cointegration) between assets, using a heatmap visualization.
Tracks the spread — the difference between actual prices and the predicted linear relationship — between each pair.
Generates trade signals based on Z-score deviations from the mean spread, helping traders know when a pair is statistically overextended and likely to mean revert.
The math:
Returns are calculated using spread tickers to ensure alignment in time and adjust for dividends, splits, and other inconsistencies.
For each unique pair of symbols, we perform a linear regression
Yt=α+βXt+ε
Then we compute the residuals (errors from the regression):
Spreadt=Yt−(α+βXt)
Calculate the standard deviation of the spread over a moving window (default: 100 samples) and finally, define the Cointegration Score:
S=1/Standard Deviation of Residuals
This means, the lower the deviation, the tighter the relationship, so higher scores indicate stronger cointegration.
Always remember that cointegration can break down so monitor the asset over time and over multiple different timeframes before making a decision.
How to use the indicator
The heatmap table:
The indicator displays 2 very important tables, one in the middle and one on the right side. After entering your symbols, the first table to pay attention to is the middle heatmap table.
Any assets with a cointegration value of 25% is something to pay attention to and have a strong and stable relationship. Anything below is weak and not tradable.
Additionally, the 40% level is another important line to cross. Assets that have a cointegration score of over 40% will most likely have an extremely strong relationship.
Think about it this way, the higher the percentage, the tighter and more statistically reliable the relationship is.
The spread table:
After finding a good asset pair using heatmap, locate the same pair in the spread table (right side).
Here’s what you’ll see on the table:
Spread: Current difference between the two symbols based on the regression fit
Mean: Historical average of that spread
Z-score: How far current spread is from the mean in standard deviations
Signal: Trade suggestion: Short, Long, or Neutral
Since you’re expecting mean reversion, the idea is that the spread will return to the average. You want to take a trade when the z-score is either over +2 or below -2 and exit when z-score returns to near 0.
You will usually see the trade suggestion on the spread chart but you can make your own decision based on your risk level.
Keep in mind that the Z-score for each pair refers to how off the first asset is from the mean compared to the second one, so for example if you see STOCKA vs STOCKB with a Z-score of -1.55, we are regressing STOCKB (Y) on STOCKA (X).
In this case, STOCKB is the quoted asset and STOCKA is the base asset.
In this case, this means that STOCKB is much lower than expected relative to STOCKA, so the trade would be a long position on stock B and short position on stock A.
HiLo EMA Custom bandsHILo Ema custom bands
This advanced technical indicator is a powerful variation of "HiLo Ema squeeze bands" that combines the best elements of Donchian channels and EMAs. It's specially designed to identify price squeezes before significant market moves while providing dynamic support/resistance levels and predictive price targets.
Indicator Concept:
The indicator initializes EMAs at each new high or low - the upper EMA tracks highs while the lower EMA tracks lows. It draws maximum of 6 custom bands based on percentage, fixed value or Atr
Upper EM bands are drawn below uper ema, Lower EMA bands are drawn above lower ema
Customizable Options:
Ema length: 200 default
Calculation type: Ema (Default), HILO
Calculation type: Percent,Fixed Value, ATR
Band Value: Percent/Value/ATR multiple This is value to use for calculation type
Band Selection: Both,Upper,Lower
Key Features:
You can choose to draw either of one or both, the latter can be overwhelming initially but as you get used to it, it becomes a powerful tool.
When both bands are selected, upper and lower bands provide provides dual references and intersections
This creates a more trend-responsive alternative to traditional Donchian channels with clearly defined zones for trade planning.
If you select percaentage, note that the calulation is based FROM the respective EMA bands. So bands from lower EMA band will appear narrower compared to the those drawn from upper EMA band
Price targets or reversals:
Look of alignment of lines and price. The current level of one order could align with that of previous level of a different order because often markets move in steps
Settings Guide:
Recommended Settings:
Ema length: 200
Use one of the bands (not both) if using large length of say 1000
Calculation type: EMA
HILO will draw donchian like bands, this is useful if you only want flat price levels. In a rising market use upper and vise versa
Calculation type:
percentage for indices : 5, for symbols 10 or higher based on symbol volatility
Fixed value: about 10% of symbol value converted to value
Atr: 2 ideally
Perfect for swing traders and position traders looking for a more sophisticated volatility-based overlay that adapts to changing market conditions and provides predictive reversal levels.
Note: This indicator works well across multiple timeframes but is especially effective on H4, Daily and Weekly charts for trend trading.