ATAS/X Indicator · Order Flow · Delta

PND Delta Candles

Rolling CVD delta as a color gradient on hollow candles. Quick read of net order flow bias without cluttering your chart.

PlatformATAS/X
CategoryOrder Flow · Delta
RenderingHollow Candles
SignalCVD Gradient
PriceFree · Community
PND Delta Candles — live chart example on NQ futures

What it does

📊
Colors hollow candles by order flow
Each bar's color reflects the rolling sum of delta (buy aggression minus sell aggression) over the last N bars. The brighter the color, the more one-sided the flow. Yellow = contested / neutral.
Adaptive thresholds — no manual tuning
Neutral and max-intensity thresholds scale automatically to the instrument. On NQ 1m (avg delta ~80) the neutral zone is ~12, on NQ 5m (avg ~250) it's ~37. Same settings work on any chart.
Direction stripe
A solid-filled strip on the open side of each body shows candle direction at a glance. Hollow space faces the close, filled strip faces the open.
🔄
Replaces default candles
Uses ATAS's PaintbarsDataSeries to suppress the default candle rendering, then draws fully custom hollow candles on top via OnRender.

How the score is calculated — step by step

Raw data
candle.Delta
Ask-aggressor minus
bid-aggressor volume
Step 1
Rolling Sum
SUM(delta, Period)
over last N bars
Step 2
Rolling Mean |Δ|
SMA(|rollingSum|, Lookback)
= avg activity level
Step 3
Adaptive Thresholds
Neutral = avg × 0.15
Max = avg × 2.0
Step 4
t = position in range
0 at neutral thresh
1.0 at max thresh
Step 5
Power curve
tp = t ^ 0.7
(compresses ramp)
Output
Candle Color
LerpColor(soft, strong, tp)
per direction

Adaptive threshold diagram — how neutral zone and gradient range work

Neutral Zone|rollingDelta| ≤ avg × 0.15−max+maxavg × −2.0avg × +2.0Bear gradientBull gradient0stronger ←→ stronger
Neutral Fraction (0.15) — Below this fraction of avg |delta|, bar shows yellow. Raise to color fewer bars. Lower to always show a directional color.
Max Multiplier (2.0) — At this multiple of avg |delta|, gradient reaches full intensity. Lower to 1.5 to reach strong color sooner.

Color gradient

Bull (positive delta)
soft — low delta intensitystrong — high delta intensity
#88FFFFFF semi-transparent white → #FFFFFFFF opaque white
Bear (negative delta)
soft — low delta intensitystrong — high delta intensity
#FF505757 dark teal-gray → #FF242425 near-black
Neutral
#9EFFFF00 — rolling delta within the neutral zone (near-zero or contested)
Power Curve (default 0.7): shapes how the gradient ramps up. At t^0.7, mid-range delta values show noticeably colored bars — not just the extremes. Setting it to 1.0 gives a linear ramp. Setting it to 2.0 keeps bars mostly soft until a strong reading appears.

Mock chart — candle states

2146021445214302141521400Strong Bulldelta > 2× avgMid Bulldelta ~1× avgSoft Bulldelta > neutralNeutral|delta| ≤ neutralDojiopen = closeSoft Beardelta > neutralMid Beardelta ~1× avgStrong Beardelta < −2× avgBody Fill on(BodyFill > A:0)← stripe (open side)← hollow (close side)

Direction stripe — reading the candle body

Bull candle (Close > Open)
Open is at the bottom of the body.
Stripe fills the bottom portion (open side).
Hollow space is at the top (close side).

Reading: price closed up from where it opened.
Bear candle (Close < Open)
Open is at the top of the body.
Stripe fills the top portion (open side).
Hollow space is at the bottom (close side).

Reading: price closed down from where it opened.
Doji (Close = Open)
Body height is zero → drawn as a single horizontal line in the bar's color.

Color is still driven by rolling delta, so a yellow doji = neutral flow + indecision.
Stripe height controls
Stripe Fraction (0.9) — 90% of body height is filled by stripe. Lower for a thinner accent line.

Min Stripe Ticks (1) — Minimum height in ticks, so tiny-body bars still show a visible stripe.

All settings — quick reference

