XRS Pro Auto Anchored VWAP + SFP Reversals Alerts + EMA/SMAXRS Pro Auto Anchored VWAP + SFP Reversals Alerts + EMA/SMA
Professional multi-session VWAP, institutional standard deviation bands, structurally validated Swing Failure Pattern (SFP) detection, intelligent alerts, and optional moving averages—all designed specifically for futures traders.
Unlike most VWAP indicators that only plot a line, this indicator combines multiple institutional reference points with automated reversal detection to help identify high-probability reaction areas and mean reversion opportunities.
Features
✔ Auto-Anchored VWAPs
Automatically plots four independent VWAPs:
• New York Session VWAP
• Asia Session VWAP
• Weekly VWAP
• Monthly VWAP
Each VWAP resets automatically at the appropriate session or calendar boundary.
For intraday traders this provides both short-term and higher-timeframe value references without manually changing anchors.
✔ True 1-Minute Anchoring
Includes an optional High Resolution Anchoring mode.
When enabled, every VWAP is calculated from actual 1-minute data regardless of the chart timeframe.
This allows:
• Accurate 9:30 NY resets
• Accurate 6:00 PM futures session resets
• Consistent values across all chart timeframes
• More precise deviation bands
If 1-minute history is unavailable, the indicator automatically falls back to the chart timeframe.
Institutional Standard Deviation Bands
The indicator plots the active session's:
• VWAP
• +1σ
• -1σ
• +2σ
• -2σ
These dynamically change based on whether the market is trading inside the New York or Asia session.
Different color schemes are used for each session so historical charts remain easy to interpret.
Band fills are fully customizable.
Automated Swing Failure Pattern (SFP) Detection
One of the primary features of this indicator is automatic SFP detection around institutional value areas.
The script identifies Swing Failure Patterns occurring at:
• Active Session VWAP
• ±1 Standard Deviation
• ±2 Standard Deviation
• Outside Band 2
Instead of simply detecting wick sweeps, every SFP is tracked through a structural lifecycle.
This dramatically reduces low-quality signals.
Structural Validation
Most SFP indicators print a marker immediately and never verify whether the reversal actually develops.
This indicator is different.
Every detected SFP is tracked after it forms.
Signals remain active until one of two things happens:
• The market confirms the reversal by breaking the opposite structure.
• The setup structurally fails and the signal is automatically removed.
This helps eliminate many false positives while leaving confirmed reversals visible on the chart.
Signal Modes
Choose how many reversal signals are displayed.
Available modes:
All Qualified SFPs
Displays:
• VWAP SFPs
• Band 1 SFPs
• Band 2 SFPs
• Outside Band 2 SFPs
• Band 2 Re-entry SFPs
VWAP Only
Displays only SFPs occurring near the active session VWAP.
Ideal for traders who primarily trade mean reversion.
Outside Band 2 Only
Displays only extreme exhaustion reversals beyond ±2 standard deviations.
Perfect for traders looking for stretched markets.
Outside Band 2 Logic
Unlike ordinary proximity-based signals, every structurally valid Swing Failure Pattern occurring beyond Band 2 is detected regardless of its distance from the band.
This allows significant exhaustion reversals to be captured even when volatility temporarily extends beyond the standard deviation envelope.
Intelligent Marker System
Signals use compact premium-style markers:
B = Bullish Reversal
S = Bearish Reversal
Markers remain clean and unobtrusive while still being easy to identify.
Built-in moving averages include:
• EMA 9
• EMA 21
• EMA 50
• EMA 100
• SMA 50
• SMA 200
Each average has independent:
• Color
• Width
• Visibility
This allows the indicator to replace several separate moving-average indicators.
Alerts
Built-in alerts include:
Current Market Alerts
• Current Session VWAP Touch
• Upper Band 2 Break
• Lower Band 2 Break
• Any Band 2 Break
Swing Failure Pattern Alerts
• Bullish VWAP/Band SFP
• Bearish VWAP/Band SFP
• Any VWAP/Band SFP
• Bullish Band 2 Re-entry
• Bearish Band 2 Re-entry
• Bullish Outside Band 2
• Bearish Outside Band 2
• Any Active VWAP SFP
• Any Active Band 1 SFP
• Any Active Band 2 SFP
• Any SFP Signal Marker
• Any SFP at Active VWAP
• Any SFP Outside Band 2
• Bullish Confirmed SFP
• Bearish Confirmed SFP
Designed For
This indicator is especially useful for traders who utilize:
• VWAP Mean Reversion
• Auction Market Theory
• Volume Profile
• ICT Concepts
• Liquidity Sweeps
• Swing Failure Patterns
• Order Blocks
• Institutional Trading
• Futures Markets
While designed primarily around CME futures such as ES, NQ, MNQ, MES, CL, GC, RTY, and YM, it can also be used on equities, ETFs, forex, and cryptocurrencies.
Recommended Workflow
A common workflow is:
Determine the active session value using VWAP.
Identify whether price is trading near VWAP, ±1σ, or ±2σ.
Wait for a structurally valid Swing Failure Pattern.
Use the indicator's confirmation logic to filter weaker reversals.
Combine signals with your own market structure, volume profile, order flow, or risk management plan.
No indicator should be used in isolation. This tool is intended to enhance an existing trading plan by providing objective institutional reference levels and automated reversal detection. Indikator

Intraday Liquidity Sessions [dpTrades]Intraday Liquidity Sessions
WHAT IT IS
An intraday view of session liquidity. It draws the New York, London and Tokyo sessions, and
adds an analytics layer that plain session tools do not have: it marks when a session runs the
liquidity left by its own previous instance, and reports whether each session is expanding or
compressing relative to its own recent behaviour. "Liquidity" here means the session highs and
lows that resting orders sit against, not a volume heatmap.
WHY THESE COMPONENTS BELONG TOGETHER
Session boxes on their own only tell you when a session happened. The information a trader
actually needs is what that session is doing relative to what the same session normally does,
and whether it has taken out the level the previous one left behind. Those two readings are
only meaningful in the context of the session they belong to, which is why the drawing layer
and the analytics layer are one script rather than two: the ranges, the averages and the sweep
detection are all computed from the same per-session state.
METHOD
Each session is tracked independently, with its own state:
- Range tracking: while a session is open, the script keeps its running high and low, and the
price at which the session opened.
- Previous-instance memory: when a session closes, its high and low are stored as the reference
for the next instance of that same session.
- Rolling average: the range of each completed session is folded into a rolling average over a
configurable number of past instances (default 20). The current session's range against that
average is what classifies it as expanding or compressing. The comparison is always a session
against itself, never against another, since Tokyo and New York are not comparable in size.
- Directional bias: measured as the current close against the session's own opening price.
- Liquidity sweep: while a session is open, price is checked against the high and the low left
by the previous instance of that same session. When it trades through one of them, the event
is marked on the chart and flagged in the table.
Session hours are timezone-aware, so the windows stay correct regardless of the exchange
timezone of the charted symbol.
HOW TO USE IT
Read the table first. A session opening expanded versus its own average usually means
participation is above normal; a compressed one often precedes a range. The bias column shows
which way that session has leaned since its open. The sweep marker tells you the previous
session's liquidity has already been taken, which is context rather than a signal.
Sessions, hours, colours and drawing style are configurable. The default set is New York,
London and Tokyo in New York time, each shown in its own colour so they are easy to tell apart.
LIMITATIONS
- Intraday timeframes only. On daily and above there are no session windows to resolve.
- While a session is still open its range, bias and stats update in real time as price moves.
They are final only once the session closes.
- The rolling average needs several completed sessions before expanding or compressing means
anything. Early in the chart history it will be unreliable.
- A liquidity sweep describes what already happened, not a prediction. It marks that a level was
taken, nothing more.
- This is a context tool. It produces no entries, no exits and no buy or sell signals.
Educational content only. Not financial advice. Trade at your own risk. Indikator

