Stryk: VWAP + EMA# Stryk: VWAP + EMA — publish description
> Paste into the script description. No performance figures, no links, no promotional language. Estimates and data dependencies disclosed.
---
**Stryk: VWAP + EMA** puts three reads on price and nothing else: a rolling volume-weighted average price with deviation bands, a long exponential moving average with an optional smoothing overlay, and candles coloured by order-flow delta. No signals, no labels, no tables.
## Rolling VWAP
Volume-weighted average price over the last N candles of a chosen delta timeframe — with the defaults, 60-minute candles × 20, a 20-hour VWAP that slides forward as each candle completes rather than anchoring to a session. Volume-weighted standard-deviation bands at ±1σ, ±2σ and ±3σ with individual multipliers, colours and an optional ±1σ fill. The window is computed from chart bars on a ring buffer with running sums, so it loads cleanly in bar replay. A visual smoothing pass (adjustable, 1 = off) rounds the small steps that occur as the oldest candle leaves the window; the underlying values are exact.
If the chart timeframe is raised above the delta timeframe, the delta timeframe is lifted to match for that session with the same lookback (switchable to a strict error instead).
## EMA
TradingView's standard exponential moving average — length (default 233), source and offset — with its standard smoothing-MA option (SMA, EMA, SMMA/RMA, WMA, VWMA, or SMA with Bollinger Bands, default length 233) and an additional visual smoothing pass on the plotted line (1 = the stock EMA exactly).
## Candle paint
Every candle (body, wick, border) is coloured by the live delta of the delta-timeframe candle it belongs to, fading between a bear colour, a neutral colour and a bull colour. Two intensity modes: delta size relative to the recent average |Δ|, or delta as a percentage of total volume (imbalance), with a sensitivity input and a square-root "boosted" response curve. Hide the chart's own candles so only the painted set shows.
## Delta source — read this
Where TradingView provides volume footprint data for the bar, delta comes from `request.footprint()` bid/ask buy and sell volume. Footprint availability depends on your plan and the symbol; where it is not available the script falls back to an **estimate** of delta derived from lower-timeframe bar polarity, with the intrabar resolution chosen automatically against your plan's data budget. Estimated delta is not order-flow data and can differ materially from true delta. The footprint is built from TradingView's own tick feed: a broker data subscription does not make it real-time, and a "Delayed" chip on the chart means the colours are delayed by the same amount.
## Repainting
The live delta candle's colour updates on every tick by design; completed candles do not change. The VWAP, bands and EMA are standard rolling calculations.
## What it is not
It draws context. It makes no prediction and contains no trade logic. Penunjuk

Pullback Value Recovery [PhenLabs]📊 Pullback Value Recovery
Version: Pine Script™ v6
📌 Description
Pullback Value Recovery identifies a specific continuation sequence: a fresh breakout impulse, an established pullback, and a confirmed recovery. Instead of calling every dip a buying opportunity or every bounce a short, it waits for price to recover two separately measured price averages and clear the previous candle.
The two averages follow different groups of bars. One contains closes advancing with the original impulse; the other contains closes retracing against it. Here, “value” means these conditional HLC3 averages, not fair value, institutional positioning, or actual buying and selling pressure.
A qualifying recovery prints one directional marker and a fixed reference-close, structural-stop, 1R and 2R map. If the recovery is too extended or its stop is too wide, the episode is consumed without a signal, and the dashboard explains the rejection.
🚀 Points of Innovation
Two role-conditioned means: advance and retracement bars are accumulated separately after a confirmed seed, rather than blended into one whole-leg VWAP.
Preparation before recovery: a pullback must establish sufficient adverse bars and depth before a later candle can confirm recovery.
Prior-band testing: the recovery candle is tested against averages known before it formed. It cannot move its own confirmation threshold.
Whole-episode volume fallback: missing volume switches both averages to complete equal-bar histories, rather than mixing volume weights with arbitrary unit weights.
Explicit skip semantics: the first prepared structural recovery either produces a plan or is rejected. The same setup cannot issue repeated “second chance” signals.
🔧 Core Components
Impulse seed: a confirmed close breaks the prior rolling range, its directional body meets the ATR threshold, and it closes in the candle's outer quarter.
Advance mean: uses HLC3 from bars whose close-to-close movement agrees with the seed direction. The seed itself belongs to this group.
Retracement mean: uses HLC3 from bars whose close-to-close movement opposes the seed. Unchanged closes are excluded from both groups.
Local pullback: adverse-bar count and the pullback extreme reset after a close beyond the earlier running directional extreme. The cohort means remain anchored to the seed.
Recovery gate: after preparation, a long closes beyond the prior upper cohort mean plus a buffer AND above the previous candle high. A short closes below the prior lower mean minus a buffer AND below the previous candle low.
Risk map: the signal close is the reference price. The stop sits beyond the signal-inclusive pullback extreme; 1R and 2R are arithmetic references from that distance.
🔥 Key Features
Separate, clearly named bullish and bearish confirmed-recovery alerts.
Numeric event and state plots for Pine Screener workflows.
No external symbol requests, lower-timeframe requests, imported libraries, or footprint dependency.
Visible weighting mode, waiting state, rejection reason, and ignored-seed count.
One active setup or observed plan at a time, with capped historical maps.
Confirmed-bar state changes and fixed reference levels.
🎨 Visualization
Blue-violet line: advance-cohort mean.
Amber line: retracement-cohort mean. The means may cross; neither color represents buy/sell delta.
Faint ribbon: the interval between the cohort means while a setup is developing.
Teal / coral triangles: accepted long / short recovery events.
Dashed lines: reference close and structural stop. Dotted lines: 1R and 2R.
Short shaded map: analytical risk/reward regions. A resolved map stops growing; its prices remain fixed.
Retained status: REF | SL means stop threshold breached; REF | 2R means 2R reached/exceeded; ? is same-bar ambiguity; EXP is unresolved expiry; DATA is unknown. Hover the reference label for details. These are observations, not realized trading results.
Dashboard: detailed state information without covering the chart in labels. Table Size offers Compact, Normal, and Large.
📖 Usage Guidelines
Setup
Breakout lookback: default 20, range 5–100. Shorter windows admit more local breaks; longer windows require a broader range break.
Impulse body / ATR: default 0.65, range 0.20–2.00. Uses ATR(14) from BEFORE the seed and a directional body, not absolute candle size.
Retracement bars: default 2, range 1–6. Counts adverse closes within the local pullback; they need not be consecutive.
Setup expiry bars: default 48, range 10–150. Seed age is zero; age 48 expires before recovery, leaving default opportunities at ages 1–47.
Mean weighting: Auto uses reported chart volume; Equal bars ignores volume intentionally. Auto falls back for the entire episode if an included bar has missing or nonpositive volume.
Recovery filters
Maximum chase / ATR: default 1.00, range 0.10–3.00. Distance beyond the tested prior outer cohort mean.
Maximum stop distance / ATR: default 2.50, range 0.25–6.00. Rejects oversized reference-close-to-stop distance.
Plan observation bars: default 30, range 5–100. Observes only bars AFTER the signal. Threshold events on the final observation bar take priority over expiry.
Chart presentation
Show risk / reward maps: on by default. Hiding drawings does not disable plan observation or its busy state.
Initial map length: default 12, range 4–30. An unresolved map grows to the current bar only after that initial length.
Retained maps: default 6, range 1–12, including the active map. Older drawing objects are removed first; plotted recovery markers remain.
Show seed markers: off by default to keep the chart clean.
Show dashboard: on by default.
Table Size: Compact by default; Normal and Large are available. Map-dependent and dashboard-dependent controls are grayed out when inactive.
Fixed rules
Minimum pullback depth: 0.35 of frozen seed ATR.
Recovery buffer: 0.05 ATR beyond the prior outer cohort mean.
Origin invalidation and structural-stop padding: 0.10 ATR.
Cooldown: the next 8 bars after an accepted or rejected recovery attempt.
Only a fresh qualifying breakout burst can seed. Impulses while busy are ignored, never queued.
✅ Best Use Cases
Structuring a discretionary pullback-continuation review on standard candles.
Separating an unprepared pullback, an armed recovery, and an overextended entry.
Keeping reference risk visible without a dense multi-indicator layout.
Scanning event/state plots, then inspecting the underlying chart and data mode.
⚠️ Limitations
This is a pattern detector and analytical map, not a strategy backtest. No profitability, win rate, or accuracy is established.
The signal close is a reference, not proof of an executable fill. Gaps may breach a threshold without trading at its exact price.
If stop and 2R are both observed in the same candle, the result is marked ambiguous. OHLC does not establish which happened first.
1R is informational. There is no automatic partial exit, stop-to-breakeven, trailing stop, or position sizing.
One active episode or plan intentionally blocks other opportunities. The dashboard reports fresh seeds ignored while busy.
Reported volume can be tick volume or venue-specific volume. These groups do not identify buyers, sellers, absorption, or order flow.
On a fallback transition, the switch bar cannot signal. The indicator does not manufacture a delayed catch-up event.
Parameters, loaded-history initialization, revised data, and nonstandard chart types can change the result. Use standard candles for acceptance testing.
Signals are evaluated on confirmed bars using information available through that close. Recorded events and fixed plan prices remain unchanged under unchanged inputs, data, and initialization; active means and observation endpoints continue to develop by design.
No setup is a valid state. Consult the dashboard before loosening filters; more signals are not evidence of a stronger edge.
💡 What Makes This Different
The distinction is the advance-versus-retracement partition and the causal recovery sequence, not a renamed moving average or a decorative score.
The two means are role-conditioned across the entire episode, while local pullback readiness resets. This avoids carrying an old pullback stop into every later shallow dip.
⚙️ Under the Hood
Conditional anchored accumulators: each cohort keeps sum(HLC3), bar count, sum(HLC3 × volume), and sum(volume). The selected mean is the corresponding ratio. Only bars assigned to that cohort contribute.
Typed episode and plan objects: Pine user-defined types keep the anchor, direction, extrema, preparation latch, and drawing handles together. A bounded UDT array deletes the oldest maps first.
Causal state ordering: the bar's starting phase decides its processing branch. Origin invalidation and expiry precede recovery, and accepted plans are not observed until the next bar.
Prepared latch: enough retracement count/depth plus a close not beyond the buffered band arms a later recovery. This does not require a full traversal from below BOTH means, and the rail crossing need not coincide with the prior-candle break.
Data mode: core calculations need only chart OHLC and optional reported volume. Missing volume has an equal-bar fallback; missing required price data invalidates preparation or makes an active plan unknown. No premium data call is embedded.
Screener & alerts: “PVR Event (+1 long, -1 short)” is +1 or -1 only on an accepted event bar and 0 otherwise. “PVR Armed Direction” exposes +1/-1 for prepared setups. “PVR Phase” is 0 idle, 1 setup, 2 plan. Alerts are “PVR: Long recovery confirmed” and “PVR: Short recovery confirmed”; use Once Per Bar Close. Pine Screener availability and history limits remain subject to TradingView's plan/product rules.
🔬 How It Works
A fresh directional breakout starts an episode and freezes its ATR benchmark.
Advancing and retracing closes feed separate seed-anchored price averages.
The local pullback establishes adverse-bar count, sufficient depth, and a prepared close relative to the cohort band.
A later close recovers the prior band and clears the previous candle boundary.
Chase and stop-distance filters either accept that first structural recovery or consume it as a skipped setup.
An accepted event fixes the analytical map. Subsequent bars resolve it by stop threshold, 2R threshold, ambiguity, data invalidity, or time expiry.
💡 Note:
Start with default settings, inspect both directions, verify symbol-scale attachment, and compare replay/reload behavior before relying on alerts. This tool is an analytical aid, not financial advice.
Penunjuk

