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

Impulse and price change 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 and action rules. These three product variants use different windows and predicates. None offers a Reverse control. A positive impulse threshold selects rising price movement, not a Long-only trade direction.

Current impulse — impulse.entry / impulse.exit

IMPULSE, displayed as Impulse 2.0, uses Normal one-second close samples with current evaluation. p_s selects 10, 20, …, 100 samples/nominal seconds; default 100. Over that ending window, let Lmin and Hmax be the minimum and maximum close, and C be the last close:

pump=100*(C−Lmin)/Lmin; dump=100*(C−Hmax)/Hmax.

This is the last close's distance from the window's extrema. It is not the candle high−low range and not the largest arbitrary low-to-high move that occurred and then fully reversed within the window.

Positive dp: pump>=dp gives A. Negative dp: dump<=dp gives A. Otherwise N. Equality qualifies in both directions. The accepted thresholds are a finite signed list in the constraints, not every number between its endpoints.

For MAIN, A can satisfy either selected task direction, subject to filters and task state. For CLOSE_BY, ED/EDOP uses A as a direction-neutral ending condition, while AVG requests averaging. The condition may remain true; it is not defined as a one-time transition across dp.

fm (Fast mode) is a Boolean field in the observed MAIN metadata, default false, and is absent from CLOSE_BY. It is separate from the page's global x200 option. The ordinary profile supports fm=false. The exact effect of fm=true on the current ordinary BACKTEST execution path remains unconfirmed and requires a separate mode check; do not promise speed, altered fills or equivalence for that setting.

Past impulse filter — past-impulse.filter

IMPULSE_PRICE_LIMIT, Based on past impulse, searches overlapping p_s-close windows in the last p_m*60 one-second closes. For each window it computes the endpoint pump/dump above; P is the largest pump and D the smallest dump found. p_m is 1, 2, 5, 10, 15, 20 or 25 minutes; p_s must be less than p_m*60. The dp list differs from the current-impulse list.

With bs=false, define “no qualifying impulse” as P<dp for positive dp, or D>dp for negative dp. With bs=true, dp must be positive and “no qualifying impulse” means both P<dp and D>−dp.

WNI gives AA when there was no qualifying impulse; WI gives AA when that condition is false; otherwise N. A movement exactly at the threshold counts as an impulse. Both-side mode searches either up or down movement; it does not mean two simultaneous positions. Unknown/NaN extrema return N rather than passing WI/WNI.

Price change 2.0 filter — price-change.filter

IMPULSE_PRICE_LIMIT_3, By price increase/decrease 2.0, is different from both window-extrema calculations. It offers 1m, 5m, 15m and 1h timeframes, default 1h, and uses the current close and the first open in p Normal bars:

change=100*(last_close−first_open)/first_open.

p is integer 3…150, default 12. Let T=abs(dp); the confirmed absolute threshold is an integer 1…100, default 30. The sign written in dp does not switch the selected ei variant:

  • GM: change>=T gives AA.

  • GL: change<=T gives AA.

  • DM: change<=−T gives AA.

  • DL: change>=−T gives AA.

Otherwise N. All four threshold comparisons include equality. GL also permits negative changes; DL also permits positive changes. They are signed inequalities, not tests that first require growth or decline of a particular sign. The first open must be nonzero for the formula; NaN input does not grant permission. Candle type and timing are fixed with no separate selectors.

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.

  • impulse.entry — MAIN / IMPULSE. Semantics: Current impulse — impulse.entry / impulse.exit. Fields: ss, fm, p_s, dp. timeframe: no selector; candles: no selector; calculation: no selector; Reverse: no selector.

  • impulse.exit — CLOSE_BY / IMPULSE. Semantics: Current impulse — impulse.entry / impulse.exit. Fields: ss, cba, p_s, dp. timeframe: no selector; candles: no selector; calculation: no selector; Reverse: no selector.

  • price-change.filter — PRICE_LIMIT / IMPULSE_PRICE_LIMIT_3. Semantics: Price change 2.0 filter — price-change.filter. Fields: ss, Is, pla, p, dp, ei. timeframe: ID-specific list; default 1h; candles: no selector; calculation: no selector; Reverse: no selector.

  • past-impulse.filter — PRICE_LIMIT / IMPULSE_PRICE_LIMIT. Semantics: Past impulse filter — past-impulse.filter. Fields: ss, pla, p_s, dp, p_m, ei, bs. timeframe: no selector; candles: no selector; calculation: no selector; 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