For the complete documentation index, see llms.txt. This page is also available as Markdown.

ADX and DI reference

Shared reading rules — index notation, the L/S/N codes, crossings and Reverse — are on Signal passports. Main backtest settings and the card schema are on Settings and card schema. The behaviour contract is Rules for AI assistants.

Knowledge package 0.6.1, checked 22 September 2026, build 03613bfa. Use the shared role, Reverse and timing rules. DI+ and DI− measure positive/negative directional movement using highs, lows and true range. ADX measures their trend-strength relationship. An ADX level is not a direction by itself.

DI entry — adx-di.entry

ADX_DI has period p, threshold th and condition ec. Defaults are 14, 20 and HTH_CD. Confirmed bounds: integer p 2…30 and integer th 1…100.

First determine the gate: CD needs no ADX threshold; HTH_CD requires ADX0>=th; LTH_CD requires ADX0<=th. Both gated variants include equality.

With the gate satisfied, DI+ crossing DI− upward gives L; crossing downward gives S; otherwise N. These crossings use previous strict/current inclusive comparisons. ADX crossing its threshold without a DI crossing does not create this entry event.

ADX filter — adx.filter

ADX_PRICE_LIMIT is a separate direction-neutral filter with p, numeric th and ec. Defaults are p=14, th=50 and HTH. Confirmed bounds: integer p 2…30 and numeric th 1…100. Reverse is not offered.

HTH gives AA only when ADX0>th; LTH gives AA only when ADX0<th; otherwise N. Equality blocks both filter variants. Do not copy the inclusive threshold from the DI entry gate into this filter.

DI exit — adx-di.exit

Use the gated DI crossing with the shared cba rules. ED/EDOP requires the opposite directional crossing after Reverse; AVG requires the own-side crossing. An ADX-only state filter is not equivalent.

Definition coverage and observed controls

The controls below identify this dated schema. Their exact labels, value types and context overrides are in the catalogue. Any omitted standard selector must not be added manually.

  • adx-di.entry — MAIN / ADX_DI. Semantics: DI entry — adx-di.entry. Fields: ss, Is, ct, at, rs, p, th, ec. timeframe: ID-specific list; default 1m; candles: DEFAULT/HEIKEN_ASHI; default DEFAULT; calculation: CL/CR; default CL; Reverse: available; default false.

  • adx-di.exit — CLOSE_BY / ADX_DI. Semantics: DI exit — adx-di.exit. Fields: ss, Is, ct, at, rs, cba, p, th, ec. timeframe: ID-specific list; default 1m; candles: DEFAULT/HEIKEN_ASHI; default DEFAULT; calculation: CL/CR; default CL; Reverse: available; default false.

  • adx.filter — PRICE_LIMIT / ADX_PRICE_LIMIT. Semantics: ADX filter — adx.filter. Fields: ss, Is, ct, at, pla, p, th, ec. timeframe: ID-specific list; default 1m; candles: DEFAULT/HEIKEN_ASHI; default DEFAULT; calculation: CL/CR; default CR; Reverse: no selector.

Exact machine reference

Read common settings and card schema first. The following blocks are complete family excerpts, not standalone replacement files. Apply only the selected context overrides and check availability. Use the complete downloaded files for the validator.

Catalogue definitions and overrides

Condition constraints and dependencies