Pine Script® indicator
Indicators and strategies
Volume Displacement Engine [JOAT]Volume Displacement Engine
Introduction
Volume Displacement Engine (VDE) is an open-source volume regime oscillator that measures the ratio of short-term volume activity to long-term volume baseline, smooths it into a clean oscillator, and classifies current market activity into four distinct regimes: Low, Normal, High, and Extreme. The histogram and background tint update in real time with regime-specific coloring, reference lines mark each threshold boundary, and breakout signals fire when price closes beyond a rolling high or low during elevated volume regimes. A consolidation detection layer identifies consecutive low-volume bars as ranging periods. Trade outcomes from breakout signals are tracked for statistical win rate context, displayed in a structured dashboard.
The core problem VDE solves is the absence of context in standard volume indicators. Raw volume bars communicate size but not relevance — a large bar on a trending instrument in a high-liquidity session is very different from the same bar during off-hours. By expressing volume as a ratio to a rolling baseline and classifying it into regimes, VDE communicates whether current activity is institutionally significant (High or Extreme) or routine (Normal/Low). Price breakouts during High or Extreme volume are fundamentally different propositions than the same price moves on thin volume — VDE makes that distinction explicit and actionable.
Core Concepts
1. Volume Ratio Oscillator
The core calculation divides a short-term volume simple moving average by a long-term volume simple moving average, then applies an EMA smoothing pass to reduce bar-to-bar noise:
float rawRatio = volShort / math.max(volLong, 1.0)
float volRatio = ta.ema(rawRatio, i_smoothLen)
A ratio above 1.0 means recent volume is above the long-term average — activity is elevated. A ratio below 1.0 means recent volume is below the baseline — activity is depressed. The smoothing EMA gives the oscillator a cleaner shape while maintaining responsiveness to regime changes.
2. Four-Tier Regime Classification
Four threshold boundaries define the regime tiers. All thresholds are fully configurable:
Low: Ratio below the low threshold (default: 0.70) — below-average activity, reduced institutional participation
Normal: Ratio between low and normal ceiling (default: 0.70–1.20) — baseline activity
High: Ratio between normal ceiling and high threshold (default: 1.20–1.80) — elevated activity, potential institutional flow
Extreme: Ratio above the high threshold (default: 1.80+) — exceptional volume surge, likely significant price event
3. Breakout Signal Detection
Breakout signals are generated when price closes beyond the rolling highest high or lowest low of the configurable lookback window during a High or Extreme volume regime. This combines price displacement with volume confirmation, filtering out low-conviction breakouts that occur on thin volume:
bool bullBreak = barstate.isconfirmed and close > hh and (isHigh or isExtreme)
bool bearBreak = barstate.isconfirmed and close < ll and (isHigh or isExtreme)
4. Consolidation Detection
When multiple consecutive bars fall below the consolidation volume threshold, VDE identifies the period as a consolidation zone. The minimum bar count ensures short dips below the threshold are not misclassified as ranges. A dotted reference line marks consolidation periods in the oscillator pane, providing context for identifying compression before expansion moves.
5. Gradient Fill and Regime Tint
The oscillator histogram is colored to match the current regime. A fill between the histogram and the 1.0 baseline uses the regime color with transparency, providing a visual area representation of volume expansion or contraction. During High and Extreme regimes, a background tint activates in the oscillator pane to immediately draw attention to elevated activity periods without requiring inspection of the histogram height.
Features
Volume Ratio Oscillator: Short/long MA ratio smoothed by EMA — measures relative volume displacement from baseline
Four-Tier Regime Classification: Low, Normal, High, and Extreme regimes with independent color coding and configurable thresholds
Histogram Coloring: Bar color matches current regime — immediate visual reading of activity level
Regime Background Tint: High and Extreme volume periods highlighted with a pane background color for immediate attention
Threshold Reference Lines: Horizontal dashed lines at each regime boundary and at the 1.0 baseline for quick ratio reading
Gradient Regime Fill: Fill between oscillator and baseline communicates expansion/contraction area visually
Price Breakout Signals: Bull and bear breakout signals fire when price closes beyond rolling extremes during elevated volume regimes only
Consolidation Detection: Consecutive below-threshold volume bars identified as consolidation periods
Breakout Win Rate Tracking: Outcomes from breakout signals tracked against ATR-based TP/SL levels for statistical context
Non-Repainting: All signals gated on barstate.isconfirmed
Dashboard (Top Right): Current regime label, vol ratio value, consolidation status, and win rate breakdown for High and Extreme regime breakouts
Vol Momentum Columns: 3-bar rate-of-change of the vol ratio displayed as green/red column bars in the oscillator pane — shows whether volume activity is accelerating or decelerating relative to 3 bars prior
Rolling 20-Bar Vol Ratio Peak Reference Line: A purple reference line tracks the rolling 20-bar peak vol ratio — provides a visual ceiling for recent activity levels and highlights when the current ratio is approaching or exceeding recent extremes
Vol Ratio Delta in Dashboard: Vol ratio delta shown in real time in the dashboard with a directional arrow (▲/▼) — communicates whether volume pressure is building or fading on the current bar
CONS Label on Consolidation Start: A "CONS" label fires at the bar when a consolidation zone begins — marks the exact start of identified compression periods directly on the oscillator
Breakout Strength Labels: "BRK +X.XX" and "BRK -X.XX" labels appear at each breakout signal showing the vol ratio value at the moment of the break — communicates the institutional conviction level behind each breakout directly on the chart
Input Parameters
Volume Engine:
Short Vol Window: Short-term volume MA period (default: 10)
Long Vol Window: Long-term volume MA period (default: 40)
Ratio Smooth: EMA smoothing length for ratio (default: 3)
Low Vol Threshold: Ratio below which regime is Low (default: 0.70)
Normal Vol Ceiling: Ratio above which regime is High (default: 1.20)
High Vol Threshold: Ratio above which regime is Extreme (default: 1.80)
Consolidation:
Consolidation Window: Lookback window for consolidation range (default: 8)
Consolidation Vol Max: Maximum ratio to qualify as a consolidation bar (default: 0.80)
Min Consolidation Bars: Minimum consecutive qualifying bars to declare consolidation (default: 4)
Breakout Signal:
Breakout Lookback: Rolling high/low lookback window (default: 20)
ATR Length: Period for ATR calculation (default: 14)
ATR SL Multiplier: Stop loss distance (default: 1.5)
Reward:Risk Ratio: TP multiple (default: 3.0)
Show TP/SL Labels: Toggle label display in the oscillator pane (default: enabled)
How to Use This Indicator
Step 1: Read the Regime
Glance at the dashboard regime label and histogram color. A grey histogram (Low) indicates the market is in a quiet, low-participation period — avoid breakout strategies during these windows. A teal histogram (Normal) is baseline. An amber histogram (High) or red (Extreme) signals institutional-grade activity.
Step 2: Identify Consolidation Periods
When the dotted consolidation line is active in the oscillator pane, the market is in a low-volume compression phase. These periods typically precede expansion moves — the direction of the subsequent breakout, confirmed on volume, is a key signal.
Step 3: React to Breakout Signals
Breakout signals (triangles at the top/bottom of the oscillator pane) only fire during High or Extreme regimes. When a bull breakout label appears, price has closed above the rolling high on elevated volume — a confirmed displacement. The ATR TP/SL levels from that bar define the immediate risk/reward.
Step 4: Monitor the Ratio Trend
The oscillator line trending upward while above 1.0 indicates sustained institutional accumulation of activity — these sustained elevated periods often coincide with trending phases. A declining ratio from Extreme back toward Normal often signals activity exhaustion.
Indicator Limitations
Volume data quality varies significantly by instrument and data provider. On synthetic instruments, indices, or assets where volume reflects contract count rather than notional size, the ratio will not accurately represent true monetary volume displacement
TP/SL outcome tracking in the oscillator pane uses price data for TP/SL hit detection but displays in the volume pane — the label positions are approximate visual markers, not precise price levels on the main chart
The consolidation detector uses a fixed volume threshold. In trending markets where baseline volume rises over time, the historical consolidation threshold may not match current market conditions without recalibrating the threshold input
Breakout signals require both a price breakout and an elevated volume regime simultaneously. In markets with persistently high volume baselines (e.g., during major economic event periods), the Extreme threshold may trigger more frequently than on typical days — the thresholds may need upward adjustment on those instruments
The short/long MA window ratio is a relative measure. It compares recent volume to a historical baseline — it does not measure absolute volume in shares, contracts, or dollars
Originality Statement
VDE combines a smoothed relative volume ratio oscillator with a four-tier classification framework, consolidation detection, and volume-gated breakout signals in a unified indicator. This is original for the following reasons:
Expressing volume as a ratio of short-term to long-term moving average — rather than showing raw volume bars — normalizes the oscillator across instruments and timeframes, making the same threshold values meaningful on a liquid equity, a commodity, and a cryptocurrency without manual recalibration
The four-tier classification system with independently configurable thresholds and a gradient color scheme provides a richer regime reading than simple volume-above-average/below-average binary indicators
Volume-gated breakout detection explicitly requires the price breakout and the volume regime elevation to occur simultaneously on the same confirmed bar — preventing breakout signals from firing on thin-volume price moves that carry low institutional conviction
The consolidation detection layer adds a compression-identification capability within the volume pane, providing context for identifying low-activity ranging periods before the volume regime shifts to support a directional move
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Volume regime classification and breakout signals are statistical constructs — elevated volume at a price breakout does not guarantee continuation in the breakout direction. Win rate statistics are derived from historical bar data and do not predict future performance. Always apply proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Pine Script® indicator
Pine Script® indicator
Trend Entry Verifier [AITD]🎯 Trend Entry Verifier — Lock On Before You Pull The Trigger
Stop pulling the trigger when the target isn't locked.
Most traders fire on partial intel — a trendline here, an RSI hint there — and wonder why their stops keep getting hit. Trend Entry Verifier runs a 3-stage clearance check on every bar. No clearance, no shot. When all three lights turn green, you move with confidence.
🛡️ The 3-Stage Clearance Check:
Trend (HMA 13/34) — fast Hull moving averages confirm the field of engagement
Momentum (RSI) — pressure check; RSI above 50 = bulls advancing, below 50 = bears advancing
Strength (ADX + DMI) — power check; ADX above 22 means the move has real force, DI+/DI- confirms who's actually winning
✅ GO only fires when all three clear. Anything less = NO-GO. Stand down. The market has to prove itself before you risk capital.
💔 The Pain This Eliminates:
You know the feeling. You see a "clean" move, jump in, and the market immediately turns into a chop-fest that eats your stop. Or worse — the trend you trusted was actually weak, and you're holding a bag while everyone else exits.
Most losing trades aren't direction errors. They're timing errors — entering when the field hasn't been cleared. TEV refuses to let you fire on weak intel.
🎯 The Confidence This Builds:
When the ribbon flashes bright and the table says GO, you know three independent systems agreed. Not a guess. Not a gut feel. A verified clearance. You enter with conviction, hold with discipline, and exit when the system tells you the field has changed.
🪖 Mission Brief — How To Use It:
🟢 GO + BULLISH → field is clear; favor pullback entries or continuation breakouts
🔴 GO + BEARISH → field is clear; favor rejection entries or breakdown setups
⚫ NO-GO → conditions mixed, weak, or in transition; stand down or scale back
⚪ MIXED trend → trend and momentum disagree; do NOT engage, wait for alignment
🚨 The Visual Ribbon — Your Threat Indicator:
The ribbon at zero shows direction at a glance. When GO conditions clear, the ribbon brightens and thickens — your weapon is hot. When NO-GO, it dims back down. No squinting. No second-guessing. Bright = engage. Dim = stand down.
⚠️ Bonus Threat Markers:
🟧 Orange "R" triangles — RSI hit an extreme (above 70 or below 30); enemy is overextended, don't chase
🟧 Orange "B" triangles — price pierced a Bollinger Band; exhaustion zone, watch for reversal
These flag overextension so you don't engage a stretched target. Why This Hits Different:
🎯 No mystery readings — every state has a clear name and a clear job
🛡️ Conservative by design — NO-GO is the default; you earn the GO
🧹 Single-pane simplicity — one ribbon, one table, one decision per bar
📚 Educational by nature — the table teaches you what to look for, not just what to do
🚫 Built For Traders Who Are Tired Of:
Entering on "looks like a trend" only to get ambushed
Stacking 4 indicators to confirm what one should
Tools that fire during obvious chop
Indicators that look pretty but never tell you when to stay out
One ribbon. One table. One decision. Lock on or stand down.
Defaults: HMA 13/34, RSI 14, DMI 14/14, ADX minimum 22 — fully customizable.
Pairs well with VWRSI Crossovers & Extremes — TEV clears the field. VWRSI calls the shot. Use them together for a full recon → engage workflow.
🎯 Built by The AI Trading Desk.
Pine Script® indicator
Ghost Mitigation Strategysimple indigator works in strong trend made with chat gpt just for testing test your on before ude
Pine Script® indicator
LiquidityMapLiquidityMap v1.1 — Liquidation Cluster Heatmap with Footprint Integration
LiquidityMap estimates where leveraged positions would get liquidated by tracking where they were opened and projecting their forced-exit prices at four leverage tiers. The result is a heatmap overlay that reveals the structural cascade risk around current price — where the liquidation landmines are buried.
HOW IT WORKS
The indicator scans a configurable lookback window (default 200 bars) for bars where two conditions are met simultaneously: open interest expanded (new positions entered the market) AND volume was at or above its 20-bar average (the entries carried conviction, not just noise). These are classified as "entry bars" — moments when traders committed capital at a specific price.
Each entry bar is classified as long or short. In v1.1, this classification uses TradingView's request.footprint() function to determine actual buy vs sell pressure via volume delta. When footprint data shows positive delta (more buying than selling), the bar is classified as a long entry. Negative delta classifies it as a short entry. This is a significant improvement over the v1.0 approach of using candle color, which is a rough proxy at best — a green candle during a selloff can mask aggressive short entries that happened to close slightly above open. On plans without footprint access (Free/Essential), the indicator falls back to candle color automatically.
For each detected entry, LiquidityMap projects where those positions would get liquidated at four leverage tiers: 10x, 25x, 50x, and 100x. The liquidation formula accounts for maintenance margin (default 0.5% for Phemex). Each tier is weighted by estimated trader distribution — default is 35% at 10x, 35% at 25x, 20% at 50x, and 10% at 100x, reflecting that most retail traders use moderate leverage. The projected liquidation prices are then accumulated into price bins to create a density map.
READING THE HEATMAP
Red and orange zones below price represent long liquidation clusters. If price drops into these zones, long positions at those leverage tiers get forcefully closed. The forced selling creates additional downward pressure, which can trigger more liquidations at slightly lower prices — this is the cascade effect. Brighter, more opaque zones indicate denser clusters where more liquidation volume is concentrated.
Cyan and teal zones above price represent short liquidation clusters. Price rising into these zones forces shorts to cover, adding buy pressure that can accelerate a squeeze. Dense cyan zones above price are squeeze fuel.
Dashed reference lines mark the nearest significant liquidation zone in each direction, with a label showing the exact price level and percentage distance from current price.
CONVICTION WEIGHTING
When footprint data is available, entries are weighted not just by OI magnitude and volume intensity but also by delta conviction — how lopsided the buy/sell split was on that bar. A bar where 80% of volume was buying gets a stronger long-entry weight than a bar where the split was 52/48. This makes the density map proportional to actual directional conviction, not just raw OI expansion.
THE INFO TABLE
The table provides a compact summary of the liquidation landscape. The header row shows the asset, number of detected entries, and the active classification source (FP for footprint, or candle for fallback mode). The Long and Short rows show the nearest significant liquidation zone with its price, percentage distance from current price, and relative density. The Cascade row scores how much total liquidation density sits within a configurable percentage range of current price (default ±3%), classified as LOW, MODERATE, HIGH, or EXTREME. The L/S row shows the ratio of long vs short entry weight, indicating which side of the market is more exposed. Reference rows at the bottom show where you would get liquidated at 10x and 25x leverage if you entered a position right now. The Source row shows how many entry bars used footprint classification vs candle color fallback.
INPUTS AND CONFIGURATION
The OI data source defaults to Binance linear perpetuals. The lookback window controls how many bars of history are scanned for entries — 200 on 1H covers about 8 days, 200 on Daily covers about 9 months. The volume threshold (default 1.0x SMA20) filters out low-conviction entries. Leverage tiers and their probability weights are fully configurable. The heatmap resolution (number of price bins), zone width, and minimum density floor control the visual output. The cascade zone percentage, minimum line distance, and minimum line density threshold control which zones get reference lines drawn.
Footprint settings include ticks per row (default 100) and Value Area percentage (default 70%). The footprint toggle allows disabling the feature entirely for compatibility with Free/Essential plans.
WHAT THIS IS NOT
LiquidityMap is an estimation tool, not a prediction engine. It does not have access to actual exchange order books or real liquidation data — those require platforms like CoinGlass or Hyblock Capital. What it does is build a probabilistic model of where liquidations are likely concentrated based on observable on-chain signals (OI expansion, volume, and footprint delta). Validation against CoinGlass liquidation maps shows strong alignment in identifying major cluster zones, though absolute density values will differ since CoinGlass has direct exchange data.
OI data is sourced from Binance via the standard BINANCE:SYMBOL+USDT.P_OI ticker. Assets without Binance OI data will not produce results. The footprint feature requires a TradingView Premium or Ultimate subscription.
Pine Script® indicator
VWRSI Crossovers & Extremes [The AI Trading Desk]VWRSI Crossovers & Extremes
By integrating real volume into the RSI calculation, this engine surfaces only the moves that have money behind them. The hype-driven wiggles get filtered. The conviction moves stand out.
And then it tells you exactly what to do.
Two clear ways to act — no guesswork:
🔥 Extreme Release Signals — the RSI mistake most traders make
Most traders are taught RSI wrong. They sell the second it crosses 70 and buy the second it crosses 30 — and then they watch the market keep ripping in the same direction without them, or worse, against them. Here's the truth: RSI can stay in extreme zones far longer than you expect. Selling overbought into a strong trend is how accounts bleed.
This indicator doesn't fire when RSI enters an extreme zone. It fires when VWRSI comes back out of one. An orange flash and a labeled Up or Dn triangle mark the exact bar where momentum returns to normal range — meaning the extreme is resolving, not building. You're not fighting the trend. You're acting once the move has cooled and momentum has rotated back to your side.
How to use it:
Wait for the orange flash + triangle — don't act when VWRSI hits 70 or 30, act when it leaves
Down triangle (Dn) at the top — overbought is resolving, momentum cooling, look for short setups or trim longs
Up triangle (Up) at the bottom — oversold is resolving, momentum reviving, look for long setups or cover shorts
Best paired with structure — confluence with key levels, prior swing points, or trendlines tightens the edge
🌊 Crossover Confirmation — the answer to chop and fake-outs
Raw VWRSI crosses happen all day. Most are noise. The trick is waiting for the VWRSI to cross its signal moving average — that's the moment when short-term momentum has shifted decisively against the smoothed average, not just twitched.
The fill color flips with the cross — green for bullish momentum, red for bearish. By waiting for this confirmed cross instead of acting on every wiggle, you skip the chop, dodge the fake-outs, and only enter when the regime has actually changed. It's slower, on purpose. That's the point.
How to use it:
Watch the cloud color — green means VWRSI is above its MA (bullish bias); red means below (bearish bias)
Enter on the flip — when the color changes, momentum has rotated. Trend traders take entries with the new direction.
Stay in until it flips back — exits trigger when the cloud color reverses, signaling the regime has changed again
Skip the in-between — when VWRSI is hugging the MA closely (thin cloud), the market is undecided. Wait for separation.
Why this hits different:
Volume integrated into momentum calculation — high-volume bars influence momentum more than low-volume drift. Real moves stand out.
Both tops AND bottoms flagged — most VWRSI tools only catch one side. This catches both, with equal clarity.
No mystery readings — every signal has a name and a job. If you can't explain what your indicator is telling you, you can't trust it.
Calm when the market is calm — no constant red clouds during chop. The line stays quiet so you don't overtrade.
Built for traders who are tired of:
Selling tops too early and watching the trend keep running
Buying every dip into oversold and getting steamrolled
Indicators that fire constantly but rarely matter
Beautiful clouds that look great in screenshots but trick you into bad entries
Two trade types. Three visual cues. Zero guesswork.
Defaults: VWRSI 14, MA 9, OB 70, OS 30 — fully customizable.
Built by The AI Trading Desk.
Pine Script® indicator
VWAP Strict Institutional Breakout Sniper//@version=5
indicator("VWAP Strict Institutional Breakout Sniper", overlay=true)
// =====================================================
// 🔥 STRICT INSTITUTIONAL RULES
// VWAP is MANDATORY (hard filter)
// =====================================================
// ================= INPUTS =================
emaFast = input.int(20, "EMA20")
emaSlow = input.int(50, "EMA50")
atrLen = input.int(10, "Supertrend ATR")
factor = input.float(3.0, "Supertrend Factor")
adxLen = input.int(14, "ADX Length")
swingLen = input.int(10, "Swing Lookback")
volLen = input.int(5, "Volume Lookback")
// ================= CORE =================
ema20 = ta.ema(close, emaFast)
ema50 = ta.ema(close, emaSlow)
// 🔥 VWAP (MANDATORY FILTER)
vwapVal = ta.vwap(close)
// ================= SUPERTREND =================
= ta.supertrend(factor, atrLen)
superGreen = stDir < 0
superRed = stDir > 0
// ================= ADX =================
upMove = high - high
downMove = low - low
plusDM = (upMove > downMove and upMove > 0) ? upMove : 0
minusDM = (downMove > upMove and downMove > 0) ? downMove : 0
trur = ta.rma(ta.tr(true), adxLen)
plusDI = 100 * ta.rma(plusDM, adxLen) / trur
minusDI = 100 * ta.rma(minusDM, adxLen) / trur
dx = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adx = ta.rma(dx, adxLen)
// ================= BREAKOUT =================
swingHigh = ta.highest(high , swingLen)
swingLow = ta.lowest(low , swingLen)
breakUp = close > swingHigh
breakDn = close < swingLow
// ================= VOLUME SPIKE =================
volSpike = volume > ta.highest(volume , volLen)
// ================= TREND FILTER (STRICT VWAP) =================
bullTrend =
close > vwapVal and
ema20 > ema50 and
superGreen
bearTrend =
close < vwapVal and
ema20 < ema50 and
superRed
// ================= FINAL SIGNAL =================
buySignal =
bullTrend and
adx > 22 and
breakUp and
volSpike
sellSignal =
bearTrend and
adx > 22 and
breakDn and
volSpike
// ================= STRONG SIGNAL =================
strongBuy =
buySignal and adx > 28
strongSell =
sellSignal and adx > 28
// ================= PLOTS =================
plot(ema20, color=color.green, linewidth=2)
plot(ema50, color=color.red, linewidth=2)
// 🔥 VWAP ALWAYS VISIBLE
plot(vwapVal, color=color.blue, linewidth=3, title="VWAP (INSTITUTIONAL)")
plot(stLine, color=superGreen ? color.lime : color.red, linewidth=2)
plotshape(buySignal, title="BUY", location=location.belowbar,
style=shape.labelup, text="BUY", color=color.lime, textcolor=color.black)
plotshape(sellSignal, title="SELL", location=location.abovebar,
style=shape.labeldown, text="SELL", color=color.red, textcolor=color.white)
plotshape(strongBuy, title="STRONG BUY", location=location.belowbar,
style=shape.triangleup, color=color.green, size=size.small)
plotshape(strongSell, title="STRONG SELL", location=location.abovebar,
style=shape.triangledown, color=color.maroon, size=size.small)
// ================= BACKGROUND =================
bgcolor(buySignal ? color.new(color.green, 88) : na)
bgcolor(sellSignal ? color.new(color.red, 88) : na)
// ================= ALERTS =================
alertcondition(buySignal, title="BUY", message="VWAP Institutional BUY Signal")
alertcondition(sellSignal, title="SELL", message="VWAP Institutional SELL Signal")
alertcondition(strongBuy, title="STRONG BUY", message="Strong Institutional BUY")
alertcondition(strongSell, title="STRONG SELL", message="Strong Institutional SELL")
Pine Script® indicator
True Daily CHG% (Within .5%)Shows the CHG% like trading view does but this one works in replay mode which tradingview cant do its not 1 to 1 bc of the way pine view works but im only 15 so bear with me lol
Pine Script® indicator
Quantum VWAPQuantum VWAP — Indicator Summary
Quantum VWAP is a multi-module TradingView indicator built around VWAP, liquidity zones, macro timing, Fair Value Gaps, breaker zones, trend structure, support/resistance, volume pressure, and daily market context.
It displays a Global VWAP with configurable bands and forward labels, while avoiding duplicate Global VWAP plots. It also includes a separate NY 09:30 VWAP module and a New York 00:00 horizontal line.
The indicator detects and draws Fair Value Gaps on the current timeframe only when the FVG displacement candle touches the Global VWAP or one of its bands. It also shows 5-minute NFT Fair Value Gaps on lower timeframes when the same VWAP-touch condition is met.
It includes Breaker VWAP zones, drawn from the last opposite candle before the Fair Value Gap, and keeps the setup visible until the entry condition is reached.
The Macro module marks New York macro windows and can detect macro-based Fair Value Gap setups, including current timeframe FVG, breaker zone, and 5-minute macro FVG confirmation.
The indicator also includes entry arrows, colored green for bullish setups and red for bearish setups, positioned away from the candle for better visibility.
Additional modules include:
Daily Bias Table
Trend Bar and Doji coloring
Minervini-style trend lines
Support and resistance lines
Big Trade volume pressure pads
Daily Volume Range
Daily POC
NY 00:00 line
Pine Script® indicator
maXXit Fibu Level Trigger [V6 1.1]# maXXit Level Trigger — Overview
**Platform:** TradingView Pine Script v6 · Overlay indicator
---
## What does the Level Trigger do?
The Level Trigger automates trade entries and exits based on a freely configurable price level. False breakouts are filtered by an **N-closes confirmation** — only after N consecutive candles close through the level is an action triggered. The trigger fires json alerts to an external webhook server connected to a broker api (IBKR, OANDA, IG-Markets).
If the signal generation is based on future contracts (highly recommended), the mirror instruments are mapped through configurable parameters inside the script to the preconfigured broker api. The trigger does not fire position entries or exits inside Tradingview directly. A simple textmessage can also be sent.
---
## Flow (State Machine)
```
1. ARMING — Price touches the trigger level from the opposite side (intrabar)
2. ENTRY — N closes back through the level → BUY / SELL alert
3. POSITION — Stop and TP monitor the open position
4. EXIT — SL or TP fires → closing order alert
```
---
## Features
| Feature | Description |
|---|---|
| **Long & Short** | Both directions configurable |
| **N-Closes (1–3)** | Number of confirming closes required for each step |
| **Trigger-level stop** | N closes back through the trigger level = automatic stop exit. Active only when no Absolute SL is set. |
| **Absolute stop loss** | A separate SL level — fires immediately on intrabar touch, no close confirmation. When set, the trigger-level stop is deactivated. |
| **Take Profit** | Two-step exit: TP reached → reversal confirmed with N closes |
| **TP Touch mode** | Alternative: exit fires directly on intrabar touch of the TP level |
| **Trailing stop** | Auto-stop locks at the old TP level when TP is raised mid-trade |
| **JSON alerts** | Direct broker integration (IBKR, OANDA, IG Markets) |
| **Symbol mapping** | Pre-defined instrument parameters for 15+ futures/CFDs |
| **Lock to Symbol** | Trigger stays bound to the selected instrument across chart changes |
| **Position Lock** | Preserves position state when parameters are changed mid-trade |
---
## Stop Loss Logic — Three-tier hierarchy
The indicator uses a priority-based stop system. Only one tier is active at a time:
| Priority | Condition | Stop mechanism | Trigger |
|---|---|---|---|
| **1 — Absolute SL** | SL Level > 0 | Fixed price level | Intrabar touch — immediate, no close needed |
| **2 — Auto-SL (TP lock)** | TP reached → auto_sl set | Old TP level becomes new stop | N consecutive closes through the level |
| **3 — Trigger-level stop** | No SL, no auto_sl | N closes back through trigger | N consecutive closes |
### How tiers interact
- When **Absolute SL is set**: tiers 2 and 3 are deactivated. Only the intrabar stop is active.
- When **TP is reached**: the TP level locks as a trailing stop (`auto_sl`). The Absolute SL can now be removed — `auto_sl` takes over with N-close confirmation, behaving exactly like the original trigger-level stop did.
- When **neither SL nor auto_sl is active**: the trigger level itself acts as the stop (N closes back through it).
### After a stop fires
The trigger does not re-arm automatically. To re-activate, set a new Trigger Level value (changing the level resets all state).
---
## Worked Example — LONG, N = 2 closes
**Setup:** Direction = LONG · Trigger = 5000 · TP = 5100 · Closes required = 2
### Phase 1 — Entry
| Event | What happens |
|---|---|
| Price drops below 5000 (intrabar) | Trigger **arms** — indicator starts watching |
| Price rises, 2 consecutive closes above 5000 | **Entry alert fired** → BUY order sent · stop activates at 5000 |
| Price drops back, 2 closes below 5000 (before TP) | **Stop exit** → SELL alert · trigger deactivates |
### Phase 2a — TP exit (price reverses after TP)
| Event | What happens |
|---|---|
| Price rises through 5100 | TP **step 1**: level reached — indicator waits for reversal |
| Price falls back, 2 consecutive closes below 5100 | **TP exit alert** → SELL order sent · position closed |
### Phase 2b — Trailing stop (price keeps running above TP)
| Event | What happens |
|---|---|
| Price rises through 5100 | TP step 1 fires — stop **locks at 5100** (yellow line) |
| Price continues above 5100 — no reversal | Position stays open · stop remains at 5100 |
| User raises TP to 5200 | `tp_armed` resets · stop stays locked at old 5100 level |
| Price reaches 5200 | Stop locks at 5200 — old 5100 stop replaced |
| Price falls, 2 closes below 5200 | **Stop exit alert** → SELL order sent · position closed |
> The locked stop (old TP level) works exactly like the trigger-level stop: N consecutive closes through the level fire the exit. The Absolute SL input can be cleared once the stop is locked — it is no longer needed.
---
## Visual Display
- **Trigger line** — gray (idle) · orange (armed) · red (position open = active stop level)
- **SL line** — shows absolute stop level with synchronized state label
- **TP line** — green (active) · yellow (TP armed, waiting for reversal)
- **Labels** — current state: IDLE / ARMED ↑↓ / active ▲▼ / fired
Pine Script® indicator
Complete Volume Toolkit [NotLazyBear]Complete Volume Toolkit —
A comprehensive volume analysis system that goes far beyond basic volume bars. It estimates buying versus selling pressure inside each candle using either true lower-timeframe data or chart-timeframe approximation, detects unusual volume spikes using 7 different statistical methods, identifies volume clustering patterns, and tracks cumulative flow over time. Think of it as a full forensic lab for volume data — not just showing how much traded, but revealing who was in control, whether the activity was abnormal, and when volume patterns are breaking out of their normal ranges.
What This Actually Does (In Plain English)
Most charts just show volume as green or red bars. This toolkit breaks volume down into multiple dimensions:
How much traded? — Standard volume bars plus moving average and relative comparison.
Who was in control? — Estimated buy versus sell volume within each candle, calculated from true intrabar data when available or approximated from the chart bar's close position when not.
Was this normal or weird? — 7 different statistical tests for abnormal volume spikes.
Where does volume normally cluster? — Density analysis finding the "usual" volume levels.
Is volume breaking out of its pattern? — Cluster breakout detection when volume leaves its typical range.
What regime are we in? — Subtle background tints flag when volume sits in the top or bottom 10 percent of its recent distribution.
The Core Components Explained
Optional Intrabar Analysis: The indicator can pull true lower-timeframe data to calculate exact buy and sell volume across every sub-bar inside the current candle. When enabled, you select a lower timeframe (e.g., 1-minute on a 5-minute chart) and the script aggregates every tick of volume with directional bias. When disabled, the indicator falls back to a chart-timeframe estimation: if price closed near the high of the candle, most volume was likely buying; if near the low, mostly selling. Both modes are useful — intrabar is more precise but requires a valid lower timeframe; chart mode works on any chart with zero dependencies.
Cumulative Tracking: Adds up volume or delta over a rolling window. Shows whether buying or selling pressure is building over time, not just per bar.
7 Outlier Detection Methods: From simple Z-scores to advanced wavelet analysis. Each method has different strengths — some catch Gaussian extremes, others catch non-normal distributions, others catch sudden transients. Using them together creates a robust "unusual activity" alarm.
Clustering Analysis: Volume tends to cluster around certain levels (like water finding its level). When volume suddenly leaves this cluster, it often signals a regime change — either a breakout or a collapse in participation.
Volume Regime Filter: Background tints mark the 90th and 10th percentiles of recent volume. This gives instant context: is participation confirming the move, or is the market asleep?
All The Settings Explained
Intrabar Resolution
Enable Intrabar Analysis: Master toggle. When ON, the script pulls lower-timeframe data for precise delta calculation. When OFF, all volume metrics use chart-timeframe data only and no lower timeframe is required.
Lower Timeframe: Only active when Intrabar Analysis is enabled. Must be strictly lower than the chart timeframe (e.g., 1-minute on a 5-minute chart). The script validates this automatically and throws a runtime error if the condition is violated.
Volume Display
Show Volume Per Bar: The basic histogram. Green when close ≥ open, red when close < open.
Show Volume Moving Average: A simple SMA of volume. Helps see if today's volume is above or below average.
Show Relative Volume: Volume divided by its moving average. A reading of 2.0 means twice normal volume. Useful for quick comparison.
Volume MA Length: Default 20. The lookback for the average and relative calculations.
Colors: Customizable for bullish volume, bearish volume, MA line, and relative volume line.
Cumulative Volume
Show Cumulative Volume: Rolling sum of volume over the lookback period. Warning: this can be huge and may collide with regular volume on the same scale.
Cumulative Lookback: Default 50. How many bars to sum.
Normalize Cumulative: When ON, divides the sum by the lookback length, showing "average volume over the window" instead of raw sum. This keeps the scale reasonable and comparable to per-bar volume.
Color: Blue by default.
Volume Delta
Show Volume Delta Per Bar: Estimated buy volume minus sell volume for each bar. Green = more buying estimated. Red = more selling estimated.
Show Cumulative Volume Delta: Running sum of the delta over the lookback. Shows sustained buying or selling pressure building over time.
Delta Cumulative Lookback: Default 50. The window for summing delta.
Colors: Green for positive (buying), red for negative (selling), purple for cumulative line.
Volume Outlier Detection
Show Outlier Signals: Master toggle for the statistical anomaly detection.
Detection Method: Choose which method(s) to use:
Z-Score: Classic "how many standard deviations from the mean?" Good for normally distributed data.
Modified Z-Score: Uses median and MAD instead of mean and standard deviation. More robust — won't be fooled by existing outliers.
IQR: Interquartile Range. Non-parametric — makes no assumptions about distribution shape. Good for skewed data.
Chauvenet's Criterion: Probabilistic — asks "how likely is this value in a sample of this size?" Adapts to window length.
Grubbs-Inspired: Extreme Studentized Deviate. Good for detecting single extreme values in otherwise normal data.
Entropy Anomaly: Information-theoretic. Flags when volume is both extreme AND the overall distribution is unusually dispersed.
Wavelet Anomaly: Haar wavelet detail coefficients. Catches sudden transients and sharp changes that other methods miss.
All Combined: Uses all 7 methods and requires at least 2 to agree. Recommended for most users — most robust.
Detection Window: Default 50. The lookback for all statistical calculations. Longer = more stable baselines, slower reaction. Shorter = faster reaction, more noise.
Z-Score Threshold: Default 2.5. How many standard deviations to count as "extreme." Higher = stricter, fewer signals. Lower = more sensitive.
Modified Z-Score Threshold: Default 3.5. Same logic but for the robust version.
IQR Multiplier: Default 1.5. The "fences" multiplier for Tukey's method. 1.5 is standard. 3.0 = very conservative.
Chauvenet Criterion: Default 0.5. Expected occurrence threshold. Lower = stricter rejection.
Entropy Dispersion Threshold: Default 0.7. When entropy exceeds this AND volume is extreme, flag it.
Wavelet Threshold: Default 2.5. Z-score equivalent for wavelet detail coefficients.
Volume Clustering
Show Cluster Detection: Toggle for identifying when volume sits in its "normal" density zone.
Show Modal Volume: Shows the most common volume level (the "peak" of the distribution).
Cluster Method:
KDE Density: Kernel Density Estimate — smooth probability distribution. Elegant but computationally heavier.
Histogram Binning: Simple bucket counting. Faster, less smooth.
KDE + Histogram: Average of both. Recommended balance.
Cluster Window: Default 100. How much history to use for density estimation.
KDE Bandwidth: Default 0.08 (8% of range). How "wide" the smoothing kernel is. Higher = smoother, more inclusive. Lower = tighter, more selective.
Cluster Density Threshold: Default 0.6. Score above this = "in cluster." Higher = stricter cluster membership.
Histogram Bins: Default 20. How many buckets for histogram methods.
Highlight Cluster Regions: Toggle background tinting during sustained clusters.
Visual Settings
Enable Glow Effects: Adds a halo around key lines for visibility.
Show Event Labels: Text labels for outliers and breakouts.
Label Min Bars Apart: Default 5. Prevents label spam.
Background Transparency: Default 85. How see-through the background tints are.
How To Read The Chart
Volume Histogram (Green/Red Bars): Standard volume. Taller = more activity. Green = bullish close. Red = bearish close.
Volume MA Line (Yellow): The average volume. When histogram spikes well above this line, pay attention.
Relative Volume Line (Orange): How many "multiples" of average volume today represents. 1.5 = 50% above average. 3.0 = triple average. Spikes here often precede major moves.
Cumulative Volume (Blue): The rolling sum or average. Shows whether participation is building over the lookback period.
Volume Delta (Green/Red Histogram): Estimated buy minus sell pressure per bar. Tall green = aggressive buying. Tall red = aggressive selling. This is the "who's winning" indicator.
Cumulative Delta (Purple/Green Line): The running sum of delta. Rising = sustained buying pressure. Falling = sustained selling pressure. Divergences between cumulative delta and price often signal hidden accumulation or distribution.
Modal Volume (Magenta Line): The "normal" volume level. When volume is near this line, activity is typical. When it diverges significantly, something unusual is happening.
Light Red Background Tint: Volume is in the top 10% of its recent range — high participation regime.
Light Blue Background Tint: Volume is in the bottom 10% of its recent range — low participation, market likely asleep.
Red Background Flash: Outlier detected — volume is statistically abnormal. At least 2 of 7 methods agreed (if using All Combined). This is your "wake up" signal.
Green Background Tint: Sustained cluster — volume is sitting in its typical density zone. The market is behaving "normally" by volume standards.
Circle Marker (Top): Outlier event. Exact bar where abnormal volume occurred.
Triangle Marker (Bottom): Cluster breakout — volume just left its typical range. Often precedes directional moves.
Practical Trading Strategies
The "Volume Confirms Price" Play (Beginner-Friendly)
When price breaks out of a range or pattern
Check that volume is above average (relative volume > 1.5) AND not an outlier (no red background)
Check that volume delta is green (buying estimated)
This confirms the breakout has genuine participation behind it
Enter in breakout direction with stop-loss behind the breakout point
The "Outlier Fade" Play
When a red outlier background appears with no significant price move
This means huge volume traded but price went nowhere — a battle between buyers and sellers
Often called "churn" or "absorption" — smart money is exchanging positions with dumb money
Wait for the next bar's direction. If price breaks the high of the outlier bar, buyers won. If it breaks the low, sellers won.
Enter in the direction of the resolution
The "Delta Divergence" Play
When price makes a new low but cumulative delta makes a higher low
This means selling pressure is weakening even as price falls — hidden accumulation
Wait for confirmation (bullish candle, support hold, or outlier buying volume)
Enter long with stop below the recent low
Same logic in reverse for bearish divergence (price high, delta lower)
The "Cluster Breakout" Play
When the green cluster background has persisted for several bars (market quiet, volume normal)
Then a triangle marker appears (cluster breakout) with volume spiking above modal
This means the market is "waking up" from its typical volume pattern
Enter in the direction of the volume spike (green delta = long, red delta = short)
The first move out of a cluster is often the strongest
The "Volume Regime Filter"
Use the subtle background tints (light red/blue from high/low percentiles) as a trade filter
Only take trend-following trades when volume is in the high percentile (light red background) — this means participation confirms the move
Avoid new entries when volume is in the low percentile (light blue background) — the market is asleep, moves are likely false
Important Things To Know
Intrabar Mode Is Optional: You do not need a lower timeframe to use this indicator. Disable "Enable Intrabar Analysis" and the script runs entirely on chart-timeframe data with estimated delta. Enable it when you want higher precision and have access to a valid lower timeframe.
Lower Timeframe Must Be Strictly Lower: If you enable intrabar analysis, the selected timeframe must be lower than the chart timeframe. The script enforces this automatically. Attempting to use the same timeframe or a higher one will trigger a runtime error.
Delta Is An Estimate: Whether using intrabar aggregation or chart-timeframe approximation, the buy/sell split is directional, not exact. A bar that wicks down then closes at the high had buying, even if the estimate says 100% buying. Use delta as a directional hint , not exact accounting.
Outlier Methods Have Different Strengths: Z-Score assumes normal distribution — works poorly if volume is naturally skewed. Modified Z-Score is robust to outliers already present. IQR makes no distribution assumptions. Wavelet catches sharp spikes that smooth methods miss. "All Combined" with 2+ agreement is the safest default.
Clustering Is Slow to Update: The density estimation uses 100 bars of history. A sudden regime change (like a news event) won't immediately reflect in the cluster boundaries. The cluster breakout signal helps bridge this gap.
Scale Collision Is Real: Cumulative volume (especially unnormalized) can be 50× larger than per-bar volume. If you enable both on the same pane, the histogram becomes invisible. Either normalize cumulative or put them on separate panes.
The Glow Effects Are Purely Visual: They add no analytical value but make lines easier to see against busy backgrounds. Turn off if you prefer clean charts or need performance.
Label Frequency Prevents Spam: The minimum bars-between-labels setting prevents outlier clusters from creating 10 labels in 5 bars. Default 5 is reasonable. Lower if you want more annotation. Higher for cleaner charts.
No Repainting: All calculations use confirmed bar data. The intrabar estimate uses the confirmed close position. Outlier detection uses closed bars in its window. Clustering uses historical data only.
Data Window Shows Hidden Values: Many calculated values (Z-scores, entropy, wavelet scores, cluster densities, intrabar count, buy/sell estimates) are computed but not plotted. They're available in the Data Window for debugging and custom analysis.
Common Mistakes To Avoid
Forgetting to Toggle Intrabar Mode: If you load the indicator and see no delta data, check whether "Enable Intrabar Analysis" is on but no valid lower timeframe is selected. Either pick a proper lower timeframe or disable intrabar mode entirely.
Trading Every Outlier: An outlier just means volume was unusual, not that price must move. Sometimes huge volume is just two market makers rebalancing. Wait for price confirmation (break of a level, next bar direction).
Ignoring the Delta Sign: A volume outlier with red delta (selling estimated) is very different from one with green delta . Always check who was in control during the abnormal volume.
Forgetting Cumulative Context: A single green delta bar means little. But 10 green delta bars in a row with rising cumulative delta means sustained accumulation. The cumulative line tells the story the per-bar histogram cannot.
Using Too Many Overlays: Volume histogram + cumulative volume + delta + cumulative delta + modal + outlier marks = visual chaos. Start with volume + delta only. Add features gradually as you learn their value.
Mistaking Cluster Breakout for Outlier: A cluster breakout (triangle) means volume left its normal range. An outlier (circle + red background) means volume is statistically extreme. They often coincide but mean slightly different things — breakout is about pattern change, outlier is about statistical rarity.
Setting Thresholds Too Low: A Z-score threshold of 1.0 will flag half your bars as outliers. A threshold of 4.0 will almost never fire. The defaults (2.5–3.5) are calibrated for typical market data. Adjust only if you consistently see too many or too few signals.
Quick Setup Checklist
Load the indicator on a separate pane below price (recommended)
Decide on Intrabar Analysis : enable it with a valid lower timeframe for precision, or leave it disabled for simplicity
Start with only Volume Per Bar and Volume Delta Per Bar enabled
Watch for 20–30 bars to see how delta correlates with price direction
Enable Volume MA and Relative Volume to establish "normal" baselines
Enable Outlier Detection (All Combined) and note which outliers precede real moves versus which fizzle
Add Cumulative Delta and watch for divergences with price
Enable Clustering last — it's the most advanced feature
Adjust detection thresholds based on your market's volatility (crypto needs higher thresholds than forex)
Use outlier signals as alerts to check your charts, not as automatic entry signals
Always confirm volume signals with price action — volume is the fuel, price is the steering
Pine Script® indicator
MTF Mirror Candles + SMTMTF Mirror Candles + SMT displays higher-timeframe mirror candles directly on the chart, allowing traders to monitor broader market structure without changing timeframes.
The indicator includes customizable HTF mirror candles, candle countdown timer, adjustable spacing, candle colors, and automatic mapping between lower and higher timeframes.
It also includes an SMT divergence module designed to compare correlated markets such as MNQ/MES, EURUSD/GBPUSD, NAS100/US500, XAUUSD/XAGUSD, BTC/ETH, or custom pairs.
Main features:
• Higher-timeframe mirror candles
• HTF candle countdown timer
• Adjustable candle quantity, spacing, and visual style
• SMT bullish and bearish divergence detection
• Manual or automatic correlation mode
• Custom correlation pairs
• Clean SMT labels with monitored pair names
• Designed for multi-timeframe and correlation-based analysis
This indicator is intended as a visual analysis tool and does not provide financial advice or buy/sell signals.
Pine Script® indicator
FDAX 5-in-1: 3EMA + Fractals + Session + AutoLot//@version=5
indicator("FDAX 5-in-1: 3EMA + Fractals + Session + AutoLot", overlay=true, max_boxes_count=500, max_lines_count=500)
// --- 1. Настройки EMA ---
fastLen = input.int(9, "Fast EMA", group="Moving Averages")
slowLen = input.int(21, "Slow EMA", group="Moving Averages")
trendLen = input.int(200, "Trend EMA", group="Moving Averages")
fastEMA = ta.ema(close, fastLen)
slowEMA = ta.ema(close, slowLen)
trendEMA = ta.ema(close, trendLen)
plot(fastEMA, color=color.new(color.blue, 0), title="EMA 9")
plot(slowEMA, color=color.new(color.orange, 0), title="EMA 21")
plot(trendEMA, color=color.new(color.gray, 0), linewidth=2, title="EMA 200")
// --- 2. Фракталы (Wicked Fractals) ---
// Фрактал определяется как 5-свечная модель (2 свечи слева и 2 справа ниже/выше центральной)
topFractal = ta.highestbars(high, 5) == -2
btmFractal = ta.lowestbars(low, 5) == -2
plotshape(topFractal, style=shape.diamond, location=location.abovebar, color=color.new(color.red, 30), size=size.tiny, title="Top Fractal")
plotshape(btmFractal, style=shape.diamond, location=location.belowbar, color=color.new(color.green, 30), size=size.tiny, title="Bottom Fractal")
// --- 3. Настройки для Пропа (Риск 1% от $10k) ---
accountSize = input.float(10000, "Account Size $", group="Prop Risk")
riskPercent = input.float(1.0, "Risk %", group="Prop Risk")
tickValue = input.float(1.0, "Tick Value (Micro DAX = 1.0)", group="Prop Risk")
timeAllowed = input.session("0800-1600", "Warsaw Session", group="Prop Risk")
// --- 4. Логика Сигналов ---
isInSession = not na(time(timeframe.period, timeAllowed + ":12345", "Europe/Warsaw"))
bullCross = ta.crossover(fastEMA, slowEMA)
bearCross = ta.crossunder(fastEMA, slowEMA)
// Стоп-лосс берем за ближайший фрактал или минимум 3 свечей
longSL = ta.lowest(low, 3) - 5
shortSL = ta.highest(high, 3) + 5
riskAmt = accountSize * (riskPercent / 100)
lotLong = (close - longSL) > 0 ? riskAmt / ((close - longSL) * tickValue) : 0
lotShort = (shortSL - close) > 0 ? riskAmt / ((shortSL - close) * tickValue) : 0
longSignal = bullCross and close > trendEMA and isInSession
shortSignal = bearCross and close < trendEMA and isInSession
// Отрисовка сигналов входа
plotshape(longSignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Long Entry")
plotshape(shortSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Short Entry")
// --- 5. Алерты ---
if longSignal
msg = "LONG FDAX LOT: " + str.tostring(math.round(lotLong, 2)) + " SL: " + str.tostring(longSL)
alert(msg, alert.freq_once_per_bar_close)
if shortSignal
msg = "SHORT FDAX LOT: " + str.tostring(math.round(lotShort, 2)) + " SL: " + str.tostring(shortSL)
alert(msg, alert.freq_once_per_bar_close)
// --- 6. Границы сессии (High/Low дня) ---
var float sessionHigh = na
var float sessionLow = na
if isInSession and not isInSession
sessionHigh := high
sessionLow := low
else if isInSession
sessionHigh := math.max(sessionHigh, high)
sessionLow := math.min(sessionLow, low)
plot(isInSession ? sessionHigh : na, color=color.new(color.red, 60), style=plot.style_stepline, title="Session High")
plot(isInSession ? sessionLow : na, color=color.new(color.green, 60), style=plot.style_stepline, title="Session Low")
Pine Script® indicator
Pine Script® strategy
VIX Allocation Regime Pro - Risk ON / OFFsmart portfolio allocation with vix arbitrage auto rebalance when fear and greed freeze
Pine Script® indicator
NGX FVG Detector + Mini ScreenerFVGDetects bullish and bearish FVG on the current chart
Creates a mini Pine Screener table for selected NGX stocks
Pine Script® indicator
Swing Agent Screenshot OverlayScreenshot Standardization Overlay for discretionary multi-timeframe trading workflows.
This overlay is designed to make chart captures consistent and readable across HTF, LTF and trade management phases. It lets you plot primary and secondary zones, invalidation, key levels, entry/stop/targets, plus optional session VWAPs and a custom anchored VWAP.
Built for traders who want structured screenshots for review, journaling, collaboration, or AI-assisted analysis. It does not replace native Volume Profile tools, but helps create a uniform visual framework around them.
Pine Script® indicator
Weekly Breakout Sniper System (NSE Futures)//@version=5
indicator("Weekly Breakout Sniper System (NSE Futures)", overlay=true)
// ================= INPUTS =================
emaFast = input.int(20, "EMA 20")
emaMid = input.int(50, "EMA 50")
emaLong = input.int(200, "EMA 200")
rsiLen = input.int(14, "RSI")
adxLen = input.int(14, "ADX")
volLen = input.int(20, "Volume Avg")
breakLen = input.int(10, "Weekly Breakout Lookback")
// ================= INDICATORS =================
ema20 = ta.ema(close, emaFast)
ema50 = ta.ema(close, emaMid)
ema200 = ta.ema(close, emaLong)
rsi = ta.rsi(close, rsiLen)
// ================= ADX =================
upMove = high - high
downMove = low - low
plusDM = (upMove > downMove and upMove > 0) ? upMove : 0
minusDM = (downMove > upMove and downMove > 0) ? downMove : 0
tr = ta.rma(ta.tr(true), adxLen)
plusDI = 100 * ta.rma(plusDM, adxLen) / tr
minusDI = 100 * ta.rma(minusDM, adxLen) / tr
dx = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adx = ta.rma(dx, adxLen)
// ================= VOLUME =================
volAvg = ta.sma(volume, volLen)
volOk = volume > volAvg
// ================= WEEKLY BREAKOUT LEVELS =================
weeklyHigh = ta.highest(high , breakLen)
weeklyLow = ta.lowest(low , breakLen)
breakUp = close > weeklyHigh
breakDn = close < weeklyLow
// ================= TREND FILTER =================
bullTrend = close > ema200 and ema20 > ema50
bearTrend = close < ema200 and ema20 < ema50
// ================= SIGNALS =================
buySignal =
bullTrend and
breakUp and
rsi > 55 and
adx > 20 and
volOk
sellSignal =
bearTrend and
breakDn and
rsi < 45 and
adx > 20 and
volOk
// ================= PLOTS =================
plot(ema20, color=color.green)
plot(ema50, color=color.red)
plot(ema200, color=color.orange)
plotshape(buySignal, location=location.belowbar, style=shape.labelup, text="W BUY", color=color.lime)
plotshape(sellSignal, location=location.abovebar, style=shape.labeldown, text="W SELL", color=color.red)
bgcolor(buySignal ? color.new(color.green, 85) : na)
bgcolor(sellSignal ? color.new(color.red, 85) : na)
// ================= ALERTS =================
alertcondition(buySignal, title="Weekly BUY", message="Weekly Breakout BUY Signal")
alertcondition(sellSignal, title="Weekly SELL", message="Weekly Breakdown Signal")
Pine Script® indicator
Swing Strategy: Genus HA MTF 9 EMASignals: Labels will appear on the chart as BUY or SELL only when the 200 DMA (Red), all 9 EMAs (Black, Blue, Yellow), and the Hilega Milega momentum align.
Exit Indicators: The strategy automatically triggers a Take Profit if the price closes on the wrong side of the Black (Daily) 9 EMA or if the Heikin Ashi candle color flips
Pine Script® strategy
Downtrend Break DetectorAutomatically detects and draws descending trendlines from pivot highs, then fires a signal the moment price breaks above with volume confirmation.
Unlike simple moving average crossovers, this indicator identifies actual market structure — connecting two or more pivot highs forming a valid downtrend, then waiting for a decisive breakout candle backed by volume surge.
How it works:
Scans historical pivot highs to find the best-fit descending trendline
Validates the line with configurable touch count, pierce tolerance, and anchor drop requirements
Fires only when price closes above the line with a volume surge AND a higher-low structure is intact
Assigns a quality score to every signal based on touches, spacing, recency, and structure — filter out weak signals with the minimum score setting
Signal features:
▲ Arrow marks the exact entry bar
Info label shows score, SL%, and T1/T2/T3 targets
ATR-based or fixed % SL/TP levels — fully configurable from settings, adapts to any trading style
Trailing stop logic: moves to breakeven at T1, to T1 at T2
Built-in benchmark table tracks win rate and average R across all historical signals
Best used on: Daily timeframe, any liquid asset — stocks, crypto, forex, indices.
Pine Script® indicator
OB Finder ICT BOS/CHoCHThe wugamlo code is Pine Script v4 and about 80 lines. The best approach is to port it to v5 and add each of the above as optional toggleable layers, so the user can run it clean or with the full ICT order flow stack. The structure would be:
Base: wugamlo OB detection logic (ported to v5)
Layer 1: Displacement strength score on each OB zone
Layer 2: BOS / CHoCH labels on structural breaks
Layer 3: Liquidity sweep flag (inducement) before OB formation
Layer 4: FVG linkage highlight (gold border = OB + FVG confluence)
Layer 5: Mitigation tracking (zones close off when hit)
Layer 6: Relative volume confirmation marker
Pine Script® indicator
Session Range Architecture [JOAT]Session Range Architecture
Introduction
Session Range Architecture (SRA) is an open-source, institutional-grade session killzone engine that captures the opening range of the Tokyo, London, and New York trading sessions as live price-tracking boxes, draws high, low, and mid extension lines that persist after each session closes, and fires rejection signals when price wicks beyond a session extreme and closes back inside. Signals are filtered by an EMA alignment stack (EMA 4, EMA 5, and EMA 750) and confirmed exclusively on closed bars. ATR-based stop loss and take profit boxes visualize each signal's risk/reward from entry. Per-session and aggregate win rate statistics are tracked and displayed in a configurable dashboard.
The core problem SRA solves is the repetitive, daily manual work of marking opening range boxes for each session. ICT methodology identifies the first portion of each killzone as the period during which institutional order flow establishes the session's directional bias — the high and low of that range become the primary intraday reference levels. When price returns to those levels later in the session or in the following session and creates a wick rejection, it signals a potential liquidity grab and reversal opportunity. SRA automates the full process from box construction through signal detection to trade outcome tracking.
Core Concepts
1. Session Opening Range Construction
Each session's opening range is built dynamically during the configurable range window (default: first 15 minutes of each session). The high and low of every bar within that window expand the range in real time. At the end of the window, the range is finalized and stored as a SessionRange user-defined type containing the box, three extension lines (high, low, mid), and the session label:
if inTokyo and not tokBuilding
tokHi := high
tokLo := low
tokOpenBar := bar_index
tokBuilding := true
else if inTokyo and tokBuilding
tokHi := math.max(tokHi, high)
tokLo := math.min(tokLo, low)
2. Extension Lines
When a session's range window closes, three horizontal lines are drawn extending rightward from the range: a dashed line at the session high (buy-side liquidity), a dashed line at the session low (sell-side liquidity), and a dotted line at the session midpoint (50% equilibrium reference). These lines persist on the chart as long-term structural reference levels beyond the session itself.
3. Rejection Signal Detection
A rejection is detected when a bar's wick pierces a session high or low and the close returns inside the range. A minimum wick percentage filter ensures the penetration is meaningful relative to total candle range — trivial pokes are excluded. For a bullish rejection at a session low (price swept below, closed above), the setup is treated as a potential long opportunity. For a bearish rejection at a session high, it is treated as a short opportunity.
4. EMA Alignment Filter
Signals are optionally filtered by a simplified EMA alignment check: bullish signals require EMA 4 above EMA 5 and price above EMA 750; bearish signals require EMA 4 below EMA 5 and price below EMA 750. This ensures rejection signals at session levels are taken in the direction of the prevailing trend structure rather than against it.
5. ATR-Based Trade Visualization and Tracking
On each confirmed signal, ATR-based stop loss and take profit boxes are drawn from the entry close. Outcome is checked on subsequent bars — if price hits the SL or TP, the trade is recorded, counters for the originating session are updated, and the box color changes to reflect the result.
Features
Three Independent Session Ranges: Tokyo, London, and New York opening ranges built automatically each day — individually configurable with independent colors and visibility toggles
Configurable Range Window: Opening range capture window length adjustable from 5 to 60 minutes to match different analysis styles
Extension Lines: Session high, low, and mid extension lines drawn from completed ranges and extended rightward as persistent liquidity reference levels
Rejection Signal Detection: Wick-beyond, close-inside detection at session extremes with minimum wick percentage filter
EMA Alignment Filter: EMA 4/5 cross direction and EMA 750 price side required for signal confirmation — configurable on/off
ATR TP/SL Visualization: Risk and reward boxes from each entry bar — default 1.5× ATR stop, 3:1 reward ratio, fully adjustable
Session Win Rate Tracking: Independent win/loss/total counters for Tokyo, London, and New York sessions
Session History Management: Oldest range boxes automatically trimmed to prevent chart clutter (configurable maximum)
Non-Repainting: All signals gated on barstate.isconfirmed — session ranges never move backward
Timezone Configuration: Session windows evaluated relative to a configurable timezone to handle exchange-specific session times
Dashboard (Top Right): Per-session win/loss/rate table for Tokyo, London, NY, and aggregate total with color-coded performance rows
Session Background Tints: Subtle color fills applied to the chart background during Tokyo, London, and NY range-building windows — visually delineates the opening range capture period for each session in real time
Session Name Labels on Range Boxes: Session name label placed at the midpoint of each finalized range box — immediately identifies which session produced each visible range without requiring manual reference
EMA Alignment State in Dashboard: Current EMA alignment state (BULL ALIGN / BEAR ALIGN / NEUTRAL) displayed in the dashboard — provides a one-glance structural context for the active session
Live ATR Value in Dashboard: Current ATR value shown in the dashboard — communicates the prevailing volatility level used for TP/SL sizing at any given moment
Expanded Dashboard (8 Rows): Dashboard expanded to 8 rows — now includes EMA alignment state and live ATR value alongside the existing per-session win rate breakdown
Input Parameters
Session Settings:
Chart Timezone: Timezone for session window evaluation (default: America/New_York)
Show Tokyo / London / New York Range: Independent visibility toggles per session
Range Window (minutes): Opening range capture duration (default: 15)
EMA Filter:
Fast EMA: Period for fast EMA (default: 4)
Slow EMA: Period for slow EMA (default: 5)
Trend EMA: Period for long-term trend filter EMA (default: 750)
Require EMA Alignment: Toggle filter on/off (default: enabled)
Risk Settings:
ATR Length: ATR period (default: 14)
ATR SL Multiplier: Stop loss ATR distance (default: 1.5)
Reward:Risk Ratio: TP as multiple of SL distance (default: 3.0)
Show TP/SL Boxes: Toggle TP/SL visualization (default: enabled)
Signal Settings:
Require Rejection Wick: Toggle minimum wick filter (default: enabled)
Min Wick % of Range: Minimum wick size relative to candle range (default: 55%)
How to Use This Indicator
Step 1: Identify Session Range Levels
Each session's opening range box shows the high, low, and midpoint established during the opening window. These are the primary liquidity reference levels for that killzone. Extension lines persist after the session box closes, continuing to mark those price levels as the day progresses.
Step 2: Monitor for Rejection Signals
When price wicks beyond a session extreme and closes back inside, a rejection signal is generated. This event represents a liquidity grab — the market took the stops placed beyond the session extreme and reversed. The signal fires at the close of the rejecting bar, confirmed on that candle only.
Step 3: Confirm EMA Alignment
With the EMA filter enabled, only signals aligned with the current EMA 4/5 direction and EMA 750 trend side are triggered. This avoids trading session rejections against the prevailing structural trend.
Step 4: Manage Risk with TP/SL Boxes
The ATR-based TP/SL boxes extend from the entry close and show the exact risk/reward zone for each trade. The stop is placed 1.5× ATR from entry; the target is 3× that distance by default. Both are adjustable.
Step 5: Review Session Performance
The per-session win rate table shows which session ranges have historically produced the best rejection setups on the current instrument and timeframe. Use this to focus attention on the sessions with the strongest empirical edge.
Indicator Limitations
Session detection is based on time windows relative to the selected timezone. Instruments that observe daylight saving time shifts differently from the selected timezone may require manual session string adjustment during DST transitions
The opening range window is fixed in minutes. On timeframes coarser than the window (e.g., a 30-minute chart with a 15-minute range window), the range will capture only one or two bars, which may not accurately represent the opening range
The EMA 750 requires 750 bars of history to produce an accurate value. On instruments with limited history or on very long timeframes, the first 750 bars will show an inaccurate trend filter — use the indicator on instruments and timeframes with sufficient historical data
Session win rate counters are maintained within the current chart load session and reset when the indicator is refreshed. They reflect historical outcomes up to the current chart's loaded data, not a permanent multi-year backtest
Rejection detection uses bar closes. On timeframes with large candles (daily, weekly), a wick rejection at a session range level may span multiple intraday sessions, making the signal less precise for intraday execution
Originality Statement
SRA automates the full three-stage session range workflow — range construction, level monitoring, and rejection detection — within a single indicator, with per-session outcome tracking and EMA trend filtering. This is original for the following reasons:
The dynamic range construction (high/low expanding bar-by-bar during the opening window, then finalizing on window close) replicates the manual process of drawing opening range boxes in real time, including live box expansion during active sessions — behavior not available from static horizontal lines
Extension lines at the session high, low, and midpoint persist beyond the session box as separate structural reference levels, providing a layered view of session-specific liquidity without requiring additional drawings
The rejection detection system operates across all three active session ranges simultaneously in a single scan loop, identifying which specific session range produced the signal and tagging it for session-specific outcome tracking
The EMA alignment stack (fast EMA cross direction + long-term trend EMA) applied as a prerequisite filter to session rejection signals combines institutional level-based methodology with trend confirmation in a single indicator rather than requiring a separate trend indicator
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss. Session range levels and rejection signals are historical reference points. Price does not respect these levels in all market conditions, and rejection signals do not guarantee a reversal. Session win rates are derived from historical bar data and do not predict future performance. Always apply proper risk management. The author is not responsible for any trading losses resulting from the use of this indicator.
-Made with passion by jackofalltrades
Pine Script® indicator






















