Choppiness Index
What SteadyEdge calculates
This page documents the exact runtime calculation for the listed filter IDs. Formula symbols use O , H , L , C , and V for the current candle open, high, low, close, and volume; p is the configured lookback.
- Registry filter IDs: choppiness_index
Exact formula
TR_t = max(H_t-L_t, abs(H_t-C_(t-1)), abs(L_t-C_(t-1)))
range = max(H,p) - min(L,p)
CHOP = 100 * log10(sum(TR,p)/range) / log10(p)
Parameters, defaults, and bounds
- period : default 14 ; 2–200
How the rule passes
above requires a strict > comparison.
below requires a strict < comparison.
cross_above requires the previous value below the threshold and the current value at or above it.
cross_below requires the previous value above the threshold and the current value at or below it.
Data, timing, and warm-up
Candle filters use the rule timeframe and the latest candle at or before the evaluation time. A non-finite calculated value does not pass.
Every rule in the same filter set must pass. Test Filters and a backtest validate the complete set.
Related articles
- Filters Reference
- How Entry Filters Work
- Timeframe, Operator, Value, And Params