I have levels"I Have Levels" is a 21/55 EMA cross indicator with a twist: every signal it prints is
deliberately the opposite of the classic interpretation. A bullish cross prints a red
SHORT. A bearish cross prints a green LONG. This is intentional, it is the entire point
of the script, and it is stated plainly here so nobody is surprised by it.
On top of the inverted signals, the script draws a continuous mirrored price path — the
"crayon" — that runs upside down relative to actual price for as long as a signal stays
active. When price goes up, the crayon goes down. When price goes down, the crayon goes
up. It is a visual inversion of the market, anchored to the bar where the last cross
occurred.
Treat this as a novelty and contrarian-perspective tool, not as a signal service.
## What it plots
**21 EMA (aqua) and 55 EMA (purple)**
Standard exponential moving averages on close. These are the only conventional
components in the script and can be toggled off.
**Wintuition SHORT**
When the 21 EMA crosses ABOVE the 55 EMA — normally read as bullish — the script prints
a red labeled SHORT above the candle.
**Which Way Did It Joe? LONG**
When the 21 EMA crosses BELOW the 55 EMA — normally read as bearish — the script prints
a green labeled LONG below the candle.
**Full-history opposite crayon**
On each cross the script stores two anchors: the closing price of the signal bar, and a
visual starting point (the bar's high on a SHORT signal, the bar's low on a LONG signal).
From there it plots:
crayon = visual anchor − (current close − price anchor)
So the crayon inverts every subsequent move around the anchor level. A one-bar gap is
inserted at each new signal so consecutive crayon segments never connect into a single
misleading line. The crayon is drawn as a plot rather than line objects, which means it
persists across all loaded history instead of running into Pine's 500-object drawing
limit.
## Settings
- Fast EMA Length — default 21
- Slow EMA Length — default 55
- Show EMAs — toggle the two moving averages
- Show Opposite Signals — toggle the labels
- Show Full-History Crayon — toggle the mirrored price path
- Crayon Thickness — line width, 1 to 8
- Wintuition SHORT Color — default red
- Which Way Did It Joe? LONG Color — default green
## Alerts
Two alertconditions are included:
- Wintuition SHORT — fires on a 21-above-55 cross
- Which Way Did It Joe? LONG — fires on a 21-below-55 cross
## Repainting
Both signals require `barstate.isconfirmed`, so labels and alerts only fire on closed
bars. Nothing shifts or disappears after the fact. The crayon updates in real time on
the developing bar because it tracks the live close, and settles once the bar closes.
## How people actually use it
Three honest use cases:
1. As a perspective flip. Seeing the mirrored path sometimes makes an obvious-looking
trend look a lot less obvious.
2. As a fade tool. If you already trade against retail crossover signals, this labels
them for you in the direction you would actually be taking.
3. As a joke on your own chart. That is a legitimate reason and this script does not
pretend otherwise.
## Notes and limitations
- Moving average crossovers lag by construction and chop badly in ranges. Inverting them
does not fix that; it inverts the losses too.
- The crayon is a mirrored price path, not a support/resistance level, not a projection,
and not a forecast. Do not read it as a target.
- No backtest, no win rate, and no performance claim is made anywhere in this script,
because none has been established.
## Disclaimer
For education and entertainment. Nothing here is financial advice. Signals are
intentionally inverted from their conventional meaning. Do your own research and manage
your own risk.
Penunjuk

Liquidity Absorption Engine [StrixEDGE]TRADINGVIEW TITLE
Liquidity Absorption Engine Liquidity
DESCRIPTION
StrixEDGE Liquidity Absorption Engine is Engine #01 in the StrixEDGE indicator framework. It is a liquidity-focused market-state tool designed to identify changes in directional quality, liquidity behavior, volatility structure and confirmation strength without relying on a single conventional oscillator.
WHAT THIS INDICATOR IS DESIGNED TO DO
Scores wick absorption, sweep rejection and directional flow to identify defended liquidity zones.
Rather than treating one input as a complete signal, StrixEDGE combines the engine's dedicated core logic with an optional DNA layer. The final result is normalized into a 0–100 Strix Score so the same framework can be read consistently across different symbols and timeframes.
HOW TO READ THE STRIX SCORE
• Above 72: bullish state / long-side trigger zone.
• Below 28: bearish state / short-side trigger zone.
• Around 50: balanced or neutral state.
• A signal is generated on a transition into a trigger zone, not on every bar that remains inside it.
SIGNAL & POSITION FRAMEWORK
When a valid state transition is detected, the overlay version can create a structured trade plan containing:
• Entry
• DCA level
• TP1
• TP2
• TP3
• Stop Loss
Each projected level includes its percentage distance from Entry. When a level is reached, the same chart label is updated with a ✓ marker. TP and SL outcome tracking is mutually controlled so the dashboard does not report contradictory terminal results for the same setup.
PROFESSIONAL DASHBOARD
The built-in StrixEDGE dashboard summarizes the active market state in a compact TradingView table, including:
• Engine and category
• Strix Score and directional bias
• Signal / market regime
• Flow pressure and trend quality
• Relative volume and ATR volatility
• Structure / VWAP context
• Active position and signal age
• Entry, DCA, TP1, TP2, TP3 and SL
• Hit status for each projected level
COMBINATION PROFILE
• CORE BALANCE
• Active DNA modules: 3
• Lookback: 24
• Smoothing: 5
• Signal threshold: 72
ENGINE DNA
• Wick Absorption Pressure — Compares upper/lower wick asymmetry and amplifies it when relative volume is elevated.
• Liquidity Sweep Rejection — Detects previous-range stop sweeps that close back inside the broken boundary.
• Normalized Flow Acceleration — Smooths ATR-normalized return × relative volume to estimate directional flow.
MARKET / STYLE PROFILE
• Market focus: Crypto
• Intended style: Swing
• Core engine: #01 Liquidity Absorption Engine
• Category: Liquidity
NON-REPAINT / DATA HANDLING
By default, signals require a confirmed chart-bar close. This reduces intrabar signal fluctuation and makes historical signal placement more stable.
ALERTS
The generated script includes alert conditions for:
• Long state shift
• Short state shift
• DCA reached
• TP1 reached
• TP2 reached
• TP3 reached
• Stop Loss reached
HOW I USE IT
StrixEDGE is designed as a market-state and trade-structure tool rather than a standalone prediction system. Stronger setups generally occur when the Strix Score, market regime, flow pressure, structure and volatility context agree instead of relying on the trigger alone.
LIMITATIONS
No indicator can predict future price movement with certainty. Signals can fail during sudden news events, illiquid conditions, gaps, abnormal volatility, regime transitions or unreliable volume. DCA, TP and SL levels are systematic projections derived from the active setup and should not be interpreted as guaranteed outcomes.
Users should validate the indicator on the symbol, exchange and timeframe they trade, and should apply independent position sizing and risk management. Historical behavior does not guarantee future performance.
ORIGINALITY
StrixEDGE Engine #01 is built from generic price, volume, volatility, structure and confirmed-context primitives arranged in a dedicated engine formula and optional DNA layer. It is not intended to reproduce or rename a specific community indicator.
DISCLAIMER
For research and educational purposes only. This indicator is not financial advice and does not guarantee profitability. Penunjuk

