Explosive trend detector
Marks rare bars where at least four of six momentum, volume and range checks pass together; on SPY it almost never fires.
Six yes-or-no checks run on each one-minute bar: the price change over roc_window bars is above 0.3% and rising; its average rise over acceleration_window bars is above 0.1 points a bar; volume is over 1.5 times its recent average; ATR is over 0.8% of price; the previous close sits more than 0.1% under the EMA; the close is in the top 30% of the last 20 bars. A marker is drawn only when four or more pass. The EMA check is named like a slope but is a gap test, so it passes on pullbacks, not rising trends.
How to read it
- Markers sit on the candles only, with no line or pane. Each one marks a bar where at least four of the six checks passed.
- The marker value is the share that passed: 0.67 is four, 0.83 is five, 1.0 is all six. The one marker in the sampled SPY month at defaults read 0.67.
- Markers are rare. An empty chart is the normal state on SPY at defaults, not a sign the indicator is broken.
- A marker means momentum, volume and range are lining up near the top of a 20-bar range. It does not mean the move will continue.
What it outputs
- Explosive marker
- Drawn on the candles where at least four of the six checks pass. The value is the share that passed: 0.67, 0.83 or 1.0.
When it fires
On a bar where at least four of the six checks pass together. The moment is a burst of rising momentum with heavier volume, near the top of the 20-bar range. The value shows how many checks passed.
Settings
- roc_window
- Bars over which the price change is measured for the momentum check, which needs more than 0.3% and rising. Longer makes 0.3% easier to reach. At 3 bars it was met on under 0.1% of sampled SPY bars, so this is the main lever.
- acceleration_window
- Bars over which the momentum reading's average rise is measured, which must exceed 0.1 points a bar. A shorter window needs less total rise, so lowering it adds markers; raising it makes this check stricter.
- volume_window
- Bars in the average volume that the current bar is compared with; it must exceed 1.5 times that average. A longer average is steadier, while a short one lets a spike lift its own baseline. Raising it to 30 added no markers in the sampled month.
- atr_window
- Bars in the smoothed true-range average behind the volatility check, which needs ATR above 0.8% of price. SPY one-minute ATR peaked at 0.1% of price in the sampled month, so setting this to 5 added no markers there.
- ema_window
- Length of the average behind the EMA check, which passes when the previous close is more than 0.1% under it. Shorter added markers in the sampled month: 5 bars gave 5 against 1 at 20 bars. Longer, at 60 bars, added none.
Pitfalls
- The EMA check is named as a slope but is not one. It passes when the previous close sits more than 0.1% under the EMA, which a steady rise rarely produces.
- The 0.8% ATR check never passed on SPY in the sample, as ATR peaked at 0.1% of price, so a marker needs four of the other five. It suits symbols that move far more.
- Even the looser presets gave only four or five markers in the sampled SPY month. The 0.3%, 1.5x, 0.8% and 0.1% thresholds and the 20-bar range are fixed in the code, not parameters. Treat quiet charts as normal here.