Indikator

Indikator

SwingTrades-Long-30Mins
// =====================================================================================
// SwingTrades-Long-30Mins — WHAT THIS INDICATOR DOES AND HOW (read this first)
// =====================================================================================
// THIS IS HALF OF A PAIR
// SwingTrades-Long used to be one script covering 4 categories (MT, 3Q, TR, R). It
// has been split into two independent indicators so each runs on the timeframe that
// actually fits its checks:
// - SwingTrades-Long-Daily (companion script) — Category 1 (MT) + Category 2 (3Q).
// Runs on the DAILY chart. Answers: "is this stock structurally set up to buy,
// and is the trade worth the reward vs. risk?" Updates once per day.
// - SwingTrades-Long-30Mins (THIS script) — Category 3 (TR) + Category 4 (R).
// Runs on the 30-MINUTE chart. Answers: "right now, intraday, is this a safe
// moment to pull the trigger, and how big should the position be?" Updates
// every 30 minutes throughout the session.
// The two scripts are fully independent — each computes and displays its OWN 0-10
// score. There is no shared/combined score across the pair. Run both side by side
// (Daily chart + 30-min chart): use Daily to decide whether to even be watching a
// stock, and this 30-Min script to decide whether right now is the moment to act.
//
// PURPOSE OF THIS SCRIPT
// Scores a stock 0-10 on: (3) Trend Reading — is the stock overextended, and is the
// long bias ("innocent") still intact — and (4) Risk — does the reward-vs-risk still
// hold up live, is there room left to run today, and how big should the position be.
//
// WHERE DATA COMES FROM / DESIGN NOTE
// - Runs on a 30-MINUTE chart. Native 30-min `close` is used everywhere as the
// "current live price" — this is what makes the dashboard refresh in real time
// throughout the session instead of only once at the daily close.
// - Most of the actual THRESHOLDS (5-Day SMA, 20/50-Day SMA trend, ATR, prior-day
// R2 pivot, N-bar daily high for target, daily swing-low for stop) are still
// DAILY concepts, so they are pulled from the Daily timeframe in a single bundled
// request.security() call and reused throughout.
// - VWAP and "minutes since the session open" are computed natively/from real time
// since this script already runs on an intraday chart — no extra security() pull
// needed for those two.
// - The "minutes since open" and live-price checks are only meaningful while the
// market is open and bars are updating in real time; on closed historical bars
// they reflect that bar's snapshot, not true intrabar behavior.
//
// STEP-BY-STEP LOGIC
// STEP A — Inputs, grouped by category (plus a "Daily Reference" group for the
// lengths/lookbacks used to pull Daily-timeframe data).
// STEP B — One bundled request.security() call to the Daily timeframe for every
// daily-scale value this script needs (5/20/50 SMA + slopes, ATR, prior-day
// H/L/C, N-bar high, swing-low, today's open, close N days ago (extension
// check), today's running high/low, day-start timestamp).
// STEP C — Native intraday values: VWAP (resets each session) and "current price"
// (= native 30-min close).
// STEP D — 3. TREND READING (TR) — 5 scored checks + 2 unscored caution flags:
// a. Not overextended vs the Daily 5-SMA (distance measured in daily ATRs),
// also check to make sure price > Daily 5-SMA
// b. Not overextended vs summed daily true range over the last 2-5 days, to
// clarify: if price went too far in the last 2-3 days when compared to
// the summed ATR for those days, then avoid — measured as the NET price
// move over the last `extDays` days against that period's ATR budget
// c. Not too close to / above the prior day's classic R2 pivot
// d. Gap/VWAP OK — no gap today, OR price has returned near session VWAP
// after a gap
// e. Innocent bias — live price > daily 5-SMA and daily 20 & 50 SMA rising
// f. Guilty bias — live price < daily 5-SMA and daily
// 20 & 50 SMA both declining. VETOES the entire TR score to 0.
// g. First-5-minutes-after-open — separate WATCH
// warning, not folded into the score (temporary, not structural).
// STEP E — 4. RISK (R) — 3 checks + sizing outputs, category score /10:
// a. RvR >= minimum, computed live (daily N-bar high target vs. a stop =
// the wider of a daily structural swing-low and a daily-ATR-multiple
// stop, measured against the current live price)
// b. Room left in today's ATR range (today's running high-low, so far, as
// % of daily ATR)
// c. Adequate stop distance — stop is placed at least N daily ATRs away
// (enforced by construction, shown as an explicit check)
// + Suggested share size, $ position value, and $ stop level, sized off
// account equity and max risk % per trade (informational, not scored)
// STEP F — Overall score: TR and Risk category scores (0-10 each) are weighted
// (wTR/wR, auto-normalized) into one 0-10 score. There is no broader-market
// cap here — that safeguard lives in the companion Daily script.
// STEP G — Plots native VWAP and the pulled Daily 5-SMA.
// STEP H — Draws three configurable horizontal lines (+ optional price labels)
// projecting the current potential trade plan to the right of the chart:
// Entry (live 30-min close), Exit/Target (dTargetHigh from Step B), and
// Stop (stopLevel from Step E). Color, width, style, labels, and how far
// back the visible line segment starts are all inputs.
// STEP I — Builds the dashboard table.
// ===================================================================================== Indikator

Ladder Levels
The Dynamic 100s & 20pt Increment Grid System is a purely mechanical, price-tracking visualizer that automatically surrounds the current price action with a highly structured, institutional-style number grid.
Instead of manually drawing horizontal levels for psychological numbers, this engine mathematically locks onto the nearest 100-point level and dynamically projects a 2,000-point grid (1,000 points above and 1,000 points below) that moves with the market in real-time.
Core Features
Major Psychological Levels (100s): The script automatically identifies the nearest whole 100-point boundary (e.g., 4100, 4200, 4300) and plots prominent, solid red lines to mark these heavy institutional and psychological barriers.
Minor Increments (20s): Within every 100-point block, the engine generates four minor sub-levels (20, 40, 60, and 80) drawn as subtle, dotted gray lines. These act as high-probability reaction zones for intraday scalps and lower-timeframe liquidity sweeps.
Dynamic Price Tracking: As the price trends upward or downward, the grid automatically shifts to ensure you are always framed perfectly in the center of the 1000-point range, preventing lines from rendering completely off-screen.
Memory Optimized: To prevent TradingView from lagging or collapsing under the weight of hundreds of drawings, the indicator utilizes a strict array-based cleanup function (barstate.islast). It only draws the grid on the live, active bar—constantly deleting and redrawing the lines without polluting your chart's history.
Best Used For:
Indices & Futures: Excellent for assets like NQ, ES, US30, or SPX where 100-point boundaries act as major support/resistance, and 20-point increments act as intraday structural steps.
ICT / Smart Money Concepts: Provides a rigid framework to anticipate liquidity sweeps (e.g., price sweeping a 20-point increment line before reversing back to the 100-point baseline).
Options Trading: Visually mapping out heavy strike price clusters which typically land on whole or 20-point increment numbers. Indikator