ZekuojAll in One — Intraday Session Levels and Trend References
All in One brings session levels, moving averages, VWAP, and volume together in a single chart indicator. It is designed to help traders keep important references visible while reducing the need to manage several separate indicators.
WHAT IT INCLUDES
- Premarket High and Low: Tracks the premarket range from 4:00 a.m. to 9:30 a.m. New York time.
- Yesterday’s High and Low: Shows the previous regular trading session’s extremes, excluding extended hours.
- Open Price: Displays the daily candle’s opening price as a connected line on charts of 15 minutes or less.
- 15-Minute Opening Range: Tracks the high and low between 9:30 and 9:45 a.m. New York time. These levels appear during regular trading hours on charts of 15 minutes or less.
- Session VWAP: Uses volume-weighted price to provide an intraday reference, resetting each daily session. It displays on intervals below one hour.
- Moving Averages: Includes the chart’s 8 EMA, 21 EMA, and 200 SMA.
- One-Hour 200 SMA: Displays the hourly 200-period simple moving average on hourly and smaller charts, providing a consistent higher-timeframe reference.
- Volume: Shows each candle’s trading volume with rising and falling colors, plus an optional 20-bar volume average.
- Hourly Reaction Levels: Marks price areas where confirmed hourly pivots cluster near the same level.
WHAT IT IS FOR
The combination helps traders compare current price with prior-session extremes, the premarket range, the regular-session opening range, trend references, and trading activity—all in one place.
Colors, line widths, and labels can be adjusted to keep the chart readable. Components can also be switched on or off to suit your workflow.
IMPORTANT LIMITATIONS
This version is designed for U.S. stocks and ETFs on standard candlestick charts from 1 to 60 minutes, using New York session times. Futures and overnight-session adaptations are not included.
Some values develop during the current candle or session. The opening range is not complete until 9:45 a.m., the hourly SMA can change during an unfinished hour, and reaction levels require pivot confirmation. Volume bars use a separate display scale; their screen height can differ from TradingView’s built-in Volume indicator.
This is a chart-reference tool, not an automatic trading system. Its levels do not guarantee support, resistance, reversals, or profitable trades.
CREDITS
The components use standard moving-average, ORB, VWAP, volume, and session-level calculations. Penunjuk

Stryk: Truth Line# Stryk: Truth Line — publish description (TradingView House Rules compliant)
> Paste into the script description. No performance figures, no win rates, no links, no promotional language. Estimates and repaint behaviour are disclosed explicitly.
---
**Stryk: Truth Line** is a participation-weighted adaptive line with a delta-vs-price verdict engine. It answers one question per bar: is this move being paid for?
## What it does
**The line.** A price follower whose follow-speed is set by "fuel" — how much participation is behind the current bar, weighted by whether true delta agrees with the bar's direction. Moves the market pays for pull the line along (coloured by direction). Moves nobody pays for leave the line behind (neutral colour) and the space between price and the line is shaded toward the fade side: bear colour above the line for a rally on thin participation, bull colour below the line for a sell-off on thin participation.
Participation is scored as a bell, not a ramp: fuel peaks in the mid band and falls off toward both the thin band and the climax band, with an additional decay once participation is inside the climax band. Only the mid band counts as a paid move. The line's colour follows its own slope on paid bars (bull colour rising, bear colour falling) and the neutral colour on unpaid bars.
**The verdict.** Delta is accumulated per candle of a user-chosen delta timeframe (default 60 minutes). The last three candles' net delta and price change feed one of five states:
- **ABSORPTION ▲ / ▼** — outsized net delta on one side while price refuses to follow it. Highest priority.
- **BUYERS / SELLERS** — three consecutive candles of meaningful delta on one side with price agreeing.
- **CONSOLIDATE** — three candles of small delta.
- **MIXED** — anything else; no read.
All thresholds are multiples of the recent average |Δ|, so the same settings apply across instruments without retuning. The confirmed verdict updates on delta-timeframe candle close; the live row updates intrabar and is labelled as such.
**Signals** (each individually toggleable):
- **FADE △ / ▽** — unpaid gap beyond an ATR threshold with participation in the thin band.
- **CLIMAX ⊗** — participation in the climax band while the line is still being paid in that direction. A warning, not an entry.
- **DIVERGE ◇** — on delta-timeframe close, price moved but delta was small. Footprint data only.
- **LINE FLIP ▲ / ▼** — price closes through the line beyond a hysteresis distance on a paid bar with delta agreeing. Confirmation is selectable: instantly on the crossing bar when it has conviction (outsized delta in the mid participation band), after holding N chart bars, or at the next delta-timeframe close. Unconfirmed flips print a faint provisional glyph that is removed if the flip fails.
- **BUY / SELL ●** — regime-gated confluence: confirmed line flip, verdict regime allowing that side, participation in the mid band at the flip, and (optionally) price on the agreeing side of the rolling VWAP. Does not fire under MIXED or CONSOLIDATE.
**Candle paint.** Every candle can be coloured by the same quantity that moves the line: sign from the bar's delta, intensity from fuel, so a paid bar shows bull/bear colour from its first ticks and an unpaid bar fades to neutral. Stryk: ΔC's delta-size and delta-% paint modes, driven by the live delta-timeframe candle, are also available, as is a participation-band mode.
**The display box.** Delta for the chart bar; live delta-timeframe delta with its buy/sell split; participation value and band; line state with the gap in points and ATRs; the last signal and how many bars ago; a three-candle delta memory (magnitude blocks, net delta, price change, and a ✓/✗ mark for whether delta and price agreed); the live verdict with its reasoning line; and the confirmed verdict with the regime it allows. Vertical layout for desktop with per-row toggles; Mobile layout is a compact five-row summary.
Also included: rolling VWAP over the lookback window with ±1/2/3σ bands, a background tint by participation band, and one JSON-formatted alert per event (FADE, CLIMAX, DIVERGE, confirmed LINE FLIP, BUY, SELL, verdict changed, ABSORPTION set, gap closed) for external logging.
## Delta source — read this
Where TradingView provides volume footprint data for the bar, the script uses real bid/ask buy and sell volume from `request.footprint()`. Footprint data availability depends on your TradingView plan and on the symbol; where it is not available the script falls back to an **estimate** of delta derived from lower-timeframe bar polarity. Estimated delta is not order-flow data and can differ materially from true delta. The display box header shows which source is active on the current bar (`ftp` with the share of recent bars that had footprint data, `est` with the intrabar resolution, or `est bar` when the intrabar budget is exhausted and only whole-bar polarity remains). Because footprint delta and estimated delta differ in magnitude, the average |Δ| that calibrates the verdict thresholds is computed only over candles sharing the current bar's source; when the three-candle memory straddles a source boundary the box says so and BUY/SELL are suppressed. The DIVERGE signal and the delta-agreement term in fuel are disabled on the estimate path because polarity-derived delta cannot disagree with price.
## Data entitlement — futures
The footprint is built from TradingView's own tick feed. A broker data subscription (for example CME data through a futures broker) does not make TradingView's chart real-time. If the chart shows a "Delayed" chip next to the symbol, the live delta, the live verdict and every alert are delayed by the same amount. Real-time exchange data is a separate TradingView entitlement.
Footprint availability also depends on plan tier. Behaviour on plans without footprint access is not something this script can detect at compile time; if the script does not load on your plan, use the estimate-only build.
## Repainting and confirmation
- The live delta, live verdict row, the line itself and the gap shading update on every tick by design. The line includes an optional fuel-weighted lag-compensation term, clipped so it never overshoots the close.
- **Signal timing** input: *Bar close* (default) evaluates every signal and alert on confirmed bars only — non-repainting, one chart bar of delay. *Intrabar* prints and alerts as soon as a condition is true on the forming bar; a glyph printed intrabar stays even if the bar closes without the condition. Intrabar mode repaints and is labelled as such.
- The BUY/SELL regime can come from the live verdict once it has held a set number of bars (default) or only from the delta-timeframe-close verdict.
- Unconfirmed LINE FLIP glyphs are removed if the flip fails its confirmation rule.
## How to use
1. Put it on an intraday chart of a liquid futures contract or index ETF. Defaults assume a 5-minute chart with a 60-minute delta timeframe.
2. Check the box header: `ftp` means true delta is active; `est` means you are on the estimate path.
3. Scale **Flat tolerance (ticks)** with your delta timeframe and instrument (default 24 ticks suits NQ 60-minute).
4. Participation is ranked against the same session's own history by default (Asia / London / New York windows, fixed internally) so overnight tape is not permanently scored thin; switch to Rolling if you prefer a plain lookback.
5. Use section 0 (Master Switches) to run lean — the engine keeps computing for the box and alerts even with the line hidden.
6. For alerts, create one alert on the indicator with "Any alert() function call". Every enabled event arrives as a JSON object containing the signal, direction, verdict, regime, participation band and value, gap in ATRs, delta source, timeframes, price and time — enough to log every event externally and score it later against what price did.
## What it is not
It is not a trading system and makes no prediction. It reports whether participation and delta supported a move and lets you decide what that means in context. Every reading can be wrong; slow low-volume drift can persist for hours without a paid move, which is why the gap threshold is a user input rather than a fixed rule.
## Settings
Every input has a tooltip describing what it does and why the default is what it is. Penunjuk

