ADX/DMI
- Price
- High
- Low
DI 14 · ADX 14
- ADX
- +DI
- −DI
Measures how strong a trend is. Measures on a scale from 0 to 100 how strongly the price moves in one direction, up or down. Below 20 it tends to move sideways, above 25 a trend counts as strong. You also get +DI and −DI: when +DI is above −DI, buyers push harder, otherwise sellers. Example: “ADX 14 above 25” together with “+DI 14 above −DI 14” reports a strong uptrend. For alerts that should only count in a trend, such as a breakout, “ADX above 20” is a good filter.
What it looks like
Section titled “What it looks like”- ADX 14
- +DI 14
- −DI 14
- above 25: strong trend
- ADX above 25 and +DI above −DI
Settings
Section titled “Settings”The settings appear on the right under “Properties” once you click the node on the board. Below each field you find the same explanation as here.
DI candles
Section titled “DI candles”How many candles +DI and −DI measure the moves up and down over. 14 is the usual value.
ADX smoothing
Section titled “ADX smoothing”How many candles the ADX is smoothed over. 14 is usual. Fewer candles react faster to a new trend but swing more.
Example
Section titled “Example”A strong uptrend: ADX above 25 and at the same time +DI above −DI.
How to connect the nodes:
- Candle (Price) → ADX/DMI (Price)
- Candle (High) → ADX/DMI (High)
- Candle (Low) → ADX/DMI (Low)
- ADX/DMI (ADX) → Compare (Value)
- ADX/DMI (+DI) → Compare A/B (A)
- ADX/DMI (−DI) → Compare A/B (B)
- Compare (true/false) → AND (Signal 1)
- Compare A/B (true/false) → AND (Signal 2)
- AND (all true) → Telegram (Trigger)
On the board it reads: DI 14 · ADX 14
Chain as JSON
To try it, copy it and paste it in the editor under “Import”. Importing creates a new chain.
{ "name": "Example: ADX/DMI", "version": 1, "nodes": [ { "id": "c1", "type": "core.candle", "position": { "x": 40, "y": 40 }, "settings": { "pair": "BTC/USDT", "timeframe": "1h" } }, { "id": "d1", "type": "core.adx", "position": { "x": 260, "y": 40 }, "settings": {} }, { "id": "k1", "type": "core.compare", "position": { "x": 480, "y": 40 }, "settings": { "operator": "above", "value": 25 } }, { "id": "k2", "type": "core.compare-ab", "position": { "x": 480, "y": 170 }, "settings": { "operator": "above" } }, { "id": "a1", "type": "core.and", "position": { "x": 700, "y": 40 }, "settings": {} }, { "id": "t1", "type": "core.telegram", "position": { "x": 920, "y": 40 }, "settings": {} } ], "edges": [ { "from": "c1.close", "to": "d1.close" }, { "from": "c1.high", "to": "d1.high" }, { "from": "c1.low", "to": "d1.low" }, { "from": "d1.adx", "to": "k1.in" }, { "from": "d1.plus", "to": "k2.a" }, { "from": "d1.minus", "to": "k2.b" }, { "from": "k1.out", "to": "a1.in0" }, { "from": "k2.out", "to": "a1.in1" }, { "from": "a1.out", "to": "t1.in" } ]}Inputs and outputs
Section titled “Inputs and outputs”Only matching types connect: number series to number series (round pin), signal to signal (square), message to message (diamond).
| Direction | Pin | Type | Note |
|---|---|---|---|
| Input | Price | Number series | required |
| Input | High | Number series | required |
| Input | Low | Number series | required |
| Output | ADX | Number series | – |
| Output | +DI | Number series | – |
| Output | −DI | Number series | – |
Good to know
Section titled “Good to know”- In messages the values are called “ADX 14”, “+DI 14”, “−DI 14”.
- Warm-up with the default settings: 281 candles (this many extra candles are loaded by the replay before the value is reliable).
- Search also finds it under: trend strength, adx, dmi, directional movement, sideways, di.
Technical details
Section titled “Technical details”Directional movement from the changes in high and low, +DI and −DI as its RMA divided by the RMA of the true range times 100, ADX as the RMA of the gap between both DI divided by their sum, times 100; the same formula as ta.dmi in TradingView.
- Type in the chain:
core.adx· Version 1.0.0 · Category keyind - Settings in the chain:
length(DI candles),smoothing(ADX smoothing) - Pins in the chain: Input
close,high,low· Outputadx,plus,minus - Reference tests in the manifest: 1 (with fixed price data: 500 candles of 1h)
- How a node is built
Version 2026.10.21.23 · Changelog