in_range is true when the indicator is between min and max
(inclusive on both ends). Use it instead of two separate
comparison rules.
Shape
{ "type": "in_range", "indicator": "rsi", "min": 40, "max": 60 }Params
indicator- column to read.min- lower bound. Optional; missing means no lower bound.max- upper bound. Optional; missing means no upper bound.
Usage
- Sweet-spot filters: only trade when ADX is between 20 and 35 (trending but not too volatile).
- Stochastic neutral zone: skip mean reversion when %K is between 40 and 60.
- Price band:
close in [support, resistance]as a chop filter.
Pitfalls
If both min and max are missing the condition is always true and
contributes nothing - the strategy validator should catch this but
double-check empty ranges in JSON edits.