Market Structure Shift and CRTHere it is to copy directly.
**SHORT DESCRIPTION**
Market structure built from candle bodies instead of wicks, read across two timeframes at once, combined with higher-timeframe liquidity sweep detection that requires the body to close back inside the swept level.
---
**FULL DESCRIPTION**
Two ideas drive this indicator, and both are about ignoring wicks when they lie and paying attention to them when they matter.
**Structure from bodies**
Most structure tools build swings from highs and lows. One wick — a stop run, a thin print during a quiet hour — can define a swing point and drag the entire structure read with it.
This builds swings from candle bodies by default: open and close, not high and low. Levels reflect where price was accepted rather than where it briefly poked. A wick-based mode is included if you want to compare.
The zigzag traces a continuous line through body pivots. At length 1 it puts a vertex at nearly every bar and stretches into longer legs only where price runs without pulling back, so the shape itself shows you where the market trended and where it chopped.
Structure labels run on their own, slower pivot setting so they stay readable while the zigzag stays dense. Every confirmed pivot is compared to the previous pivot in the same direction and labeled HH, HL, LH, or LL. When price breaks a structure level it prints BOS if the break continues the existing bias, or CHoCH if it reverses it.
**Pivots with separate Left and Right bars**
This is where most structure indicators quietly cost you time.
A pivot cannot confirm until bars have printed after it. If left and right are tied to one number, improving quality always costs you speed. Here they are separate: Left decides how significant a swing must be, Right decides how long you wait. Left 5 / Right 2 keeps a meaningful filter while confirming in two bars instead of five.
Evaluate Breaks On removes the second source of lag. Set to Chart Bar, a break of a higher-timeframe level registers the moment price crosses it on your chart rather than waiting for that timeframe's bar to close — worth up to fourteen bars on a 1-minute chart reading 15-minute structure. Set to TF Close for fewer false breaks.
**Dual-timeframe alignment**
Structure TF 1 drives everything drawn on the chart. Structure TF 2 runs the same logic on a higher timeframe and feeds the table. Each has its own pivot settings and its own level colors.
The table compares them row by row — bias, last event, last pivot, active swing high and low — and then reports:
ALIGNED ▲ — both timeframes bullish
ALIGNED ▼ — both timeframes bearish
CONFLICT — they disagree
Conflict is the row worth watching. It means the faster timeframe has flipped while the slower one hasn't confirmed, which is where counter-trend entries tend to get run over.
**Higher-timeframe sweeps**
A sweep is a candle whose wick clears a prior candle's high or low while its body closes back inside. Body top is the close on an up candle and the open on a down candle, so a bar that opens beyond the level and reverses is correctly rejected — a close-only test would pass it.
Higher-timeframe candles are assembled bar by bar from your chart rather than requested. Each HTF high and low keeps the bar where it actually printed, so sweep lines anchor to the wick that made the level instead of to wherever the HTF bar happened to close. Nothing is pulled through request.security for the sweep engine, so there is no repainting question on confirmed sweeps.
Three independent sweep timeframes, each with its own toggle, timeframe and color, fully separate from the structure timeframes. A sweep stays live and extends right until a later candle's body closes through it, at which point it is marked invalidated. Each sweep can carry a 50% zone drawn from the sweeping candle's midpoint to its close.
Show Sweeps While Forming draws a sweep the moment the wick clears the level, styled faintly, before the candle closes. When that candle does close, the sweep is either promoted to its solid style or removed entirely if the body ended up closing back through. Forming sweeps repaint by nature — that is what "forming" means — which is why the option is off by default.
**Settings**
① Structure Timeframes — TF1 and TF2 for the structure read
② ZigZag — length, body or wick, color, width, legs kept
③ Structure Labels — per-timeframe pivot Left/Right, break evaluation and source, four independent level colors, label options
④ Sweep Timeframes — three slots plus how many prior candles each is compared against
⑤ Sweep Detection — highs, lows, forming sweeps and their styling
⑥ Sweep Display — line style, invalidated sweeps, timeframe tags, 50% zones, extension
⑦ Status Table — position, size, alignment tint
**Alerts**
Structure shift on either timeframe, timeframes becoming aligned bullish or bearish, timeframe conflict opening, and a new higher-timeframe sweep forming.
**Suggested starting points**
1-minute futures: Structure TF1 blank with Left 5 / Right 2, TF2 = 15 with Left 4 / Right 2, ZigZag length 1, sweeps on 5 and 15
5-minute: TF1 blank, TF2 = 30, ZigZag length 2, sweeps on 15 and 60
Daily swing trading: TF1 blank, TF2 = W, ZigZag length 3, Left 8 / Right 3, sweeps on 1D and 1W
**Notes on repainting**
Confirmed sweeps do not repaint. Structure pivots do not repaint once confirmed, but by definition cannot confirm until Right bars have printed after them. The final unconfirmed leg of the zigzag updates until its pivot confirms, which is inherent to how zigzags work. Forming sweeps repaint until their candle closes, and the option is off by default for that reason.
Sweep timeframes must be higher than your chart timeframe; slots set at or below it are skipped automatically.
This is an analysis tool. It describes where price has been and which levels are currently in play. It does not predict what happens next, and nothing here is financial advice. Penunjuk