SwingTrades-Long-Daily
// =====================================================================================
// SwingTrades-Long-Daily — WHAT THIS INDICATOR DOES AND HOW (read this first)
// =====================================================================================
// THIS IS HALF OF A PAIR
// SwingTrades-Long used to be one script covering 4 categories (MT, 3Q, TR, R). It
// has been split into two independent indicators so each runs on the timeframe that
// actually fits its checks:
// - SwingTrades-Long-Daily (THIS script) — Category 1 (MT) + Category 2 (3Q).
// Runs on the DAILY chart. Answers: "is this stock structurally set up to buy,
// and is the trade worth the reward vs. risk?" Updates once per day.
// - SwingTrades-Long-30Mins (companion script) — Category 3 (TR) + Category 4 (R).
// Runs on the 30-MINUTE chart. Answers: "right now, intraday, is this a safe
// moment to pull the trigger, and how big should the position be?" Updates
// every 30 minutes throughout the session.
// The two scripts are fully independent — each computes and displays its OWN 0-10
// score. There is no shared/combined score across the pair. Run both side by side
// (Daily chart + 30-min chart): use Daily to decide whether to even be watching a
// stock, and 30-Min to decide whether right now is the moment to act.
//
// PURPOSE OF THIS SCRIPT
// Scores a stock 0-10 on: (1) Multi-Timeframe Price Action — is price aligned with
// higher timeframes, the broader market, and in an uptrend structure — and (2) 3Q —
// where has it come from, where can it go, and is the reward-vs-risk worth it. Every
// threshold is a configurable input.
//
// WHERE DATA COMES FROM
// - Runs on a DAILY chart. Daily Fast/Mid/Slow SMA (defaults 20/50/200), a separate
// Daily 5-SMA (used only for the 30-min pattern check), ATR, and volume are native.
// - Weekly data (HTF alignment) uses its OWN independently configurable Fast/Mid/Slow
// SMA lengths (defaults 10/20/50) — Daily and Weekly lengths are no longer tied
// together. The benchmark symbol (broader market alignment) is also pulled via
// request.security(), on "D", reusing the Daily Mid SMA length.
// - The 30-minute timeframe is pulled via request.security() purely to help confirm
// the "pattern" check (1.b.i) — the Trend Reading / Risk checks that used to also
// reference intraday data now live entirely in the companion 30-min script.
//
// STEP-BY-STEP LOGIC
// STEP A — Inputs, grouped by category.
// STEP B — Daily-native series: Daily Fast/Mid/Slow SMA, a separate Daily 5-SMA, ATR,
// and their "rising" slope flags.
// STEP C — Multi-timeframe pulls: Weekly (HTF, using its own Fast/Mid/Slow lengths),
// Benchmark (broader market), 30-min (just the close, for the pattern check).
// STEP D — 1. MULTI-TIMEFRAME PRICE ACTION (MT) — 9 checks, category score /10:
// a. HTF Aligned (Weekly) — weekly close > rising Weekly Fast SMA, AND
// Weekly Fast SMA > Weekly Mid SMA > Weekly Slow
// SMA (a full weekly SMA-stack check, mirroring
// the Daily stack checks below)
// b. Broader Market Aligned — benchmark close > rising benchmark Daily Mid
// SMA
// c. Pattern Confirmed — Daily price above a rising Daily Fast SMA, AND
// the current 30-min close is above the Daily
// 5-SMA AND that Daily 5-SMA is sloped up (see
// pattern-recognition note below)
// d. Price > Daily Fast SMA
// e. Price > Daily Mid SMA
// f. Daily Fast SMA > Daily Mid SMA
// g. Daily Mid SMA > Daily Slow SMA
// h. Volume > configured minimum
// i. Daily Fast, Mid, AND Slow SMA all sloped up
// NOTE: true chart-pattern recognition (flags, H&S, triangles, etc.) can't
// be reliably automated in Pine. The Daily side of "pattern confirmed" is
// approximated as price trading above a rising short-term SMA; the 30-min
// side checks that the live 30-min price is above the Daily 5-SMA AND that
// the Daily 5-SMA itself is sloped up — not a full trend-structure test.
// STEP E — 2. 3Q — BASE / TARGET / RvR — 3 checks, category score /10:
// a. Good Base Position — where close sits (%) within the recent N-bar
// high/low range ("where has it come from?")
// b. Reward Potential — % distance from close to the recent M-bar high
// ("where can it go?")
// c. RvR >= minimum — reward (target - close) vs risk (close - a local
// ATR/swing-low stop) ("is it worth it?"). NOTE: this stop is only used
// to size the RvR ratio here; the companion 30-min script computes its
// own live stop / position size for actual order placement.
// STEP F — Overall score: MT and 3Q category scores (0-10 each) are weighted
// (wMT/wQ, auto-normalized) and averaged into one 0-10 score. If the
// broader market is NOT aligned (Step D.b failed), the score is hard-capped
// (default 3) regardless of how good everything else looks — "go with the
// market, very little tolerance against it."
// STEP G — Optionally plots the Daily Fast/Mid/Slow SMAs (off by default — toggle in
// "Chart Display") and builds the dashboard table.
// =====================================================================================
Indikator

