Short answer: the popular open-source SMT divergence scripts agree on the idea, one market makes a new high or low and its partner doesn't, and disagree on almost everything else: which highs and lows count, how close in time they must be, what to do with an inverse pair, and when to decide. The most boosted, SMT Divergences by LuxAlgo, finds 3-candle swings on both markets and pairs only swings on the same candle, but marks on the live bar with no alerts. For swings on both markets, paired within 2 candles, decided on a closed candle, with alerts, SMT Divergence ICT 02 by TradingFinder is the closest in our read. For DXY, SMT (DXY) DIVERGENCES by Algoryze is the one that flips the dollar index correctly.
Most lists name SMT indicators.
This one reads them.
What we checked
SMT divergence is two markets that usually move together disagreeing at the same swing: one makes a lower low and the other doesn't (bullish), or one makes a higher high and the other doesn't (bearish). The guides quoted there name pairs such as ES and NQ futures, EURUSD and GBPUSD, and gold and silver, plus inverse pairs such as a dollar index (DXY) against EURUSD. None of them, as we checked them on 4 October 2026, says how close in time the two swings must be, so each script has to choose.
We searched TradingView's scripts for four terms on 31 October 2026 ("smt divergence", "smt", "ict smt" and "smart money technique"), which returned 84 scripts with SMT or smart money technique in the name: 45 open source, 33 protected and 6 invite-only. We took the 12 most-boosted open-source scripts built to find SMT divergence and read every line that decides when one is drawn. Four questions:
- The pair: which symbols does it compare, and are they fixed or yours to choose?
- The swings: how does it find the highs and lows (pivots of what length, or candle by candle), and does it match the two markets' swings in time?
- An inverse pair: does it flip DXY before comparing it with a dollar pair?
- When it decides: how many candles after the swing, and on a closed candle or the live one?
The replay below, from our SMT divergence explainer, reads one simulated pair close by close with that page's rule: swings confirmed 3 candles on each side, on both markets, at most 2 candles apart. Its tabs show the three cases the scripts below treat differently: one new low, two new lows, and two swings too far apart to be the same swing.
Simulated 15-minute candles, not market data. Two markets built from one shared random driver plus their own noise. Swings are confirmed by 3 candles on each side; the two swings of a pair must be within 2 candles.
Read as text
- Two simulated markets on 15-minute candles, SIM A and SIM B, move together: their 15-minute returns correlate at 0.89.
- At 14:15 SIM A prints a swing low at 133.77; SIM B prints a swing low at 233.79 on the same candle. That pair is the one to beat.
- At 17:30 SIM A prints a higher low: 134.21 against 133.77 at the pair before.
- At 17:30 SIM B prints a lower low: 230.89 against 233.79 at the pair before.
- The two swings are on the same candle, within the 2 the rule allows. At the 18:30 close, 3 candles after the later one, the rule reads one lower low and one higher low: a bullish SMT divergence.
How this window was chosen: The first bullish SMT divergence after the first film's, under the same visibility rule.
The table
Boosts as TradingView's search showed them on 31 October 2026.
| Script | Boosts | The pair | The swings, and how they're matched | Inverse pair | Decides on | Alerts | Licence |
|---|---|---|---|---|---|---|---|
| SMT Divergences (LuxAlgo) | 10,884 | Yours: two slots, ES and YM futures by default | 3-candle pivots on both markets; only pivots that print on the same candle are compared | No setting | The live bar, 3 candles after the swing | None | CC BY-NC-SA 4.0 |
| SMT Divergence ICT 01 (TradingFinder) | 5,171 | Yours: one symbol, XAUUSD by default | 2-candle pivots on your chart only; the second market is read on those candles; pivots under 30 candles apart | No setting | The live bar, 2 candles after the swing | None | MPL 2.0 |
| SMT Divergence ICT 02 (TradingFinder) | 3,359 | Yours: one symbol, none set by default | 3-candle pivots on both, paired when within 2 candles; then a candle, up to 32 after the swing, that takes one market's paired pivot and not the other's | No setting | Closed candles | Yes | MPL 2.0 |
| Hidden SMT Divergence ICT 01 (TradingFinder) | 2,203 | Yours: one symbol, XAUUSD by default | As SMT 01, on closes instead of highs and lows | No setting | The live bar, 2 candles after the swing | None | MPL 2.0 |
| SMT Sniper Entry Engine (tradewsamet) | 2,072 | Picked from your chart (gold with silver, NQ with the S&P 500, EURUSD with GBPUSD, BTC with ETH and more), or yours | No pivots: a candle takes the lowest low (or highest high) of the 12 before it on one market and not the other, and closes back; ATR, correlation and range filters | No: it needs a positive correlation of at least 0.55 over 50 candles, fixed to "Positive" | Closed candles, on the candle itself | Yes | None |
| SMT (DXY) DIVERGENCES (Algoryze) | 2,030 | DXY by default, and GBPUSD (off); both yours to change | Pivots on your chart only, 8 to 14 candles a side by timeframe; the second market is read on those candles | Yes: 1 ÷ price, on for DXY by default | The live bar, 8 to 14 candles after the swing | None | None |
| SMT Scalping PRO (NQ vs ES) (GatisA) | 1,636 | Yours: one symbol, ES futures by default | 3-candle pivots of the opens on both; a new chart pivot beyond its last counts unless the comparison prints one beyond its own on that same candle | No setting | As a candle opens, 3 candles after the swing | Yes | None |
| SMT Pair (Nephew_Sam_) | 1,573 | Picked from a 10-pair list (EURUSD with DXY, GBPUSD with EURUSD, XAUUSD with XAGUSD, NAS100 with SPX500 and more), DXY for any other chart; all editable | Pivots on your chart only, 7 candles left and 1 right; the second market is read on those candles | 1 ÷ price, on for DXY | The live bar, 1 candle after the swing | None | MPL 2.0 |
| SMT Divergences (OutOfOptions) | 1,406 | NQ and ES (micros too) paired automatically, or yours; left blank on any other chart, it stops with an error | 1-candle pivots on both; one market's new pivot takes its earlier ones while the other, on that candle, stays short of its own price at the swept pivot | No setting | Closed candles, 1 candle after the swing | Yes, when one forms and when one breaks | None |
| SMT Divergence (TakingProphets) | 1,268 | Yours: one symbol, ES1! by default | Two modes, both on: candle by candle (a high above the last candle's that the comparison doesn't match), and LuxAlgo's same-candle pivots at 3, 5 and 8 candles | No setting | The live bar; pivots 3 to 8 candles after the swing | Candle mode only | MPL 2.0 |
| SMT SwiftEdge Powerhouse (SwiftEdge) | 1,104 | Two symbols you set, NQ and ES futures by default, whatever your chart | No pivots: for a bearish one, NQ's candle beats the last one's high, ES's high is lower than its last, and NQ closes no higher; only 08:00–11:00 and 13:00–16:00 on the chart's exchange clock (its inputs say UTC; on a CME chart that's Chicago time) | No setting | The live bar | None | None |
| 1 Candle SMT Divergence (Nephew_Sam_) | 1,092 | Runs only on its 10 listed charts, each against one or two set symbols (EURUSD against GBPUSD and DXY); editable | No pivots: each candle's high and low against the last candle's, on your chart and in a 1-hour to weekly table | No: DXY gets the same test as GBPUSD, unflipped | The live bar | None | None |
| IFVG Desk (ours) | — | Yours: one symbol, ES futures by default | A gate on its own IFVG entries, off by default, not a drawing: the candle before the entry makes a new low (or high) against the 10 before it, and the comparison's candle with the same open time doesn't | Yes: Inverse compares the other side | Closed candles | Its entry alert reports the check | MIT, in Pine Pro Library |
Eight more have closed code, so they aren't in the table: SMT Divergence by TFO (6,656 boosts), ICT SMT by fadi (5,161), SMT Divergences V2 by OutOfOptions (5,042), SMT by joshuuu (3,278), SMT Divergence 2 by Nephew_Sam_ (2,319), SMT (ICT Concepts) by unlimitedmoneyprinter (2,208), Milana Trades' SMT Divergence PSP&PCP (1,395) and TakingProphets' SMT Pro+ (1,283) are protected, free to add with the code hidden. Four open scripts with similar boosts aren't SMT divergence tools: TradingFinder's Twitter Model (1,839) draws SMT with the SMT 01 engine, on 4-candle pivots, as one step of a larger model; [SMT] Buy & Sell Renko Based (2,132), where SMT is the author's name, and veegee82's Order-Block Detector ICT/SMT (1,750) read no second market; and SMT-Fill by buckotrades (1,086) compares how NQ, ES and YM fill fair value gaps, not their swings.
What the code says
LuxAlgo's is the popular one, and it pairs swings strictly. It finds 3-candle pivots on your chart and on each comparison market, and compares two pivots only when both print on the same candle; a new chart high (or low) with no partner pivot on that candle resets the comparison. A divergence is one pivot higher and the other lower than the pair before, so equal highs don't count. It has no inverse setting, so DXY in one of its slots would be read as a market that moves with yours. It marks on the live bar 3 candles after the swing, has no alerts, and is shared under CC BY-NC-SA 4.0. TakingProphets' pivot mode is the same pairing, run at three lengths at once.
TradingFinder's SMT 02 is the closest to the guides' two-swing rule, with its own twist. It finds 3-candle pivots on both markets and pairs them when they're within 2 candles of each other (its "Pivot Sync Threshold"). Then it waits, on closed candles, for a candle up to 32 candles after the swing that takes one market's paired pivot and not the other's. That reads the sweep on one chart as it happens, rather than waiting for the next swing on both. Its alerts go through TradingFinder's alert library, and you pick the second symbol yourself: none is set by default.
TradingFinder's SMT 01 and Hidden SMT find swings on your chart only. Each takes 2-candle pivots on your chart and reads the second market's high or low (its close, in the Hidden version) on those same candles, whether or not the second market made a swing there. Both mark on the live bar and have no alerts.
The Sniper waits for the close and skips pivots. It compares each candle with the 12 before it on both markets, so it can call an SMT on the candle that makes it, with no confirmation lag. It then filters hard: the market that took its level must close back, the sweep must be deep enough in ATR, the candle must point the right way, and the two markets' 50-candle correlation must be at least 0.55 in its default Sniper preset. That correlation is fixed to "Positive", so a pair that moves against your chart, like DXY against EURUSD, can't pass. After an SMT it waits up to 8 candles for a displacement candle and a fair value gap or a structure break before an UP or DOWN signal, and draws a stop 2 ATR away and a 2R target for each; those are drawings, not a test.
OutOfOptions' reads sweeps of earlier pivots. It finds 1-candle pivots on your chart and its partner (ES for an NQ chart, NQ for ES, or the symbol you set) and counts an SMT when one market's new pivot takes out its earlier ones while the other market, on that candle, stays short of its own price at the time of the swept pivot. By default the pivot candle must also point the SMT's way on both markets. It decides on closed candles, alerts when an SMT forms and when price breaks it, and carries a copyright line but no licence.
Inverse pairs: two flip, one doesn't. A dollar index moves against EURUSD, so EURUSD's lower low lines up with DXY's higher high. Algoryze's turns DXY into 1 ÷ price and, at your highs, reads its lows, flipped: the flip done right. Nephew_Sam_'s SMT Pair also uses 1 ÷ price, but at your low it reads the dollar index's low, flipped, where an inverse pair calls for its high. Nephew_Sam_'s 1 Candle SMT compares DXY unflipped with the same test as GBPUSD, so the ordinary inverse move, EURUSD up and DXY down, counts as a divergence. The other nine have no inverse setting.
Simulated 15-minute candles, not market data. Two markets built from one shared random driver plus their own noise. Swings are confirmed by 3 candles on each side; the two swings of a pair must be within 2 candles. SIM X takes the shared driver with the opposite sign, as a dollar index moves against a dollar pair.
Read as text
- Two simulated markets on 15-minute candles, SIM A and SIM X, move against each other: their 15-minute returns correlate at −0.89.
- At 13:00 SIM A prints a swing low at 156.27; SIM X prints a swing high at 62.79 on the same candle. That pair is the one to beat.
- At 15:15 SIM A prints a lower low: 155.96 against 156.27 at the pair before.
- At 15:30 SIM X prints a lower high: 62.60 against 62.79 at the pair before.
- The two swings are 1 candle apart, within the 2 the rule allows. At the 16:30 close, 3 candles after the later one, the rule reads a lower low on SIM A without a higher high on SIM X: an SMT divergence, bullish for SIM A.
- At 17:00 SIM A trades below its new low of 155.96 again.
- As it trades, SIM X rises when SIM A falls, so SIM A's swing lows line up with SIM X's swing highs. The divergence is a lower low on SIM A without a higher high on SIM X.
How this window was chosen: The first SMT divergence, either way, between SIM A and the inverse market SIM X (read flipped), under the first film's visibility rule.
Which market has to make the new extreme differs. LuxAlgo's, all three TradingFinder scripts, the Sniper, Algoryze's, OutOfOptions' and 1 Candle SMT count either market making it. Nephew_Sam_'s SMT Pair, GatisA's and TakingProphets' candle mode count only a new extreme on your chart, and SwiftEdge's only on NQ, its first symbol.
The wait is the pivot length. A pivot is known only when the candles on its right have closed: 1 candle for SMT Pair and OutOfOptions, 3 for LuxAlgo's and GatisA's, and 14 on Algoryze's 15-minute chart, three and a half hours. Most of these scripts check on the live bar, so a pivot, and the SMT it makes, can appear while the right-hand candle is still trading and vanish if that candle trades beyond the swing. TradingFinder's SMT 02, the Sniper and OutOfOptions decide on closed candles; GatisA's reads only opens, which don't change once a candle starts.
Two details the charts don't show. None of the twelve checks that the second market's candle has your chart candle's time: each requests it without gaps (TradingView's default, which the Sniper also sets), so when the second market has no candle, its last one repeats and is compared as if it traded. And SwiftEdge's OTE zones, which its entry boxes use, come from 5- and 15-minute pivots requested with lookahead on, so on the history of a faster chart a pivot can appear before the candle that confirms it has closed. Its SMT itself reads NQ and ES at your chart's timeframe, where lookahead reads nothing ahead.
Ours
None of our tools draws an SMT divergence. IFVG Desk has one as a gate: turn on "Require synchronized SMT" and an IFVG entry needs the candle before it to make a new low (or high) against the 10 before that, while the comparison market's candle with the same open time doesn't. It compares with ES futures (CME_MINI:ES1!) by default, its Inverse setting compares the comparison's other side, and a missing or out-of-step candle on the second market fails the check rather than passing it. Everything is decided on closed candles; its panel lists the check as "SMT vs ES1!", and its entry alert reports whether it passed. It reads single candles, not two confirmed swings, so it doesn't do what the swing columns above check. Its full Pine v6 source comes in Pine Pro Library, $49 once.
Sweep Desk, in the same library, has the same idea before a sweep plan: "Require paired-market SMT", BTCUSDT by default, a window of 10 aligned closed candles, an inverse switch, and a check that stays valid for 6 candles. Both checks are off by default.
We haven't tested SMT divergence as a standalone rule, and we won't quote anyone's win rate for it. How we read it, with a written rule and four replays: SMT divergence, explained. The IFVG scripts IFVG Desk competes with: best IFVG indicators, code-read.
Check one yourself
- The pair: find
input.symbol; its default is the market it compares with. Without1 /on the second market's prices, or an inverse switch, don't use it on DXY against a dollar pair. - The swings:
ta.pivothigh(n, n)on both markets means swings on both, knownncandles late; on your chart only, the second market is read on your swing's candle, swing or not. - The time: look for what pairs the two swings: the same candle, a window such as TradingFinder's threshold, or nothing at all.
- The close: look for
barstate.isconfirmedbefore the label and the alert. Without it, a divergence you see live may not be there when the candle closes. - The gap: look for
gaps = barmerge.gaps_on, or a check on the second market's candle time. Without one, a market that's closed repeats its last candle.
By hand: a two-chart layout on the same timeframe, both markets' swings marked, each compared with its own last swing. None of the scripts here, ours included, runs on MT5 or MT4: Pine Script runs only on TradingView.
The deep version, as a PDF
The Smart Money Concepts Rule Book
ICT and SMC as exact rules on closed candles, every concept set against the ones it's confused with, and what our data says about each.
- 26 SMC and ICT terms, each one closed-candle rule: BOS, CHoCH, MSS, order blocks, breakers, fair value gaps, sweeps, OTE, killzones, SMT and more
- The comparisons traders search for, side by side: BOS vs CHoCH vs MSS, breaker vs mitigation vs order block, sweep vs grab vs breakout, FVG vs imbalance vs IFVG
- Every measurement we've published on these concepts, with its sample, period and costs, and why the book prints no win rate
One payment, instant download. Refund within 7 days if you haven't downloaded it.
Limits
One code read, on 31 October 2026, of the versions TradingView served that day. Scripts change, and boosts measure popularity, not quality. We build and sell IFVG Desk and Sweep Desk, and we have no relationship with any author named here. Nothing here is financial advice.
Use these animations on your site.
Frequently asked questions
What is the best SMT divergence indicator on TradingView?
It depends on the pair and the rule you want. The most boosted, SMT Divergences by LuxAlgo (10,884 boosts), finds 3-candle swings on both markets and compares only swings that print on the same candle, but marks them on the live bar, has no alerts and no inverse setting. For swings on both markets, paired within 2 candles, decided on a closed candle and with alerts, SMT Divergence ICT 02 by TradingFinder (3,359 boosts) is the closest in our read. For DXY against a dollar pair, SMT (DXY) DIVERGENCES by Algoryze (2,030 boosts) flips the dollar index and compares its lows with your highs.
Is there a free SMT divergence indicator for TradingView?
Yes. All 12 scripts in our table are open source and free to add. LuxAlgo's is shared under CC BY-NC-SA 4.0, which doesn't allow commercial use; five are under the Mozilla Public License 2.0 (both TradingFinder SMT scripts, its Hidden SMT, Nephew_Sam_'s SMT Pair and TakingProphets'); six carry no licence line.
How does an SMT divergence indicator work?
It reads a second market, chosen by you or picked from the chart's symbol, on your chart's candles (none of these checks that its candle has the same time; a missing one repeats the last), and marks the moment one market makes a new high or low and the other doesn't. The scripts differ in how they find the highs and lows: pivots on both markets, pivots on your chart only, a candle against the last one, or the last 12. Pivots are only known a few candles after the swing, and most of these scripts check on the live bar, so a mark can appear mid-candle and vanish before it closes.
How do you see SMT divergence on TradingView?
Add one of these scripts and set its comparison symbol: ES futures against NQ, GBPUSD against EURUSD, silver against gold, or DXY against a dollar pair with the script's inverse switch on, if it has one. Or put both markets in a two-chart layout on the same timeframe, mark each market's last swing, and compare each with its own previous swing.
Is there an SMT divergence indicator for MT4 or MT5?
Not among these: every script here is Pine Script, which runs only on TradingView.
Which SMT indicator does ProEA make?
None that draws SMT divergence on its own. IFVG Desk, in Pine Pro Library at $49 once with its full Pine v6 source, can require an SMT check before an IFVG entry: the candle before the entry makes a new low (or high) against the 10 before it, and the comparison market's candle at the same time doesn't. It compares with ES futures by default, has an Inverse setting, decides on closed candles, and is off by default. Sweep Desk, in the same library, has a similar check before a sweep plan.