MarketCraft FX - Liquidity Matrix V1.1MARKETCRAFT FX – LIQUIDITY MATRIX V1.1
The MarketCraft FX Liquidity Matrix is a free liquidity-mapping indicator designed to identify areas where buy-side and sell-side liquidity may be resting.
Rather than displaying every minor swing, the indicator evaluates confirmed pivot structure, relative volume and displacement away from the level. Qualified liquidity zones are then displayed clearly on the chart, helping traders identify potential targets, reaction areas and liquidity events.
KEY FEATURES
• Buy-Side Liquidity (BSL) zones above confirmed swing highs
• Sell-Side Liquidity (SSL) zones below confirmed swing lows
• Dual structural and relative-volume detection
• PRIMARY, STRONG and MAJOR zone classifications
• ATR-based zone depth
• Optional dynamic zone sizing
• Nearby-level merging to reduce chart clutter
• Zones extend automatically beyond current price action
• Separate liquidity-sweep and close-through identification
• Nearest BSL and SSL displayed in a compact dashboard
• Configurable colours, transparency and display limits
• Alerts for approaches, sweeps and candle close-through events
• Suitable for light and dark chart backgrounds
HOW THE LIQUIDITY ENGINE WORKS
A liquidity zone begins with a confirmed swing high or swing low.
The indicator then evaluates the quality of that swing using two independent qualification paths:
1. Structural displacement away from the swing
2. Relative volume surrounding the liquidity origin
This dual-detection method allows a meaningful structural level to qualify even when market volume is relatively quiet. It can also identify volume-backed liquidity that may not produce an unusually large immediate displacement.
ZONE CLASSIFICATIONS
PRIMARY
A confirmed liquidity-bearing swing that meets the minimum qualification requirements.
STRONG
A higher-quality level supported by additional displacement, relative volume or price-action confirmation.
MAJOR
A high-scoring liquidity level with multiple supporting factors. These zones represent the strongest levels identified by the engine.
READING THE ZONES
BSL zones appear above price and represent areas where liquidity may be resting beyond previous highs.
SSL zones appear below price and represent areas where liquidity may be resting beyond previous lows.
Each active zone extends beyond current price action by the selected number of bars. The default extension is 20 bars.
The zone remains live and continues moving forward until its outer boundary is reached.
ZONE STATES
FRESH
The liquidity zone has been created and has not yet been approached or swept.
APPROACHING
Price has moved within the selected ATR distance of an active liquidity zone.
LIQUIDITY SWEPT
Price has wicked through the outer boundary of the zone. The zone stops extending at the sweep candle and changes to a dashed historical level.
CLOSE-THROUGH
A candle has closed beyond the outer boundary. This is separated from a wick-only sweep because it may indicate acceptance beyond the liquidity zone rather than an immediate rejection.
COMPACT DASHBOARD
The dashboard displays:
• Current draw on liquidity
• Nearest active BSL
• Nearest active SSL
• Strength of each nearest zone
• Number of retained zones
• Latest liquidity event
IMPORTANT SETTINGS
Minimum Zone Grade controls the overall quality of zones displayed.
Dual Structural + Volume Detection allows zones to qualify through either displacement or relative volume.
Swing Length and Confirmation Bars control how significant a swing must be before it is confirmed.
Base Zone Depth controls zone thickness using ATR.
Merge Nearby Levels combines levels forming within the selected ATR distance.
Extend Past Current Price controls how far active zones project beyond the latest candle.
Retain Swept Zones determines whether completed liquidity events remain visible for historical analysis.
TRADING APPLICATION
The indicator can be used to help identify:
• Potential draws on liquidity
• Areas above highs or below lows where stops may be resting
• Potential reaction points
• Liquidity sweeps
• Failed sweeps and close-through events
• Confluence with market structure, order blocks, supply and demand, Fibonacci levels or higher-timeframe analysis
Liquidity zones should not be treated as automatic entry signals. A zone identifies an area of interest; traders should use their own confirmation process before making a trading decision.
MARKETCRAFT FX
Craft Your Edge. Master the Market.
This indicator is an original MarketCraft FX development created as a free educational and chart-analysis tool.
DISCLAIMER
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment advice or a recommendation to buy or sell any financial instrument.
No indicator can predict future market movements or guarantee profitable results. Liquidity zones may fail, price may trade through them, and historical performance does not guarantee future performance.
Always conduct your own analysis and use appropriate risk management.
Penunjuk

MACD Matrix [Quantum Algo]MACD Matrix
═══════════════════════════════════════════════
🔶 OVERVIEW
MACD Matrix reads the Moving Average Convergence Divergence as a complete momentum system rather than a single line and histogram. It classifies momentum into four quadrants instead of one sign, aligns four timeframes into a live matrix with a scored consensus, detects histogram divergence and draws it on both the oscillator and the price candles, tracks histogram compression before expansion, and paints a momentum river through price so the entire reading lives on the chart — not only in the pane below it.
The result is a MACD you can read from the candles alone: the river's color tells you the quadrant, the aura tells you whether momentum is expanding or fading, gold beacons mark full multi-timeframe alignment, and every signal carries its own historical record on the exact symbol you are trading.
═══════════════════════════════════════════════
🔶 WHAT IS MACD?
The Moving Average Convergence Divergence, created by Gerald Appel, measures momentum as the distance between a fast and a slow exponential moving average. A signal line smooths that distance, and the histogram — introduced by Thomas Aspray — shows the gap between the two. MACD above zero means the fast average leads the slow one (bullish regime); the histogram rising means momentum is accelerating.
═══════════════════════════════════════════════
🔶 WHAT ARE THE FOUR MACD QUADRANTS?
Most traders read MACD as bullish or bearish. It actually has four distinct states, and the difference between them is where the money is:
— Expanding ▲: above zero and the histogram rising — momentum accelerating in an uptrend.
— Fading ▲: above zero and the histogram falling — the uptrend losing thrust, the earliest warning.
— Expanding ▼: below zero and the histogram falling — momentum accelerating in a downtrend.
— Fading ▼: below zero and the histogram rising — the downtrend losing thrust, the earliest turn.
MACD Matrix names the quadrant on every bar, colors the river and the aura by it, and stamps it into every signal's tooltip.
═══════════════════════════════════════════════
🔶 WHY IS THIS ORIGINAL?
1. The quadrant engine. Four momentum phases instead of two, made visible on the price chart through the momentum river and aura, so fading momentum is caught before the sign ever flips.
2. The timeframe matrix. Four configurable timeframes, each read as side-of-zero × expanding-or-fading, with a consensus score. A gold beacon prints on price the moment all four align with expanding momentum — a threshold event, not a vague "trend agreement."
3. Dual-canvas divergence. Histogram divergences are drawn as connectors in the pane AND as dashed twins across the corresponding price pivots on the chart, so the divergence is visible exactly where you trade it.
4. The histogram squeeze. Histogram amplitude is ranked inside its own recent history; when it compresses below a low percentile the momentum is coiled, marked with gold dots, and the expansion out of the coil fires a directional release signal — a compression concept almost never applied to MACD.
5. Signal families with per-symbol records. Zero-line crosses, early signal crosses on the correct side of zero, divergences and squeeze releases are tracked as separate families, each with ten-bar outcome statistics shrunk toward neutral at small samples and a Wilson lower bound — quoted in every tooltip and on the dashboard.
═══════════════════════════════════════════════
🔶 HOW IT WORKS
— MACD, signal and histogram are computed from configurable lengths; the quadrant is derived from the sign of MACD and the direction of the histogram.
— Four higher-timeframe MACD states are requested without lookahead and scored into the matrix.
— Histogram pivots are compared against price pivots to detect regular divergences, drawn on both canvases.
— Histogram amplitude is ranked against its own history for the squeeze; a mature coil that expands fires a release.
— Every signal family feeds its own first-in-first-out outcome samples; statistics are reported with sample counts.
Signals are evaluated on confirmed bars and do not repaint. Higher-timeframe matrix rows finalize when their own bar closes, as with any multi-timeframe reading. All drawings are capped.
═══════════════════════════════════════════════
🔶 HOW TO USE IT
— Trade the quadrant, not the sign: Expanding phases favor continuation entries; Fading phases favor taking profit or tightening risk, and they precede most zero-line crosses.
— Use the matrix as a filter: a 4/4 beacon is the highest-conviction environment; a divided matrix (2/4) warns that timeframes disagree.
— Divergence on the candles: when the dashed price line and the pane connector appear together, you have a momentum-versus-price disagreement located precisely on structure.
— Watch the coil: a long squeeze followed by a release is the setup for expansion; the R family record tells you how reliably releases have followed through here.
— Works on all markets and timeframes; configure the four matrix timeframes to match your trading horizon.
═══════════════════════════════════════════════
🔶 SETTINGS
— MACD: fast, slow and signal lengths.
— Timeframe Matrix: four timeframes.
— Signals & Squeeze: divergence pivot length, squeeze window and percentile, cooldown, signal visibility.
— Statistics: sample cap, minimum samples, shrinkage strength, Wilson z-score.
— Visuals and dashboard: river and aura toggles, river length, full color and position control.
═══════════════════════════════════════════════
🔶 ALERTS
— Matrix Aligned Bullish / Bearish — all four timeframes aligned with expanding momentum.
— Zero-Line Cross — MACD crossed zero.
— Histogram Divergence — a divergence printed.
— Squeeze Release — the histogram expanded out of its coil.
═══════════════════════════════════════════════
🔶 FAQ
Q: Does it repaint?
A: Signals are evaluated on confirmed bars and never change once printed. The higher-timeframe rows of the matrix update while their own bar is open and finalize at its close — this is inherent to any multi-timeframe reading, and no lookahead is used.
Q: How is this different from a standard MACD?
A: A standard MACD shows one line, one signal and one histogram in a pane. This tool adds the quadrant classification, the four-timeframe matrix and beacons, divergence drawn on the price chart itself, the histogram squeeze, the momentum river and aura on price, and per-family statistics.
Q: What does the momentum river represent?
A: A short exponential average of price colored by the current MACD quadrant. Its purpose is purely to carry the momentum reading onto the candles — bright when momentum expands, dimmed when it fades — so you can read momentum without looking away from price.
Q: What do the family percentages mean?
A: The share of past signals in that family after which price had moved favorably ten bars later, on the current symbol and timeframe, shrunk toward fifty percent at small samples. They describe history — they are not predictions.
Q: Which settings should I change first?
A: The four matrix timeframes, so the matrix reflects your own trading horizons. The MACD lengths follow the classic 12, 26, 9 defaults.
═══════════════════════════════════════════════
🔶 CREDITS
The Moving Average Convergence Divergence is by Gerald Appel; the MACD histogram is by Thomas Aspray (1986). The Wilson score interval is by Edwin B. Wilson (1927). The quadrant engine, timeframe matrix and beacon logic, dual-canvas divergence rendering, histogram squeeze, per-symbol statistics and all code in this script are original work — no third-party or open-source script code was reused.
═══════════════════════════════════════════════
🔶 LIMITATIONS
— MACD is a lagging momentum measure; the quadrant engine reduces but cannot eliminate lag.
— Divergences can extend before resolving; the family record exists to quantify this on your chart.
— Statistics describe the current chart's history only; past frequencies never guarantee future outcomes.
═══════════════════════════════════════════════
🔶 DISCLAIMER
This indicator is a research and charting tool provided for educational purposes. It is not financial advice, and nothing it displays is a recommendation to buy or sell any asset. Trading involves substantial risk of loss. Always do your own analysis and manage risk responsibly. Penunjuk

