OPEN-SOURCE SCRIPT
更新済 Multi-Timeframe Momentum Divergence with Reliability Scoring

Multi-Timeframe Momentum Divergence with Reliability Scoring
A momentum divergence on your chart timeframe is far more reliable when the bigger picture leans the same way. This script measures momentum divergence on your chart, only counts it when enough higher timeframes point in the signal's direction, then scores — in real time — whether those gated divergences have actually been worth trading on your symbol, and which way.
What it plots
A normalised momentum oscillator with stretch bands and divergence markers, connecting pivot-to-pivot lines, and a plain-language panel that turns the statistics into a verdict. By default the chart stays minimal — the oscillator plus the verdict panel — with optional key-info and per-class tables you can switch on in settings.
Why these components are combined, and how they work together
Three classical pieces are fused into one pipeline — not stacked as independent signals:
A z-scored momentum oscillator (chart timeframe) — locates where price and momentum disagree, i.e. the divergence.
A higher-timeframe agreement gate — checks momentum direction on three configurable higher timeframes and requires a minimum number to align before a divergence is allowed to fire. This filters out the counter-trend divergences that fail inside a strong higher-timeframe move.
A binomial-proportion confidence test — asks, for each divergence class, whether the expected move followed more often than a same-zone baseline would deliver.
Part 1 finds the divergence, part 2 keeps only those backed by the higher-timeframe trend, and part 3 decides whether the survivors have actually paid on this instrument, by direction. The parts are interdependent — remove any one and the script can no longer answer its core question: "is this momentum divergence worth trading here, and which way?"
How to read it
The verdict panel translates the statistics into four states:
GREEN — edge confirmed: these gated divergences have beaten a same-spot baseline here. Worth acting on.
RED — no edge here: they've lost to a coin-flip. Skip them, require more higher-timeframe agreement, or change the timeframe set.
AMBER — unproven: edge not statistically established yet; treat as low-confidence.
GREY — learning: still collecting completed samples.
It also shows "Best signal" (the direction carrying the strongest measured edge), "Higher TFs" (how many of your three higher timeframes currently agree), "Reward : risk" (the average best vs worst move after a signal, in ATR — below 1:1 means signals hurt more than they help), and the market regime. The optional key-info and per-class tables (off by default) show the per-timeframe breakdown and the full per-direction track record.
A divergence is simply price making a higher high / lower low while the momentum line does the opposite — counted only when enough higher timeframes lean that way.
What's original
Standard multi-timeframe tools just colour-code higher-timeframe trend, and standard divergence tools just mark the divergence. This one fuses higher-timeframe agreement into the divergence filter, then keeps a self-updating, confidence-scored, per-class track record against a same-zone baseline — so you see not just that a divergence printed, but whether and how it has paid once the higher timeframes were on board, and which direction is carrying it.
Universal across markets
Reads only the chart's own price (the source is configurable in settings) plus the same symbol on three higher timeframes, so it runs on any symbol, any timeframe, in any market with no external data. Defaults target NIFTY futures; change the source, lengths or timeframes for other instruments.
Outputs for other scripts
Generic EXP_* values — oscillator, signal, probability, edge, edge lower-bound, sample count, regime and higher-timeframe confluence — are published to the Data Window so other indicators can read them via input.source().
Concept credits
Relative-strength momentum and average true range — J. W. Wilder. Binomial score confidence interval — E. B. Wilson. Trend-efficiency regime measure — P. Kaufman. Multi-timeframe confluence and divergence — classical technical analysis.
Disclaimer
For research and education only. This is not financial advice, not a recommendation to buy or sell, and not a guarantee of future results. All performance shown is in-sample and past-only. Markets carry risk — do your own research and manage your own risk.
A momentum divergence on your chart timeframe is far more reliable when the bigger picture leans the same way. This script measures momentum divergence on your chart, only counts it when enough higher timeframes point in the signal's direction, then scores — in real time — whether those gated divergences have actually been worth trading on your symbol, and which way.
What it plots
A normalised momentum oscillator with stretch bands and divergence markers, connecting pivot-to-pivot lines, and a plain-language panel that turns the statistics into a verdict. By default the chart stays minimal — the oscillator plus the verdict panel — with optional key-info and per-class tables you can switch on in settings.
Why these components are combined, and how they work together
Three classical pieces are fused into one pipeline — not stacked as independent signals:
A z-scored momentum oscillator (chart timeframe) — locates where price and momentum disagree, i.e. the divergence.
A higher-timeframe agreement gate — checks momentum direction on three configurable higher timeframes and requires a minimum number to align before a divergence is allowed to fire. This filters out the counter-trend divergences that fail inside a strong higher-timeframe move.
A binomial-proportion confidence test — asks, for each divergence class, whether the expected move followed more often than a same-zone baseline would deliver.
Part 1 finds the divergence, part 2 keeps only those backed by the higher-timeframe trend, and part 3 decides whether the survivors have actually paid on this instrument, by direction. The parts are interdependent — remove any one and the script can no longer answer its core question: "is this momentum divergence worth trading here, and which way?"
How to read it
The verdict panel translates the statistics into four states:
GREEN — edge confirmed: these gated divergences have beaten a same-spot baseline here. Worth acting on.
RED — no edge here: they've lost to a coin-flip. Skip them, require more higher-timeframe agreement, or change the timeframe set.
AMBER — unproven: edge not statistically established yet; treat as low-confidence.
GREY — learning: still collecting completed samples.
It also shows "Best signal" (the direction carrying the strongest measured edge), "Higher TFs" (how many of your three higher timeframes currently agree), "Reward : risk" (the average best vs worst move after a signal, in ATR — below 1:1 means signals hurt more than they help), and the market regime. The optional key-info and per-class tables (off by default) show the per-timeframe breakdown and the full per-direction track record.
A divergence is simply price making a higher high / lower low while the momentum line does the opposite — counted only when enough higher timeframes lean that way.
What's original
Standard multi-timeframe tools just colour-code higher-timeframe trend, and standard divergence tools just mark the divergence. This one fuses higher-timeframe agreement into the divergence filter, then keeps a self-updating, confidence-scored, per-class track record against a same-zone baseline — so you see not just that a divergence printed, but whether and how it has paid once the higher timeframes were on board, and which direction is carrying it.
Universal across markets
Reads only the chart's own price (the source is configurable in settings) plus the same symbol on three higher timeframes, so it runs on any symbol, any timeframe, in any market with no external data. Defaults target NIFTY futures; change the source, lengths or timeframes for other instruments.
Outputs for other scripts
Generic EXP_* values — oscillator, signal, probability, edge, edge lower-bound, sample count, regime and higher-timeframe confluence — are published to the Data Window so other indicators can read them via input.source().
Concept credits
Relative-strength momentum and average true range — J. W. Wilder. Binomial score confidence interval — E. B. Wilson. Trend-efficiency regime measure — P. Kaufman. Multi-timeframe confluence and divergence — classical technical analysis.
Disclaimer
For research and education only. This is not financial advice, not a recommendation to buy or sell, and not a guarantee of future results. All performance shown is in-sample and past-only. Markets carry risk — do your own research and manage your own risk.
リリースノート
v2.1 — An upgraded reliability harness plus robust normalization and a lag-minimal smoother. The RSI-momentum oscillator, the three-higher-timeframe agreement gate and the confirmed-pivot divergence detection are unchanged — set Z-score mode = "Classic (mean/stdev)" and Output smoother = "EMA" for the original normalization.1. HARNESS+ reliability scoring. The per-class track record now reports a uniqueness-weighted effective sample size (overlapping forward windows aren't independent), an in-sample / out-of-sample split (the OOS edge is the one to trust — exported as EXP_EdgeOOS, shown on a new "Out-of-sample" panel row), and a multiple-testing deflated significance bar across the four divergence classes. This is a more honest replacement for the single in-sample edge floor.
2. Robust MAD normalization + UltimateSmoother (default on). Momentum z-scored with a median/MAD statistic instead of mean/stdev so outlier bars don't distort the σ bands, and smoothed with Ehlers' lag-minimal UltimateSmoother. Reversible via "Z-score mode" / "Output smoother".
3. 3-window extreme consensus (opt-in, default off). z as the MEDIAN of the z at half, one and double the window — extreme only when short/medium/long agree.
What is unchanged. The RSI-momentum oscillator, the three configurable higher-timeframe direction checks and the minimum-agreement gate, the confirmed-pivot 2-/3-pivot regular + hidden divergence detection, and the zone-conditional baseline construction are the published logic. Only the scoring harness is upgraded and the normalization made robust; the divergence signals themselves fire exactly as before.
Still context, not a standalone trigger. Non-repaint: fixed-lag pivots; the harness logs and resolves on confirmed bars; higher-timeframe requests use lookahead off. Concept credits unchanged (Wilder RSI/ATR; Wilson; Kaufman efficiency ratio; López de Prado uniqueness / OOS / deflation; Ehlers UltimateSmoother).
リリースノート
v2.2 — R1 honest-stats standardization. The reliability scoring is now backed by the published calibration libraries instead of local copies: robust-z via ml_robuststats/2, and the Wilson confidence half-width + hit-rate via ml_calib/2. Every one of those is byte-identical to the formula the script already used, so the momentum oscillator, the higher-timeframe agreement gate, all four divergence classes and the entire HARNESS+ track record (uniqueness weighting, in-sample/out-of-sample split, deflated significance) are unchanged. A new optional time-of-day significance gate (group 05, default OFF) can restrict divergences to statistically live intraday slots via ml_session/2. Imports are pinned to the exact published v2 versions. Same calibration engine now shared across the whole divergence family.オープンソーススクリプト
TradingViewの精神に則り、このスクリプトの作者はコードをオープンソースとして公開してくれました。トレーダーが内容を確認・検証できるようにという配慮です。作者に拍手を送りましょう!無料で利用できますが、コードの再公開はハウスルールに従う必要があります。
免責事項
これらの情報および投稿は、TradingViewが提供または承認する金融、投資、取引、またはその他の種類の助言もしくは推奨であることを意図したものではなく、またこれらに該当するものでもありません。詳細は利用規約をご覧ください。
オープンソーススクリプト
TradingViewの精神に則り、このスクリプトの作者はコードをオープンソースとして公開してくれました。トレーダーが内容を確認・検証できるようにという配慮です。作者に拍手を送りましょう!無料で利用できますが、コードの再公開はハウスルールに従う必要があります。
免責事項
これらの情報および投稿は、TradingViewが提供または承認する金融、投資、取引、またはその他の種類の助言もしくは推奨であることを意図したものではなく、またこれらに該当するものでもありません。詳細は利用規約をご覧ください。