BK AK-BallisticsBK AK-Ballistics
Order flow measured. Auction pressure exposed. Context made visible.
The “AK” in BK AK-Ballistics is not branding—it is honor. It stands for my mentor, A.K.—the man whose guidance shaped my discipline, patience, market judgment, and respect for clean execution. I dedicate every indicator I build to his honor, and his standard sits behind every decision built into this system.
BK AK-Ballistics is an order-flow and auction-intelligence dashboard designed to show which side is controlling the current bar, whether price is responding to that pressure, and how the present activity fits within the developing session.
The indicator combines:
Footprint buy and sell volume
Volume delta
Buy and sell participation percentages
Point of Control
Value Area High and Value Area Low
Footprint imbalance
Session-resetting Cumulative Volume Delta
Buy and sell dominance streaks
Positive and negative delta streaks
Session participation
POC migration
Price location within the session range
Contextual hover explanations
The objective is not simply to display volume numbers. Ballistics organizes those measurements into a structured interpretation of control, confirmation, absorption, divergence, persistence, and auction location.
Footprint and fallback data
When TradingView footprint data is available, Ballistics reads:
Buy volume
Sell volume
Delta
Point of Control
Value Area High
Value Area Low
The Ticks Per Row setting controls footprint price aggregation, while the Value Area % setting controls the portion of analyzed volume included within the value area.
When native footprint information is unavailable, the indicator uses a transparent fallback estimate based on where the candle closes within its high-low range.
A close nearer the high assigns more volume to estimated buying, while a close nearer the low assigns more volume to estimated selling.
The fallback model is not actual bid-and-ask execution data. It is a directional volume estimate intended to preserve dashboard continuity when native footprint information cannot be retrieved.
POC, Value Area, and native footprint imbalance require valid footprint data.
Buy and sell dominance
Ballistics calculates the percentage of analyzed volume attributed to buyers and sellers.
The dashboard displays:
Buy percentage
Sell percentage
Buy volume
Sell volume
Dominant side
Relative volume ratio
The stronger side is visually illuminated while the weaker side is reduced. This provides an immediate distinction between control and opposition.
The volume ratio adds context to the percentage split. A narrow 51% versus 49% advantage does not represent the same pressure as a 70% versus 30% split.
Dominance identifies the stronger side of the current bar. It does not independently establish continuation or reversal.
Volume delta and price response
Volume delta is calculated as:
Buy Volume − Sell Volume
Positive delta indicates greater analyzed buying volume.
Negative delta indicates greater analyzed selling volume.
Ballistics then compares delta direction with price movement.
Positive delta with rising price
Buying pressure and price direction agree.
Negative delta with falling price
Selling pressure and price direction agree.
Positive delta with falling price
Buying pressure is present, but price is not responding upward. This can indicate absorption, trapped aggression, or unresolved buying activity.
Negative delta with rising price
Selling pressure is present, but price continues higher. This can indicate absorption of selling, trapped shorts, or a squeeze condition.
These classifications provide auction context. They are not automatic entry signals and require confirmation from subsequent price behavior.
Footprint imbalance
When footprint information is available, Ballistics measures delta as a percentage of total analyzed volume.
The user-defined Imbalance % threshold determines whether the current bar is classified as:
Buy imbalanced
Sell imbalanced
Balanced
This is an aggregate bar-level imbalance calculation. It is not a diagonal or stacked price-level imbalance detector.
The imbalance reading should be interpreted alongside price direction, CVD, session persistence, and value location.
Cumulative Volume Delta
Ballistics maintains a session-resetting Cumulative Volume Delta.
Each bar’s delta is added to the running session total. The indicator also tracks:
Current CVD
CVD direction
Session CVD high
Session CVD low
Current CVD location within its session range
CVD helps determine whether current pressure is isolated or part of a broader accumulation of buying or selling activity.
Price and CVD moving together indicate stronger internal agreement.
Price and CVD moving in opposite directions can indicate absorption, divergence, trapped aggression, or weakening efficiency.
When native footprint information is unavailable, CVD is built from the fallback delta estimate and inherits the limitations of that estimate.
Session intelligence
The indicator tracks the developing session rather than evaluating each bar in isolation.
Session measurements include:
Total session bars
Buy-dominant bars
Sell-dominant bars
Cumulative session buy volume
Cumulative session sell volume
Consecutive buy-dominant bars
Consecutive sell-dominant bars
Consecutive positive-delta bars
Consecutive negative-delta bars
Session high
Session low
Session CVD extremes
This makes it possible to distinguish a single-bar pressure event from persistent participation.
For example, the current bar may be buyer-dominant while the broader session remains seller-controlled. That difference can help identify a temporary retracement, countertrend pressure, or a developing change in control.
Session values reset when TradingView identifies the first bar of a new session.
POC and Value Area
When footprint data is available, Ballistics displays the Point of Control, Value Area High, and Value Area Low.
The Point of Control represents the footprint price row containing the highest analyzed volume concentration.
The dashboard also compares the current POC with the previously stored POC.
POC movement is classified as:
Migrating upward
Migrating downward
Unchanged
Upward migration can indicate that accepted volume is developing at higher prices.
Downward migration can indicate that accepted volume is developing at lower prices.
Value Area provides additional auction context:
Price inside Value Area suggests trade within the calculated region of accepted volume.
Price above Value Area indicates upside exploration.
Price below Value Area indicates downside exploration.
Failure back inside the area can indicate rejected exploration.
These readings are contextual observations, not guaranteed breakout or reversal signals.
Session-range location
Ballistics measures the current close between the session high and session low.
This shows whether price is trading:
Near the session high
Near the session low
Near the middle of the session range
Order flow has different meaning depending on location.
Strong buying near the session high may support continuation or warn of exhaustion.
Strong selling near the session low may support continuation or indicate capitulation.
Pressure near the center of the session range may be less useful because the auction remains rotational.
Dashboard and tooltips
The visible dashboard is intentionally compact.
Hovering over its elements provides expanded context including:
Exact volume values
Buy and sell percentages
Volume ratio
Price-versus-delta interpretation
Dominance streaks
Delta streaks
Session participation
CVD positioning
POC relationship
POC migration
Value Area location
Session-range position
Five meter modes are available:
Power
Dominant
Blackout
Split
Surge
The meter selection changes presentation only. It does not alter the calculations.
The indicator also includes five visual themes:
Zenith
Arctic
Phantom
Signal
Ember
Themes change the dashboard appearance but do not affect order-flow measurements.
Suggested use
Apply the indicator to a standard OHLC chart.
Confirm whether native footprint information is available.
Select an appropriate Ticks Per Row value.
Review the current buy and sell percentages.
Compare delta direction with price direction.
Check whether the pressure is part of a continuing streak.
Compare the current bar with the broader session split.
Review CVD direction and session position.
Review POC and Value Area when available.
Place the pressure within the current session range.
Require price follow-through before treating the condition as confirmed.
A stronger continuation environment may include aligned price and delta, persistent same-side control, supportive session participation, confirming CVD, and value migrating in the same direction.
A weaker environment may include a narrow volume split, alternating dominance, price and delta disagreement, conflicting session pressure, and price rotating near the middle of value.
Realtime behavior and limitations
Ballistics updates while the current candle is forming.
Buy and sell volume, delta, imbalance, CVD, dominance, POC, Value Area, streaks, and auction interpretations can change before the bar closes.
Users who rely on closed-candle confirmation should wait for the active candle to complete.
Additional limitations include:
Footprint information may not be available on every symbol.
Fallback volume is an estimate, not actual bid-and-ask execution data.
CVD inherits the limitations of its delta source.
POC and Value Area depend on footprint settings.
Session resets depend on TradingView’s session identification.
The indicator does not display the order book or resting liquidity.
It does not reconstruct tick-by-tick execution sequencing.
Absorption and divergence labels are contextual interpretations, not proof of institutional activity.
Original framework
Footprint volume, delta, CVD, POC, Value Area, and imbalance are established market-analysis concepts.
The distinctive contribution of BK AK-Ballistics is the architecture connecting them into one operational dashboard:
Native-footprint and fallback-data handling
Buy and sell dominance visualization
Price-versus-delta interpretation
Session participation tracking
Dominance and delta streaks
Session CVD positioning
POC migration
Value Area location
Session-range context
Configurable meter systems
Strategic hover explanations
Unified visual themes
The indicator follows one connected process:
Pressure → price response → persistence → session context → cumulative flow → value location → auction interpretation.
Risk disclosure
BK AK-Ballistics is provided for analytical and educational purposes.
It does not provide investment advice, guarantee results, predict future market direction with certainty, or eliminate trading risk.
Positive delta does not guarantee rising prices. Negative delta does not guarantee falling prices. Order-flow conditions can change rapidly.
Users remain responsible for their own trade selection, position sizing, risk management, entries, exits, and execution.
Pressure is measured. Price provides the response. Context determines the meaning. Indikator

