OPEN-SOURCE SCRIPT
Follow-Through Day (FTD) Detector

📈 Follow-Through Day (FTD) Detector
Marks Follow-Through Days on any chart using the classic William O'Neil / IBD methodology — a signal that a correction may be turning into a new uptrend attempt.
🔍 How it works
The script tracks rally attempts bar-by-bar. A rally begins when price is at or near a recent low (default 15-bar lookback) and closes up — that's Day 1. From there, the counter advances each bar. An FTD fires when, on day 4 or later of the attempt, the instrument closes up by at least the gain threshold (default 1.5%) on volume greater than the prior bar. If the rally's starting low is undercut before an FTD prints, the attempt resets.
🎨 On the chart
Green triangle below the bar on the FTD
Orange dot marking Day 1 of each rally attempt
Light blue background across the duration of an active attempt
Built-in alert condition
⚙️ Inputs
Minimum gain % (default 1.5 — IBD historically used 1.7%)
Earliest and latest day of the rally count (default 4 to 25)
Toggle for the higher-volume requirement
Lookback window for the recent-low check
Toggles for each visual element
✅ Pros
Faithful to the original rules, but fully parameterized
Works on any symbol and timeframe
Rally shading makes the setup visible in real time, not only after the signal fires
Clean state machine — no lookahead, no repainting
⚠️ Cons and caveats
FTDs are a probabilistic signal. Historically a meaningful share fail, and the script does not attempt to filter good vs bad ones
On cash indices like SPX, TradingView's volume is aggregated and can be noisy — disable the volume requirement or apply the indicator to SPY / ES futures
The rally-low reset uses the low of the first two bars of the attempt; a deeper correction low further back in the sell-off isn't tracked
Purely mechanical — doesn't incorporate market breadth, leadership, or distribution days, which IBD treats as essential companions
Defaults are a starting point, not a tuned edge. Backtest before trading off it
Feedback and suggestions welcome.
Marks Follow-Through Days on any chart using the classic William O'Neil / IBD methodology — a signal that a correction may be turning into a new uptrend attempt.
🔍 How it works
The script tracks rally attempts bar-by-bar. A rally begins when price is at or near a recent low (default 15-bar lookback) and closes up — that's Day 1. From there, the counter advances each bar. An FTD fires when, on day 4 or later of the attempt, the instrument closes up by at least the gain threshold (default 1.5%) on volume greater than the prior bar. If the rally's starting low is undercut before an FTD prints, the attempt resets.
🎨 On the chart
Green triangle below the bar on the FTD
Orange dot marking Day 1 of each rally attempt
Light blue background across the duration of an active attempt
Built-in alert condition
⚙️ Inputs
Minimum gain % (default 1.5 — IBD historically used 1.7%)
Earliest and latest day of the rally count (default 4 to 25)
Toggle for the higher-volume requirement
Lookback window for the recent-low check
Toggles for each visual element
✅ Pros
Faithful to the original rules, but fully parameterized
Works on any symbol and timeframe
Rally shading makes the setup visible in real time, not only after the signal fires
Clean state machine — no lookahead, no repainting
⚠️ Cons and caveats
FTDs are a probabilistic signal. Historically a meaningful share fail, and the script does not attempt to filter good vs bad ones
On cash indices like SPX, TradingView's volume is aggregated and can be noisy — disable the volume requirement or apply the indicator to SPY / ES futures
The rally-low reset uses the low of the first two bars of the attempt; a deeper correction low further back in the sell-off isn't tracked
Purely mechanical — doesn't incorporate market breadth, leadership, or distribution days, which IBD treats as essential companions
Defaults are a starting point, not a tuned edge. Backtest before trading off it
Feedback and suggestions welcome.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.
Script de código aberto
Em verdadeiro espírito do TradingView, o criador deste script o tornou de código aberto, para que os traders possam revisar e verificar sua funcionalidade. Parabéns ao autor! Embora você possa usá-lo gratuitamente, lembre-se de que a republicação do código está sujeita às nossas Regras da Casa.
Aviso legal
As informações e publicações não se destinam a ser, e não constituem, conselhos ou recomendações financeiras, de investimento, comerciais ou de outro tipo fornecidos ou endossados pela TradingView. Leia mais nos Termos de Uso.