Penunjuk

Strategi

Fisher Transform Turning Points [RC Tools]RC Tools — Fisher Transform Turning Points
────────────────────────────────────────────────────────────────────
█ OVERVIEW
Most oscillators produce a roughly bell-curve distribution of values, which means they spend a lot of time hovering near their own extremes without committing one way or the other — turning points end up gradual and easy to miss. The Fisher Transform, developed by John Ehlers, fixes this by re-shaping the distribution itself: it converts a naturally Gaussian-ish read into one with much sharper, more decisive swings, so genuine turning points stand out rather than blur together.
█ WHAT IT DOES
Computes the Fisher Transform of price's position within its recent high/low range and classifies each confirmed bar as Bullish or Bearish on a zero-line crossover. Plots a 4-colour momentum histogram (Expansion, Slowdown, Contraction, Recovery) showing not just direction but whether momentum is accelerating or fading, colours the chart background by the confirmed state, and shows a table with the current state, how long price has been in it, and historical base rates (average forward return and win rate) for each state.
█ THE THEORY BEHIND IT
Most price-derived oscillators (RSI, Stochastic, and similar) are bounded and tend to spend a disproportionate amount of time in the middle of their range, with actual extremes reached only briefly. Ehlers' insight was that if you first normalise price's position within its recent range to roughly -1 to +1, then run that through the inverse hyperbolic tangent function, you get an output whose distribution is much closer to genuinely Gaussian — which sounds abstract, but has a very practical effect: the statistic moves through its extremes quickly rather than lingering, producing sharper, more decisive turning points instead of a gradual roll-over.
█ HOW IT IS CALCULATED
1. Normalise price's position within its recent high/low range (over the Length window) to roughly -1 to +1, damped against the prior bar's reading to reduce noise.
2. Run that normalised value through 0.5 × ln((1 + x) / (1 - x)) — the inverse hyperbolic tangent, via a standard logarithmic identity — again damped against the prior output.
3. The resulting Fish value crossing above zero is classified Bullish; crossing below zero is classified Bearish. Between crossovers, the classification holds.
4. Separately, a 4-colour momentum state (Expansion/Slowdown/Contraction/Recovery) is derived from Fish's bar-to-bar change — this is a cosmetic diagnostic layer and does not affect the Bullish/Bearish classification itself.
Note: a trigger-line crossover (Fish against its own lagged value) was tested during development and found too whipsaw-prone for this technique — the zero-line crossover used here produced meaningfully cleaner classification.
Classification occurs ONLY on confirmed bar close — the plotted Fish value, the background colour and the table all update together, so nothing here can disagree mid-bar or flip back and forth as the current bar forms.
█ SETTINGS & CONFIGURATION
• Length (default 10, the classical value from Ehlers' original publication) — the rolling high/low window used for the price-position read
• Table visibility, position and colours are fully configurable; the main-chart background painting can be toggled off if you only want the statistics pane
• Forward Return Window (default 20 bars) — the horizon used for the base-rate table
█ HOW TO USE IT
Use it as a turning-point filter alongside your existing tools, not as a standalone entry signal. Because the transform is specifically built to sharpen turning points, it tends to react faster than smoother oscillators — useful for catching a genuine reversal early, at the cost of more false starts in choppy conditions. Check the base-rate table's sample count before treating any single state as meaningfully predictive.
Works on any asset and timeframe with sufficient history for the Length window.
█ LIMITATIONS
• Fisher Transform is a NORMALISED price-position statistic, not a measure of trend strength or magnitude. Any use of it as a precision reversal forecast is a misuse.
• The sharp, decisive turning points that make this technique distinctive also mean it can whipsaw in genuinely choppy, range-bound conditions.
• The high/low window resets its frame of reference every Length bars; a short length reacts fast but is noisier, a long length is smoother but slower to reflect a genuine change.
• The 4-colour momentum state is a cosmetic diagnostic layered on top of Fish's bar-to-bar change — it does not affect the Bullish/Bearish classification or the base-rate table.
• Historical base-rate stats need a meaningful sample count (check N) before being trusted.
• This script does NOT repaint. All classification updates on confirmed bar close only.
█ DISCLAIMER
For educational and informational purposes only. Nothing here is financial advice. Past behaviour of any turning-point state does not indicate future results. Trade at your own risk.
Penunjuk

Penunjuk

Penunjuk

Penunjuk

Penunjuk

Futures ATR Risk & Position SizerATR Risk & Position Sizer
What it does
This tool answers one question before every trade: "Given how much I'm willing to lose and how volatile this market is right now, how many contracts can I actually take?"
Instead of using a fixed stop distance, the stop is derived from the Average True Range (ATR) of the instrument, so position size automatically shrinks when volatility rises and grows when it falls — the dollar risk stays constant, the contract count adapts.
The asset is auto-detected from the chart you're viewing. You only choose whether you're trading the Mini or Micro version of it.
How the calculation works
Stop distance = ATR(length) × Multiplier
- ATR length defaults to 14 (configurable).
- The multiplier (default 1.5) controls how wide the stop is relative to current volatility — this is what makes the risk "dynamic": as ATR expands or contracts, so does the stop, and so does the resulting position size.
Tick rounding — a stop can only be placed at a valid price increment (tick), so the raw ATR-based distance is rounded down to the nearest whole tick for the detected instrument before anything else is calculated. For example, on ES (tick = 0.25), a raw distance of 10.4 points becomes 10.25 points (41 ticks) — never a value that couldn't actually be set as a stop order.
Risk per contract = Stop Distance (points) × Dollar value per point (for the selected Mini/Micro size).
Contracts allowed = floor(Max Risk $ ÷ Risk per contract), then optionally rounded down to the nearest even number (see below).
Max Risk (displayed) is recalculated from the final, rounded contract count — so it reflects your actual exposure, which will always be at or under your configured max risk, never over it.
Auto-detection
The script reads the chart's root symbol (works with both continuous contracts like ES1! and dated contracts like ESZ2025) and matches it — along with its known Micro ticker — against a built-in list of instruments. If the symbol isn't recognized, the table is replaced with a clear red "Unsupported Asset" warning instead of showing incorrect numbers.
If the asset is recognized but the size you selected (Mini/Micro) doesn't actually exist for that instrument (e.g. there's no Micro Platinum), you'll get an orange warning instead of silently wrong output.
Supported instruments and their specs:
Asset | Root / Micro ticker(s) | Tick Size | Mini $/pt | Micro $/pt
E-mini S&P 500 | ES / MES | 0.25 | $50 | $5
E-mini Nasdaq 100 | NQ / MNQ | 0.25 | $20 | $2
E-mini Dow | YM / MYM | 1.0 | $5 | $0.50
E-mini Russell 2000 | RTY / M2K | 0.10 | $50 | $5
Gold | GC / MGC (also XAUUSD, GOLD) | 0.10 | $100 | $10
Silver | SI / SIL (also XAGUSD) | 0.005 | $5,000 | $1,000
Platinum | PL | 0.10 | $50 | N/A
Copper | HG / MHG | 0.0005 | $25,000 | $2,500
Crude Oil | CL / MCL | 0.01 | $1,000 | $100
Natural Gas | NG / MNG | 0.001 | $10,000 | $1,000
Heating Oil | HO | 0.0001 | $42,000 | N/A
RBOB Gasoline | RB | 0.0001 | $42,000 | N/A
US Dollar Index | DX | 0.005 | $1,000 | N/A
Euro FX | 6E / M6E | 0.00005 | $125,000 | $12,500
British Pound | 6B / M6B | 0.0001 | $62,500 | $6,250
Australian Dollar | 6A / M6A | 0.0001 | $100,000 | $10,000
30-Yr T-Bond | ZB | 1/32 (0.03125) | $1,000 | N/A
10-Yr T-Note | ZN | 1/64 (0.015625) | $1,000 | N/A
Wheat | ZW | 0.25 | $50 | N/A
Soybeans | ZS | 0.25 | $50 | N/A
Corn | ZC | 0.25 | $50 | N/A
Cotton | CT | 0.01 | $500 | N/A
Sugar | SB | 0.01 | $1,120 | N/A
Coffee | KC | 0.05 | $375 | N/A
Cocoa | CC | 1.0 | $10 | N/A
"N/A" means that instrument currently has no Micro-sized version on the exchange — the script will flag this rather than show a value.
Inputs
Max Risk Amount ($) – the dollar amount you're willing to risk on the trade.
ATR Length – lookback period for ATR (default 14).
ATR Multiplier – multiplies ATR to set the stop distance (default 1.5).
Force Even Number of Contracts – when enabled (default), an odd contract count is rounded down to the nearest even number; disable to allow any whole number.
Contract Type – Mini or Micro. Pick whichever you actually trade; the asset detection is independent of this.
Table Position / Text Size – purely cosmetic.
Reading the table
Header – detected asset, contract size, ATR multiplier in use, and your configured risk amount.
Contracts Allowed – the final, tick-valid, (optionally) even-rounded contract count.
Stop Loss Distance – the tick-rounded stop distance, shown in both points and whole ticks.
Max Risk ($) – your actual dollar risk at that contract count — always at or below your configured max risk.
Notes & disclaimer
Contract specifications (tick size, point value) reflect standard CME/ICE specs at the time of publishing. Exchanges occasionally revise these — please verify against your broker/exchange before relying on this for live sizing.
This indicator does not generate entry or exit signals. It is a risk-management and position-sizing calculator only.
Nothing in this script constitutes financial advice. Futures trading involves substantial risk of loss and is not suitable for all investors. Past volatility is not indicative of future volatility.
Penunjuk