Indikator

Indikator

ChartHawk - Key Levels + 8EMA Bias [Free]Premarket and prior-day levels, drawn clean, with a daily 8EMA bias tag.
Every session opens with the same four lines that matter: the premarket high and low, and yesterday's high and low. This plots all four automatically and keeps them on your chart, so you are not redrawing levels every morning.
How to read it:
- Green marks a high (PMH / PDH). Red marks a low (PML / PDL).
- Dotted lines are premarket. Solid lines are prior day.
Colour tells you which side of the range you are looking at; line style tells you which session it came from.
The tag in the corner reads LONG or SHORT off the daily 8EMA - a quick top-down read on whether the name is trending with you or against you before you take an intraday setup.
Premarket levels are pulled from the extended session, so they populate whether or not you have extended hours turned on for your chart. Prior-day levels use confirmed daily data and do not repaint.
Alerts - five built in, all confirmed-close only, so a wick through a level cannot trigger them:
- Closed above premarket high
- Closed below premarket low
- Closed above prior-day high
- Closed below prior-day low
- Daily 8EMA bias flipped
Settings: session window, timezone, EMA length, tag size, colours, and price labels are all editable.
Educational tool only. Not financial advice, no signals, no trade recommendations.
Built by a trader who runs these live. Full multi-ticker screener and entry taggers at charthawkhq.com Indikator