SettingDefaultWhat it controls
Delta
Period15Number of bars to SUM delta over. This is your CVD window.On a 1m chart, Period=5 ≈ 5-min flow, Period=15 ≈ 15-min flow. Higher = slower/smoother signal that ignores single-bar spikes. Lower = more reactive to recent delta changes.
Adaptive Thresholds
Lookback Period60How many bars back to average |rollingDelta| for the adaptive threshold baseline. 60 bars on 1m = 1 hour of history to set the "typical delta" for the session. Lower = adapts faster to changing conditions. Higher = more stable baseline.
Neutral Zone0.15Fraction of avg |delta| where bar shows yellow. At 0.15: if avg delta is 80, then |rolling delta| below 12 = yellow. Raise toward 0.3–0.5 to only show directional color on stronger readings. Lower toward 0.05 to color nearly every bar.
Max Intensity2.0Multiple of avg |delta| at which gradient reaches full strength. At 2.0: full-color white/black appears when rolling delta ≥ 2× the average. Lower to 1.5 to reach full intensity sooner (useful in fast markets). Raise to 3.0 if you only want full-color on truly extreme readings.
Gradient
Power Curve0.7Exponent applied to the normalized intensity (tp = t ^ power). <1 pushes color out earlier — mid-range bars get noticeably colored. =1 is a pure linear ramp. >1 keeps bars soft until near the max — only extreme readings get strong color.
Colors
Bull Soft
#88FFFFFF
Color at the low-intensity end of the bull ramp (delta just above the neutral zone).
Bull Strong
#FFFFFFFF
Color at full bull intensity (rolling delta ≥ max threshold).
Bear Soft
#FF505757
Color at the low-intensity end of the bear ramp.
Bear Strong
#FF242425
Color at full bear intensity. Near-black by design — strong selling pressure.
Neutral
#9EFFFF00
Color for bars where |rolling delta| is within the neutral zone. Yellow = contested flow.
Candle Body
Body Fill#00000000Fill color for the interior of the candle body. Default alpha=0 = fully hollow (only the border and stripe show). Set a non-zero alpha to get a translucent filled body.
Direction Stripe
Stripe Fraction0.9What fraction of the body height the stripe occupies. 0.9 = 90% filled (very visible). Lower to 0.3–0.5 for a subtle accent line at the open edge.
Min Stripe Ticks1Minimum stripe height in ticks, regardless of body size. Ensures small-body bars still show a distinguishable stripe.

Setting the Period for different timeframes

The Period setting controls how many bars are summed. On a 1-minute chart, each bar = 1 minute, so Period = bars ≈ minutes. Mix and match to see different time perspectives simultaneously.

Timeframe goalOn 1m chartOn 5m chartLookback suggestion
Intrabar / scalpPeriod = 3Period = 1Lookback = 20–30
5-minute flowPeriod = 5Period = 1Lookback = 30–50
15-minute flow (default)Period = 15Period = 3Lookback = 60
30-minute flowPeriod = 30Period = 6Lookback = 80–100
Hourly biasPeriod = 60Period = 12Lookback = 120+

Tip: Run two instances side by side — one at Period=5 for scalp reads, one at Period=15 for bias direction. When both agree, conviction is higher.

PND Delta Candles vs PND Order Flow Composite — when to use each

CharacteristicPND Delta CandlesPND Order Flow Composite
Core signalRolling sum of delta only7 signals combined (delta, absorption, exhaustion, DOM, footprint)
Speed / reactivityVery fast — single calculationSlightly slower — z-scores + EMA smoothing
False signal filteringModerate — single metricBetter — signals must agree to score high
Live DOM data (L2)NoYes — Queue Imbalance signal
Footprint cluster dataNoYes — Cluster Location signal
Works on historical barsFullyYes, except S6 (DOM = 0 on history)
Best use caseQuick read: is flow net bullish or bearish right now?Higher-conviction reads: do multiple signals confirm the same direction?
Run together?Yes — use the same Period / FastPeriod so they cover the same CVD window. Colors are different by design.
Installation

Get up and running in 3 minutes

The indicator is distributed as a compiled .dll file. No coding required — just download and drop into the ATAS indicators folder.

Download ATAS/X — the order flow platform this indicator runs on.
atas.net — download →
Get the indicator DLL — join the ProfitNotionDaily Discord and grab the latest PNDDeltaCandles.dll from the indicators channel.
Place the DLL in the ATAS indicators folder:
Windows: %AppData%\ATAS\Indicators\
macOS: ~/Library/Application Support/ATAS/Indicators/
Fully restart ATAS/X — .NET caches assemblies until the app is closed. Quit completely and reopen.
Add to chart — open the indicators panel, search PND Delta Candles, and add it to any chart.
Questions? Join us on Discord.
Live chart discussions, indicator updates, and custom order flow alerts.