Session Levels Pro [PineLogic]Session Levels Pro draws the reference prices intraday traders mark up by hand every morning - previous day and previous week extremes, today's open, and the opening range - and keeps them updated on one clean, non-repainting overlay.
WHAT IT PLOTS
PDH / PDL / PDC - previous day high, low and close
OPEN - today's opening price
PWH / PWL - previous week high and low
ORH / ORL - the opening range high and low, measured over a configurable number of minutes from the session open (default 15)
Each level is a single line with a right-hand label showing the level name and its exact price, so you can read the number without hovering.
HOW IT WORKS
Daily and weekly values are pulled with request.security() using lookahead together with a one-bar offset (high , low , close ). That combination is the correct non-repainting idiom: it returns only the completed prior period, so a level never changes after the fact, and what you see on history is what you would have seen live.
The opening range is tracked forward from each new daily bar. While the elapsed time is inside your chosen window the running high and low expand; once the window closes, ORH and ORL are fixed for the rest of the session. The opening range only appears on intraday timeframes, since it has no meaning on daily and above.
Levels are drawn once and repositioned on the last bar rather than redrawn per bar, which keeps the object count flat regardless of history length.
HOW TO USE IT
Most intraday approaches treat these prices as the day's decision points: a clean break and hold above PDH or the opening range high is continuation, a rejection back inside is a fade, and PWH/PWL frame the wider weekly context. The script marks the levels; it does not tell you which way to trade them.
ALERTS
Six alertcondition entries are included - break above/below PDH, PWH and ORH, and their downside equivalents. Create the alert from the chart and pick the condition you want.
SETTINGS
Toggle every level group independently (daily, weekly, opening range)
Opening range length in minutes, 1-240
Colours for high, low, neutral and opening-range levels
How far to the right the lines and labels extend
NOTES
Non-repainting by construction, as described above.
Previous-day and previous-week values depend on the symbol's session definition, so they follow whatever the exchange feed reports.
Works on any symbol; the opening range needs an intraday timeframe.
Open-source - read the code, change it, use it. Penunjuk

