crossover fires on the single bar where the cross happens.
The next bar, the condition is false even if the lines are still on
opposite sides.
Shape
{ "type": "crossover", "indicator1": "ema_fast", "indicator2": "ema_slow", "direction": "above" }Params
indicator1- column that crosses.indicator2- column being crossed.direction-above(indicator1 crosses above indicator2) orbelow.
When to use vs comparison
- crossover = "the moment of the cross." Fires once.
- comparison = "currently on this side." Fires continuously until the side flips.
Crossover is the right primitive for entries; comparison is the right primitive for filters.
Pitfalls
- Whipsaws in chop: two EMAs near each other can cross many times in a few hours. Pair with a regime filter (ADX) or distance check (price_distance).
- On-tick crossover is not supported for indicator-vs-indicator in a meaningful way - indicator values don't change inside a bar.