GENESIS//@version=5
indicator("SMAs + Confirmação 2ª Vela + ALERTA", overlay=true)
// Médias
len1 = input.int(8, title="SMA Rápida")
len2 = input.int(21, title="SMA Lenta")
sma1 = ta.sma(close, len1)
sma2 = ta.sma(close, len2)
// Plot
plot(sma1, color=color.green, linewidth=2)
plot(sma2, color=color.blue, linewidth=2)
// Cruzamentos
crossUp = ta.crossover(sma1, sma2)
crossDown = ta.crossunder(sma1, sma2)
// Contadores
var int countUp = 0
var int countDown = 0
if (crossUp)
countUp := 1
else if (countUp > 0)
countUp += 1
if (crossDown)
countDown := 1
else if (countDown > 0)
countDown += 1
// Reset
if (crossDown)
countUp := 0
if (crossUp)
countDown := 0
// Sinais na 2ª vela
buySignal = countUp == 2
sellSignal = countDown == 2
// Plot sinais
plotshape(buySignal, title="COMPRA", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="VENDA", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// ALERTAS 🚨
alertcondition(buySignal, title="ALERTA COMPRA", message="📈 COMPRA confirmada após 2ª vela!")
alertcondition(sellSignal, title="ALERTA VENDA", message="📉 VENDA confirmada após 2ª vela!") Indikator

Indikator

Indikator

Backtest and Beyond? CT CPCV Research Lab v1.2 [Pine v6]CT CPCV Research Lab v1.2
One profitable backtest does not prove you've found a profitable trading strategy.
It proves only one thing: Your strategy worked once...on one version of history.
The real question is: Would it still work if history had unfolded differently?
Professional quantitative researchers have been asking that question for decades.
This framework brings that same question—and one possible way of answering it—to individual traders.
What this description covers
By the time you finish reading this description, you'll understand:
• Why a profitable backtest can be dangerously misleading
• Why professional quantitative researchers demand stronger evidence before trusting a strategy.
• Why Combinatorial Purged Cross-Validation (CPCV) has become one of the most respected validation techniques in quantitative finance.
• What this framework does.
• What it doesn't do.
• Why those differences matter.
So, if that sounds interesting...keep reading.
******
What Is CT CPCV Research Lab?
CT CPCV Research Lab is an open-source quantitative research framework built for TradingView.
It allows complete trading strategies, not just individual indicators, to be evaluated using Combinatorial Purged Cross-Validation (CPCV) under consistent research conditions.
Rather than asking: "Which strategy produced the highest historical return?"
it asks: "Which strategy demonstrated the greatest robustness across many independent historical tests?"
The goal isn't to predict the future. The goal is to help you place more appropriate confidence in what the past may, or may not, be telling you.
If you've ever developed a trading strategy, you've probably followed a familiar process.
• Build some trading rules.
• Run a historical backtest.
• See a profitable equity curve.
• Assume you've found a trading edge.
Unfortunately, that's exactly how thousands of strategies fool their creators every day.
A traditional backtest answers only one question: "What would have happened if I had traded this one sequence of historical events?"
That's a useful question. It just isn't the only question that matters. The uncomfortable truth is that one backtest proves far less than most traders believe.
Built to Teach, Not Just Calculate
Most TradingView scripts give you signals. Some give you statistics. Very few explain why those signals or statistics matter.
CT CPCV Research Lab was designed differently.
Throughout the framework you'll find:
• Plain-English explanations of the underlying research methodology.
• Educational comments describing the purpose of each major section.
• Input tooltips explaining not only what each setting does, but why you might want to change it.
• Built-in guidance that helps interpret CPCV results instead of simply displaying numbers.
Whether you're completely new to quantitative research or already familiar with CPCV, the goal is the same:
Every major part of this framework should either perform the research...or teach the research.
If understanding the research process is just as important to you as obtaining the results, this framework was built with that philosophy in mind.
Why great backtests often fail
Markets only give us one history. One sequence of bull markets, one sequence of bear markets, one sequence of crashes, recoveries, trends and sideways markets. When a strategy performs well on that single history, we don't automatically know why.
Did it discover a genuine market behaviour?
Or...
Did it simply get lucky?
Was it accidentally tailored to one particular period of history?
This is one of the biggest problems in quantitative finance. It is known as overfitting, and it is one of the main reasons strategies that look exceptional in historical testing often disappoint in live trading. The better a strategy becomes at explaining the past, the greater the risk that it has simply memorized the past rather than discovered something that persists into the future.
"I'll just use Out-of-Sample testing."
Good. That's already a major improvement. Out-of-Sample (OOS) testing separates historical data into two sections. One section is used to develop the strategy and the other section is hidden until the strategy is complete. Only then is the strategy evaluated on data it has never seen before.
This helps answer an important question: "Does my strategy still work on genuinely unseen data?"
That's far more honest than testing on everything, but it still has one important weakness.
You only get one Out-of-Sample test, one unseen historical period...and one result.
"I'll use Walk-Forward Analysis."
Even better. Walk-Forward Analysis repeats the process. The strategy is trained on earlier data, tested on the next unseen period, then the window moves forward and the process repeats.
Professional quantitative researchers have used Walk-Forward Analysis for many years because it is a significant improvement over a single backtest. But even Walk-Forward follows one continuous timeline.
History always unfolds in the same order, “Beginning...Middle...End.”
It creates many tests…but they're all built from the same historical journey. Walk-Forward Analysis remains one of the most respected validation techniques used by professional researchers today. CPCV should not be viewed as replacing Walk-Forward, but as answering a different and often more demanding research question.
Enter Combinatorial Purged Cross-Validation (CPCV)
Professional quantitative researchers wanted something even more demanding. Instead of relying on one backtest...or one Out-of-Sample period...or one Walk-Forward schedule...,they wanted to repeatedly evaluate a strategy across many different combinations of historical data. One of the best-known methods for doing this is called:
Combinatorial Purged Cross-Validation (CPCV)
Combinatorial Purged Cross-Validation was introduced by Marcos López de Prado in Advances in Financial Machine Learning (2018), where it was developed for validating machine-learning models in finance. This framework adapts its core principles, combinatorial train/test splits, purging, embargoing, and reconstructed out-of-sample paths, to the practical constraints of Pine Script.
Although the name sounds intimidating, the idea is surprisingly simple. Imagine interviewing someone for an important job. Would you hire them because they answered one interview question correctly?
Of course not. You'd ask many questions, test different skills, look for consistency.
Trading strategies deserve exactly the same treatment. A traditional backtest gives a strategy one interview. CPCV gives it dozens of different interviews.
If the strategy performs consistently across many independent historical tests instead of one lucky backtest, it earns greater confidence. Not certainty. Nothing in financial markets offers certainty.
Just stronger evidence.
What does "Combinatorial Purged Cross-Validation" actually mean?
The name sounds complicated, but each word simply describes part of the process.
Combinatorial: Instead of creating one train/test split, CPCV creates many different combinations of training and testing periods. This allows the strategy to be evaluated across many historical scenarios rather than relying on one convenient sequence.
Purged: Financial observations that occur close together often contain overlapping information.
Imagine two students sitting the same exam. If one student quietly glances at the other's answers before writing their own, the exam is no longer fair.
Purging removes nearby training observations that could accidentally leak information into the test period.
Cross-Validation: Rather than asking "Did this strategy work once?", Cross-Validation repeatedly asks
"Does this strategy continue working when tested on different unseen historical data?"
The goal isn't to find one impressive result. The goal is to see whether good performance remains consistent.
Why this framework exists
For many years, advanced quantitative validation techniques were used primarily by institutional researchers, hedge funds and quantitative investment firms. Retail traders rarely had access to these ideas, not because they were secret, but because they were often buried in academic research or implemented in specialist software.
This framework was built to present those same research principles in plain English so individual traders can understand them, question them, and apply them for themselves. Good research shouldn't depend on where you work. It should depend on how carefully you test your ideas.
A note about the Pine implementation
This implementation is designed to bring the core principles of institutional Combinatorial Purged Cross-Validation (CPCV) research into Pine Script while respecting the practical execution limits of the TradingView environment.
Professional quantitative research platforms often have access to dedicated computing resources with relatively few practical limits on memory, processing time, data sources or dataset size.
TradingView's Pine Script is designed for interactive chart analysis and therefore operates within execution-time, memory and resource limits so scripts remain responsive for all users. To make CPCV practical within those limits, this implementation makes several engineering choices, including limiting the number of chronological groups, reference strategies and stored observations. These are implementation constraints, not changes to the underlying CPCV methodology.
A note on purging and embargo in this implementation. These techniques exist to prevent information from a training observation's forward-looking label leaking into a nearby test period. The built-in candidate strategies use one-bar returns, so their natural leakage window is very short and the purge/embargo settings have limited effect on them. Their value grows substantially if you replace a candidate with a strategy that uses multi-bar holding periods or forward-horizon labels, where boundary leakage is a real risk. They are included so the framework remains methodologically complete and correct for the strategies you may add, not only the ones shipped by default.
The objective has always been to preserve the essential research principles of CPCV while delivering an educational framework that runs efficiently inside TradingView. If you're learning quantitative strategy validation, understanding why CPCV works is far more valuable than simply increasing the number of groups from 8 to 20. Sound methodology will improve your research far more than simply making the computation larger.
How to Read the Tables
This framework displays its results in four tables rather than on the price chart, because CPCV evaluates research quality, not price action. Here's what each table shows and how to act on it.
Split Diagnostics
Each row is one training/test experiment. The engine holds out two chronological groups as unseen test data, selects the best candidate using the training data only, then measures how that choice performed on the held-out test data.
Read the columns left to right: which groups were held out, which candidate was selected, its score on training data, its score on test data, its test return, and its worst drawdown during the test period.
The single most important thing to look for is a candidate that scored well in training but poorly in testing. That gap is the fingerprint of overfitting. A strategy that looks brilliant in training and then collapses out-of-sample has told you something valuable, it just wasn't what you were hoping to hear.
Do not judge the framework by the best split. One good row is not evidence. Consistency across many rows is.
Path Diagnostics
Each row is one fully reconstructed out-of-sample history, assembled from test segments that the strategy never trained on. Instead of one backtest, you are looking at several independent reconstructions of history.
Four things deserve your attention, and the Results Guide lists them in order:
The median path tells you the typical outcome, not the luckiest one. The worst path tells you how bad an unlucky reconstruction looked, this is your pessimistic case, and a strategy that stays tolerable even here is showing real resilience. The positive-path rate tells you how many reconstructions finished profitable; a strategy profitable on one path and negative on the rest has not earned confidence. And return versus drawdown reminds you that a good return purchased with a brutal drawdown is not the same as a good return earned smoothly.
If the paths all look nearly identical, that usually means one candidate dominated selection across every split. That is normal and informative, it simply means CPCV is validating that one strategy.
Research Integrity
This panel does not measure whether your strategy is profitable. It measures how much confidence you should place in the research configuration itself, whether the sample was large enough, the coverage valid, the paths consistent, the worst case survivable, and the typical drawdown manageable.
Treat it as a credibility check on the test, not a prediction of the result. A high score means the validation has few obvious weaknesses. A low score means any attractive-looking performance should be treated with extra caution, because the setup itself may not support strong conclusions. The panel's own final row says it plainly: research confidence, not expected profit.
Results Guide
A permanent on-chart cheat sheet summarizing the reading order above and explaining the color coding, green when the median and worst case are both positive, yellow when the median holds up but the worst case is fragile, red when the median or most paths failed. If you remember nothing else, the guide is there to remind you: focus on the median and the worst case, not the single best split.
Configuring the Candidates
The most common first experience with this framework is to enable all ten candidates, run it on a favorite chart, and find every split selecting the same strategy and every path failing. That is not a malfunction and understanding why explains how to configure the framework properly.
CPCV can only reveal something interesting when the selection is contested, i.e., when different candidates genuinely compete to be chosen, and different ones win in different periods. If every candidate you enable behaves the same way, the framework isn't choosing between ideas. It's choosing the least-bad member of one idea.
Diversify the families, not just the parameters
Five EMA crossovers at different lengths are not five different strategies. They are one strategy at five speeds, and they are highly correlated…they mostly agree, so selection barely changes and the reconstructed paths become near-identical copies.
The candidates ship in two behavioral families:
Trend-following (the EMA crossovers, MACD, Donchian, Supertrend) profits when moves persist. Mean-reversion (RSI, Bollinger) profits when price snaps back toward an average.
These families tend to be opposites: when one struggles, the other often works, because trending and ranging are opposite market conditions. A balanced set, a few trend models alongside both reversion models, lets different candidates win in different periods, which is exactly what makes the paths diverge.
Test where regimes actually change
The framework can only display path dispersion if the data contains different conditions for different candidates to win in. A market in one long, clean trend will let a single slow trend-follower dominate every split, producing results that are consistent but undifferentiated. A market stuck in pure chop will punish every trend model at once, which is how an all-red board appears. The most revealing samples contain both trending and ranging periods, so widen the date range until it spans at least one full cycle of each, and consider instruments that move through both rather than sitting in a single prolonged trend.
Change the metric to change the winner
The selector ranks candidates using one training metric, and different metrics crown different winners. Sharpe rewards smoothness, Calmar rewards drawdown avoidance, Sortino favors directional trend-following, Omega favors skewed reversion payoffs. Running the same enabled set under different Optimization Metrics is a fast way to see selection shift, and watching which candidate wins under which metric is itself a lesson in how sensitive strategy selection really is.
What a good configuration looks like
Success here is not a green board. It is a contested one. In Split Diagnostics you want the MODEL column to show several different names rather than one name repeated down every row. In Path Diagnostics you want P1, P2, P3 and the rest to be visibly different numbers rather than clones, a genuine median sitting between a positive best case and a negative worst case. That spread is the CPCV signal. A board where one model wins everything is almost as uninformative as one where everything fails; both mean the selection was never truly contested.
One honest warning. Do not hunt through instruments and metrics until you find a green result and then treat that as proof. That is simply overfitting one level higher, cherry-picking the demonstration instead of the strategy. The purpose of a contested run is to watch the method work, red parts included. A result that mixes success and failure across its paths is not a disappointing outcome. It is the framework telling the truth.
Using Your Own Strategies
The ten built-in candidates are examples, not the point. The framework is designed so you can delete any of them and drop in your own logic, that is its intended use, not a hack.
To replace a candidate, keep to three rules:
First, produce a persistent desired-position series with exactly three possible values: +1 for long, 0 for flat, −1 for short. The framework evaluates this series, not your entry/exit orders, so your logic must hold a position until it decides to change it, rather than firing a one-bar signal.
Second, stay causal. Use only information available up to the current bar. Do not use future data, negative historical offsets, or lookahead on. The framework already lags exposure by one bar when simulating returns, so your job is simply to avoid look-ahead in the signal itself.
Third, wrap your output through the direction filter (f_direction) exactly as the existing candidates do, so the Long Only / Short Only / Long & Short control keeps working.
That's it. Anything that respects it, a moving-average system, an oscillator, a breakout rule, or something entirely your own, will be validated under the same CPCV conditions as the built-in examples. If your strategy uses multi-bar holding periods or forward-looking labels, this is also where purging and embargo begin to do real work, so set those values to match your strategy's actual horizon.
An important limitation
If you've read this far and concluded that CPCV is the ultimate solution... then this description has failed.
CPCV is one of the most rigorous historical validation techniques available, but it is not a crystal ball.
No historical validation method can predict the future.
Markets evolve
One of the biggest misconceptions in technical analysis is that indicators suddenly "stop working."
Most of the time, they don't. The mathematics haven't changed. A 50/200 EMA crossover calculates exactly the same way today as it did ten years ago.
RSI hasn't changed.
MACD hasn't changed.
Bollinger Bands haven't changed.
…the market changed.
Financial markets constantly move through different environments. Sometimes they trend strongly.
sometimes they move sideways for months, other times volatility explodes…and then it disappears. Periodically, liquidity is abundant…and inexplicably, it evaporates.
These and other changing environments are commonly called market regimes. Within every regime there are often shorter-lived shifts or states in market behavior that further influence strategy performance. The same trading strategy can perform exceptionally well in one regime and struggle in another, even if the strategy itself never changes. That's one of the most important lessons in quantitative research.
No technical indicator can know which market regime it is operating within. It simply continues performing the same calculation while the market itself changes around it.
What this framework can, and cannot, tell you
This framework is designed to answer one question: "How robust did this strategy appear across many independent historical tests?"
It is not designed to answer another: "Will this strategy continue working as markets evolve?" That requires continued observation, adaptation and research.
Do not be surprised if the same candidate is selected on every split. When one strategy scores highest across all training folds, CPCV effectively becomes a validation of that single strategy, and if it then fails out-of-sample on every path, that is not a malfunction. It is the framework doing its job: telling you the best-looking in-sample choice did not survive honest testing.
Good quantitative research is not about finding certainty. It is about reducing the chances that we fool ourselves before risking real capital.
One important clarification about what is being validated. This framework does not cross-validate each candidate strategy in isolation. It cross-validates a selection procedure: on every training split it picks the best-scoring candidate, then judges that choice on unseen test data. This matters because strategy selection is one of the most common places overfitting hides. A candidate that consistently looks best in training but fails in testing is exactly what CPCV is designed to expose.
The philosophy behind this project
Good quantitative research doesn't ask: "How can I prove this strategy works?"
It asks: "How hard can I try to prove that it doesn't?"
Every independent test that a strategy survives earns it a little more credibility. Not because it made more money, but because it had more opportunities to fail, and didn't.
That's the philosophy behind CT CPCV Research Lab.
A personal perspective
In my experience, market structure, liquidity, positioning, capital flows, and changing market regimes often explain market behavior more consistently than any individual technical indicator alone. This is where my own work has focused for many years — and, increasingly, on the fragility that builds inside a market before it shows up in price.
That does not mean technical analysis has no value. Millions of traders around the world continue to make decisions using technical analysis every day. Whether those decisions rest on enduring market truths or widely shared behavioral patterns is a separate question. Either way, when millions of participants respond to similar signals, those behaviors become part of the market itself.
For that reason alone, understanding how technical strategies behave — and how rigorously they should be tested — remains a worthwhile pursuit. If you're one of those traders, my hope is that this framework helps you evaluate technical strategies more honestly than a single backtest ever could.
Whether your strategy uses moving averages, RSI, MACD, Bollinger Bands, Donchian channels, or something entirely your own, it deserves to be tested honestly. And if this framework leaves you curious about why the same strategy thrives in one regime and dies in another — about the structural conditions that shift beneath price before price ever moves — then it has done something a backtest never could. That question is where my own work goes next.
If this project encourages even a few traders to question impressive-looking backtests, demand stronger evidence, and approach strategy development with greater intellectual honesty, then it has achieved exactly what it was created to do.
Good research doesn't eliminate uncertainty. It simply reduces the chances that we mistake luck for skill. If this framework helps even a handful of traders make that distinction, then it has served its purpose.
Disclaimer
CT CPCV Research Lab is provided for educational, informational, and analytical purposes only.
Nothing within this script, its outputs, tables, scores, grades, metrics, documentation, or associated materials constitutes financial advice, investment advice, trading advice, legal advice, or a recommendation to buy, sell, hold, or otherwise transact in any financial instrument.
Trading and investing involve substantial risk. Past performance is not indicative of future results, and no historical validation method, including Combinatorial Purged Cross-Validation, can predict future performance. Markets are inherently uncertain, and losses may occur.
Users are solely responsible for all trading and investment decisions made using information derived from this script. The developer makes no representations or warranties regarding accuracy, completeness, profitability, suitability, reliability, or fitness for any particular purpose.
CT CPCV Research Lab is a research and validation tool. It does not generate trade signals, is not an automated trading system, and must not be relied upon as the sole basis for any trading or investment decision. A high Research Integrity score reflects the credibility of a research configuration, not the likelihood of future profit.
By accessing or using this script, the user acknowledges and accepts all risks associated with its use and agrees that the developer shall not be liable for any direct, indirect, incidental, consequential, or special losses or damages arising from the use of the script or any information it provides.
Indikator

Indikator

Indikator

Indikator

ATR Chandelier StopTrade Control Adaptive ATR Chandelier Stop
The Trade Control Adaptive ATR Chandelier Stop is a volatility based trailing stop designed for swing and position traders who want a more objective way to manage exits and protect gains.
Instead of applying the same fixed percentage stop to every stock, the indicator uses Average True Range, or ATR, to account for how much each symbol typically moves. More volatile stocks receive wider stop levels, while lower volatility stocks receive tighter stop levels.
How it works
For long positions, the trailing stop is calculated as:
Highest high over the selected lookback period minus ATR multiplied by the selected multiplier
With the default settings, the calculation is:
22 bar highest high minus 3 times the 14 bar ATR
This creates a stop that hangs below the stock’s recent high, which is why it is called a Chandelier stop.
As the stock makes new highs, the stop can move higher. During normal pullbacks, the stop generally does not move lower while the bullish trend remains intact.
When price closes below the trailing stop, the indicator changes to a bearish state and begins plotting the corresponding stop above price.
Default settings
ATR Length: 14
Price Lookback: 22
ATR Multiplier: 3.0
Automatic Volatility Adjustment: Off by default
These settings are intended as a balanced starting point for swing and position traders using the daily chart and holding trades for several weeks to several months.
Adaptive volatility option
The optional adaptive setting adjusts the ATR multiplier based on ATR as a percentage of the stock price.
When enabled, the indicator gives highly volatile stocks additional room and may tighten the stop for lower volatility stocks. The standard 3 ATR setting remains the default for traders who prefer a simpler and more consistent approach.
Best uses
The indicator is designed for:
• Swing trading
• Position trading
• Trend following
• Managing profitable trades
• Reducing emotional exit decisions
• Monitoring individual stocks or watchlists
It is generally most useful on the daily timeframe.
Alert condition
The script includes an alert condition for a confirmed daily close below the trailing stop.
Recommended TradingView alert settings:
Condition: Daily Close Below ATR Stop
Interval: 1D
Trigger: Once per bar close
The alert is designed to trigger when the trend first changes from bullish to bearish. It does not repeatedly alert every day while price remains below the stop.
Important considerations
The Trade Control Adaptive ATR Chandelier Stop is a trade management tool, not a complete trading strategy.
Traders should also consider technical support and resistance, entry price, position size, maximum acceptable loss, earnings risk, gap risk, and overall market conditions.
A stock can gap below the plotted stop, particularly around earnings or major news. The indicator does not guarantee execution at the displayed price. Indikator

Indikator

Indikator

Indikator

SVKO CFD Stocks & NQ-ES Real VolumeSVKO CFD Stocks & NQ-ES Real Volume replaces broker CFD volume with native stock volume or a configurable activity proxy for Nasdaq 100 and S&P 500 CFDs. It can also use the selected external volume to calculate an optional Real VWAP on the CFD price.
█ OVERVIEW
For a stock CFD, the indicator can use the corresponding exchange-listed share volume. For an index CFD, it can combine Micro E-mini futures, E-mini futures, and a major tracking ETF with user-defined positive weights.
The NQ and ES result is a transparent activity proxy. It does not claim to reconstruct an official consolidated index-volume measurement.
█ HOW IT WORKS
The indicator selects the Volume formulas entry whose left side matches the current standard chart ticker. Each term on the right can be a complete TradingView ticker, a configured abbreviation, or a positively weighted symbol.
TRADENATION:NVDA.EX = NASDAQ:NVDA
The default Nasdaq 100 example, `MNQ + 10*NQ + 60*QQQ`, follows the author's practical normalisation by typical relative leverage and exposure. QQQ receives the largest coefficient because it typically has the least leverage, while MNQ and NQ provide greater leveraged exposure. NQ receives a coefficient of 10 because one NQ contract is exactly ten times the size of one MNQ contract. The coefficient of 60 for QQQ is the author's adjustable example for bringing its activity with less leverage onto a comparable scale. The S&P 500 example uses the same reasoning with MES, ES, and SPY. These weights express the author's proxy logic and can be changed. They are not a conversion defined by an exchange.
Each unique active source is requested once per chart update. Repeated sources are combined before requests. Missing sources can contribute zero after they have produced valid data, while remaining sources continue to contribute.
External volume is displayed as standard up and down columns in a dedicated pane. The optional Real VWAP uses this calculated "real" volume, including all active formula weights, to weight the current CFD's price. It can follow either a main-session or full-session anchor.
█ MAPPING AND FALLBACK
An explicit volume formula always has priority. This supports precise stock mappings, deliberately selected sources, and weighted index proxies.
When no formula matches, supported broker charts can use SVKO CFD Symbol Mapper as a one-symbol fallback. Connect 1st code to Map: 1st code and 2nd code to Map: 2nd code from the same Mapper instance.
█ HOW TO USE
• Add the indicator to a standard time-based chart.
• Check whether Volume formulas already contains the chart symbol or one of its abbreviations.
• Add or edit a formula when a specific source or weighted proxy is required.
• Add SVKO CFD Symbol Mapper and connect both code inputs when the general stock-CFD fallback is required.
• Use TradingView's Style tab to configure the volume columns and Real VWAP.
• Choose the session anchor used by Real VWAP.
█ LIMITATIONS
A stock source represents the reported volume of the selected TradingView symbol. A multi-source NQ or ES formula is a user-defined weighted proxy, not an exchange-defined consolidated volume value.
Feed availability, delays, subscription permissions, sessions, and bar alignment can differ between sources. Missing data can make the result incomplete. Current volume and Real VWAP can change until an open realtime bar closes. No future data is used.
Session-anchored VWAP contains less intraday detail on daily and higher timeframes. Unsupported charts and unresolved Mapper results draw nothing and make no fallback volume request.
█ ALERTS
This indicator does not define alert conditions.
█ CREDITS AND LICENCE
Original work by SVKO. Published open source under the Mozilla Public License 2.0. Indikator