Consolidation Breakout with Volume Confirmation [Daily]What this does
This indicator detects consolidation zones on price charts and flags breakouts confirmed by volume — in both directions (bullish breakouts and bearish breakdowns).
Methodology
Scans a flexible lookback window (10–30 bars, adjustable) for the tightest qualifying price range, so it captures both short flags and multi-week bases without needing separate settings for each.
A zone is drawn once a window's high-low range falls under a configurable tightness threshold (default 8%).
Zones where average volume during consolidation is below its own 50-bar baseline are marked in green ("volume dry-up") as a soft indicator of higher conviction — this is informational, not a hard filter.
A breakout fires on a close beyond the zone boundary, confirmed by volume at least 1.5x (configurable) the zone's average — symmetric logic for both long breakouts and short breakdowns.
A cooldown period after each breakout reduces false re-triggering during choppy conditions.
Each breakout label also tags candle quality (strong/weak close within the bar's range) and whether the move gapped through the zone or ground through it intraday — additional price-action context alongside the volume read.
Timeframe
Designed and tested on the Daily timeframe. All settings (lookback, cooldown, volume baseline) are counted in bars, so they do not scale automatically across timeframes — a 5-bar cooldown means 5 trading days on Daily, but a very different real-world duration on 4H, Weekly, or other timeframes. If you use this on a different timeframe, re-tune the inputs rather than relying on the defaults.
Alerts
Built-in alert conditions for both bullish breakouts and bearish breakdowns — set once per chart to get notified without watching live.
Disclaimer
This is a screening/context tool, not a standalone buy/sell signal. All thresholds are adjustable in settings — test and tune them for the instruments you trade. Always confirm with your own analysis and risk management. Not financial advice. Penunjuk

Market Structure BOS/CHoCH + Break Follow-Through [ForexCracked]🔵 OVERVIEW
Most market structure indicators stop at the break. This one keeps counting after it.
It draws the structure the way you already read it: confirmed swing highs and lows tagged HH, HL, LH and LL, a solid line at the level that would flip the current structure, and a BOS or CHoCH label the moment a bar closes through a swing. Then it does the part most structure tools stop short of. For every break it watches what price did next, files the outcome, and prints the counted result on the chart with the sample size next to it.
So the label on a break does not just say BOS. It says BOS, and that on this chart breaks like this one reached 1 ATR beyond the level before snapping back 116 times out of the last 200.
🔵 THE ANSWER IS THERE BEFORE THE BREAK
The two live levels, the last confirmed swing high and swing low that price has not yet closed through, are drawn as blocks at the right edge of the chart, teal above price and pink below. Each block is captioned with the break it would be under the current structure (BOS or CHoCH), the price, the distance, and what breaks of that kind did here: "BOS above 1.08420 · 12p · 1.0 ATR reached 116/200 (58%) · typical run to 1.08790".
The block's height is not decoration. It is the measured median run after breaks of that class on this symbol, so the top of the teal block is a price that breaks like this one typically reached. Medians print from eight samples and percentages from the minimum n. Below that the block falls back to the follow-through distance and its caption reads "finish line at" instead of "typical run to". A block never draws thinner than the minimum block height, and when that floor is what sets its height the caption reads "run floor at".
🔵 HOW A BREAK IS MEASURED
A break is a bar that closes through a live swing level. It is a BOS if it goes with the current structure and a CHoCH if it goes against it and flips it.
From the next bar the script runs a race with two finish lines the same distance from the level: 1 ATR beyond it in the break direction, and 1 ATR back through it on the other side. ATR is frozen at the break bar so later volatility cannot move the finish lines. Whichever is touched first decides the outcome: reached, or snapped back. If one bar touches both lines it is filed as snapped back, the conservative reading. If neither is touched within 30 bars the outcome is filed as neither. Nothing is estimated and nothing is fitted. Every figure is a count of price events on the chart in front of you, over the last 200 filed breaks of that class, and the n printed beside it is the real count.
Wick-only breaks, where a bar trades through a level but closes back inside, are measured with the same race in their own class. They are never drawn as events (the level's block border turns dashed once it has been wicked), but their number sits on the level's caption, so "should I wait for the close" gets an answer from your own symbol instead of a rule of thumb.
🔵 THE RUN BOX
After each close break a box is drawn from the level in the direction of the break. Its height is the median run for that class, its width the median bars it took to reach the finish line, and its caption prints the far edge as a price. The box then records what this particular break did: the border thickens when the finish line is reached, the box hollows and its border goes dashed when the break snaps back, and it fades if neither happens. The last few breaks stay on the chart as filled or hollow shapes, so the recent record is visible without reading a single number.
The break label itself is frozen at the moment of the break. It shows what the tool said at the time, never a hindsight figure. Only the outcome is added to it afterwards.
🔵 THE SWINGS
Swings are confirmed by price, not by counting bars. A swing high is confirmed the first time a bar closes a set number of ATR below it, and a close through the previous swing confirms the swing in between. There is no lookback length to tune and the same setting reads the same on gold, indices, crypto and forex. Tags land on the swing bar when the swing confirms, so they appear a few bars after the extreme printed. That is confirmation lag, not repainting. No tag, break line or break label is ever moved; only the outcome text is added to a label later. The two right-edge blocks and the panel are redrawn every bar by design, so their height follows the current ATR.
🔵 WHAT IS ON THE CHART
• HH, HL, LH and LL tags on confirmed swings (the first swing of each side is tagged H or L)
• A dashed border on a block means that level has already been wicked without a close through it
• A solid structure line at the level that would flip the current structure, teal under price while bullish and pink above it while bearish, with the dealing range shaded between it and the other live level
• A block at each live level, projected into the space right of price, captioned with the break type, the price, the distance and the counted result for breaks like it
• A line from each broken swing to the bar that closed through it, with a BOS or CHoCH label carrying the count as it stood at that moment
• A run box after each break, filled or hollow depending on what the break did
• A compact panel restating the structure, the two levels, the class counts and the last break
🔵 WHAT THIS IS NOT
This script draws no entries, no stops, no targets and no arrows. It has no order blocks, no fair value gaps, no sessions and no higher timeframe calls. It does not tell you to trade a break. It does not map liquidity pools, equal highs and lows or session extremes, does not count how often price reaches them, and does not mark sweeps or reversals. It is the structure map with the follow-through counted, so you can see on your own symbol whether the breaks you are reading have tended to carry on or to come straight back.
🔵 HOW TO USE
• Read the two blocks first. The block above is the level a close must clear and what happened after closes like that; the block below is the level a close must lose. The prices are printed.
• Treat the follow-through percentage as a base rate for this class on this chart, not as a forecast for this break. One hundred and sixteen out of 200 is a description of the past.
• Use the class split. If close breaks on your chart reach 1 ATR far more often than wick-only breaks, waiting for the close is worth its cost here. If the two numbers are close, it is not.
• Watch the run box after a break rather than the label. A box that hollows out is a break that snapped back, and the structure line will tell you where the next flip sits.
• Lower the swing setting to 1.0 ATR to see internal structure, raise it to 2.0 or more on choppy symbols so only real pullbacks count as swings.
🔵 SETTINGS
• Swing confirmation (x ATR): the close distance from the running extreme that confirms a swing (default 1.5)
• Follow-through distance (x ATR): the two finish lines, the same distance either way from the level (default 1.0)
• Outcome window (bars): how long the race runs before the outcome is filed as neither (default 30)
• Breaks kept per class: the rolling window every count is taken over (default 200), and the minimum n before a percentage prints (default 20)
• Chart: break lines to keep, run boxes to keep, minimum block height, how far the blocks project right, the dashboard and its position, colours
• Works on any symbol and any timeframe. Charts with little history print n below the minimum until the numbers fill in
🔵 ALERTS
• Bullish BOS, bearish BOS, bullish CHoCH, bearish CHoCH, each on the closing bar
• Wick-only break: price traded through a structure level and closed back inside
• Break reached its follow-through distance
• Break snapped back
• Price within a quarter of an ATR of a live structure level
The engine is close-based, so set alerts to fire once per bar close.
⚠️ DISCLAIMER
BOS and CHoCH are community terms for market structure. This is independent work and is not affiliated with or endorsed by any educator or course.
The percentages are counted descriptions of what happened after past breaks on this chart, not predictions. A class that reached its follow-through distance 70 times in 100 can snap back today. Samples vary by symbol and timeframe, and small samples are unreliable by nature, which is why every figure carries its n and prints nothing below the minimum. Nothing here is a trade signal. Results depend on market conditions, settings, and your own execution and risk management. Shared for educational and research purposes. Not financial advice. Penunjuk

NQ OVN AM AmplitudeNQ Overnight → AM Amplitude
Measures the Nasdaq futures overnight range (18:00–06:00 New York) and compares it with the morning range (09:30–12:00). It also prints a 2× ATR stop distance so you can size risk without leaving the chart.
What it shows
OVN Range — high minus low of the full 18:00–06:00 NY session, in points and percent
AM projected — expected 09:30–12:00 range
Overnight above the 60-session median → 0.95× OVN
Overnight below the 60-session median → 1.93× OVN
Those two multipliers come from an NQ hourly study (577 sessions, Apr 2024–Sep 2026)
AM current — live 09:30–12:00 range, same format
2× ATR stop — ATR(14) × 2, in points and percent (timeframe selectable)
OVN and AM projected lock at 06:00 and stay until the next session. AM current updates through noon. Percent values use 3 decimals (0.000%).
How to use
Apply on NQ1! / MNQ1! (needs overnight data). Works on 1-minute; overnight classification uses 15-minute history in the background.
After 06:00, read OVN and the projected AM size.
During the cash morning, watch AM current versus AM projected.
Place stops using the 2× ATR line. On a 1-minute chart, set ATR timeframe to 5 or 15 if the stop looks too tight.
Inputs
Timezone (default America/New_York)
History timeframe and lookback for the overnight median
Small / large overnight multipliers (1.93 / 0.95)
ATR period, ATR timeframe, stop multiple
Notes
This is a range map, not an entry signal. The 0.95 / 1.93 factors are historical medians of AM÷OVN, not a guarantee. Futures only. Not financial advice. Penunjuk

Volatility Bands IV-RV The question this answers
Every expected-move indicator draws the range options are pricing. Almost none of them tell you whether that range is any good. This one measures the implied range and the realized range side by side, then counts how often price actually finished outside each of them.
Three layers
The cones. Two ranges are drawn across history, both anchored one horizon back and re-anchored every week. The amber cone is built from implied volatility, read from India VIX. The cyan cone is built from realized volatility, measured on weekly bars of the chart symbol. Both are scaled to the same horizon with the same geometry, so a difference in width is a difference in volatility and nothing else.
Shading is nested rather than overlapping. The neutral core is the range both measures agree on. The band outside it is the gap between them, coloured by whichever cone sits on the outside. That gap is the variance risk premium made visible, and when it changes colour, realized has overtaken implied.
The breach layer. Every bar that closes outside a cone is shaded. On its own this means very little, and that is the point most published expected-move scripts miss. A one-sigma cone is breached about 31.7 percent of the time by construction. So the readout states the expected rate next to the rate actually observed on your loaded history, for both cones separately.
If the implied cone is breached far less often than expected, implied volatility was systematically wider than the index needed. If it is breached more often, it was too narrow. That comparison is evidence. The shading alone is not.
The forward cone. From the current bar, projecting one horizon ahead, using the latest confirmed weekly volatility. Same nested construction. It is a distribution, not a direction.
How it is calculated
Implied leg. India VIX is an annualised implied volatility in percentage points, rescaled to the horizon by the square root of the horizon over 52.
Realized leg. Weekly log returns over the lookback, scaled to the horizon by the square root of the number of weeks. Three estimators:
Yang-Zhang, the default. Weekend-gap variance, open-to-close variance and the Rogers-Satchell range term, weighted by the standard k factor. It uses the whole weekly bar and is the most efficient and most drift-independent.
Std Dev. Sample standard deviation of weekly close-to-close log returns. Blind to everything inside the week.
ATR%. Weekly Average True Range as a fraction of price, times a factor you set. Range-aware, but the factor is a convention.
Bands are lognormal by default. That is not cosmetic: under a zero-drift random walk the expected breach rate of a lognormal band is exactly 2(1 - Phi(k)), so the observed-versus-expected comparison is exact rather than approximate.
Timeframes
All volatility maths runs in the weekly context, so the readings are identical on a 15-minute chart and on a weekly chart. Use any timeframe up to Weekly. Above Weekly the indicator disables itself and says why, because a weekly request from a monthly chart returns partial bars.
Alerts
Six: the implied-to-realized ratio crossing either threshold, and price closing outside either cone in either direction.
Limitations, stated plainly
India VIX measures implied volatility on NIFTY 50. The implied source is an input so you can pair another index with its own volatility index, not so you can run this on any symbol. Pairing one instrument's implied volatility with another's realized volatility is meaningless.
The breach sample counts weeks, not independent trials. Consecutive windows overlap by all but one week, so divide n by the horizon for a rough independent count and do not read small differences as significant.
The realized cone is estimated from the same series it is tested against, so its observed breach rate is not an out-of-sample result. The implied cone does not have this problem, which is part of why the two are reported apart.
Counting starts at the left edge of your loaded history, which varies by subscription and timeframe. Two users can see different n on the same symbol.
Square-root-of-time scaling assumes weekly returns are independent. Real index returns cluster in volatility, so it understates the tails in a stress regime and overstates them coming out of one.
The implied leg uses a single at-the-money volatility number and ignores skew, so it understates downside and overstates upside against the real option surface.
One sigma is a description of a distribution, not a boundary. Cones being broken is expected behaviour.
This plots volatility. It produces no directional signal, no entries and no exits.
Not financial advice. For education and research only. Penunjuk

Penunjuk
