OPEN-SOURCE SCRIPT
מעודכן

Stryk: Truth Line

328
# 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.
הערות שחרור
Delta memory now works in blocks of your lookback (N candles of the delta timeframe) instead of single candles: Live block, Prev block, 2 back. Verdict thresholds calibrate against the average |block Δ| of the blocks behind, flat tolerance scales with √N, absorption is judged on the live block. N is the input — nothing fixed.
הערות שחרור
fix the lookback for replay feature
הערות שחרור
Fuel no longer stalls on climax volume — high-volume bars are paid, the line chases them and candles colour by delta; climax stays a warning and a BUY/SELL block. Delta agreement now uses the bar's own open→close. Participation reacts faster (EMA 8, spike-aware) and ranks over the same rolling window as your lookback (N × delta TF), rolling baseline by default. Reset to defaults after reloading.

כתב ויתור

המידע והפרסומים אינם מיועדים להיות, ואינם מהווים, ייעוץ או המלצה פיננסית, השקעתית, מסחרית או מכל סוג אחר המסופקת או מאושרת על ידי TradingView. קרא עוד ב־תנאי השימוש.