Complete Suite: all 12 tools. 6 Premium desks inside.All 12 tools $606.98 one by one

$606.98 one by one $97 once Save $509.98Get the SuiteGet it
ProEA Lab · MT5, TradingView and trading research · Evidence standards
Order Flow

Best SMT Divergence Indicators on TradingView (2026), Code-Read.

We read the code of the 12 most-boosted open-source SMT divergence scripts on TradingView: which pair each compares, how it finds the swings and matches them in time, whether it flips an inverse pair like DXY, and when it decides.

PL · 10 min read
Explainer cover titled Best SMT divergence indicators, code-read: a table of six open-source TradingView scripts with ticks and crosses for three checks: whether the script finds swings on both markets, whether it flips an inverse pair, and whether it decides on a closed candle.
Links to TradingView in this article are partner links: if you open a new TradingView account through one and buy a plan, TradingView may pay ProEA a commission, at no cost to you.

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.

Divergence or not? Compare the same swing.One market makes a lower low and the other doesn't: a divergence
134.00135.00136.0012:0014:0016:0018:0020:0022:00Swing lowHigher low133.46SIM A · 15m · simulatedO 133.59 H 133.59 L 133.46 C 133.46SMT divergence · this page's rule · SIM B's new low was takenA bullish SMT divergence230.00232.50235.00237.5012:0014:0016:0018:0020:0022:00Swing lowLower low227.94SIM B · 15m · simulatedO 228.29 H 228.30 L 227.94 C 227.94Moves with SIM A · 15m returns correlate 0.89The rule, on closed candlesSIM A swing low3 candles each sideSIM B swing low3 candles each sideSame swing≤ 2 candles apartOne lower low onlythe other holdsSMT divergence

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
  1. Two simulated markets on 15-minute candles, SIM A and SIM B, move together: their 15-minute returns correlate at 0.89.
  2. 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.
  3. At 17:30 SIM A prints a higher low: 134.21 against 133.77 at the pair before.
  4. At 17:30 SIM B prints a lower low: 230.89 against 233.79 at the pair before.
  5. 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.

ScriptBoostsThe pairThe swings, and how they're matchedInverse pairDecides onAlertsLicence
SMT Divergences (LuxAlgo)10,884Yours: two slots, ES and YM futures by default3-candle pivots on both markets; only pivots that print on the same candle are comparedNo settingThe live bar, 3 candles after the swingNoneCC BY-NC-SA 4.0
SMT Divergence ICT 01 (TradingFinder)5,171Yours: one symbol, XAUUSD by default2-candle pivots on your chart only; the second market is read on those candles; pivots under 30 candles apartNo settingThe live bar, 2 candles after the swingNoneMPL 2.0
SMT Divergence ICT 02 (TradingFinder)3,359Yours: one symbol, none set by default3-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'sNo settingClosed candlesYesMPL 2.0
Hidden SMT Divergence ICT 01 (TradingFinder)2,203Yours: one symbol, XAUUSD by defaultAs SMT 01, on closes instead of highs and lowsNo settingThe live bar, 2 candles after the swingNoneMPL 2.0
SMT Sniper Entry Engine (tradewsamet)2,072Picked from your chart (gold with silver, NQ with the S&P 500, EURUSD with GBPUSD, BTC with ETH and more), or yoursNo 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 filtersNo: it needs a positive correlation of at least 0.55 over 50 candles, fixed to "Positive"Closed candles, on the candle itselfYesNone
SMT (DXY) DIVERGENCES (Algoryze)2,030DXY by default, and GBPUSD (off); both yours to changePivots on your chart only, 8 to 14 candles a side by timeframe; the second market is read on those candlesYes: 1 ÷ price, on for DXY by defaultThe live bar, 8 to 14 candles after the swingNoneNone
SMT Scalping PRO (NQ vs ES) (GatisA)1,636Yours: one symbol, ES futures by default3-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 candleNo settingAs a candle opens, 3 candles after the swingYesNone
SMT Pair (Nephew_Sam_)1,573Picked 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 editablePivots on your chart only, 7 candles left and 1 right; the second market is read on those candles1 ÷ price, on for DXYThe live bar, 1 candle after the swingNoneMPL 2.0
SMT Divergences (OutOfOptions)1,406NQ and ES (micros too) paired automatically, or yours; left blank on any other chart, it stops with an error1-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 pivotNo settingClosed candles, 1 candle after the swingYes, when one forms and when one breaksNone
SMT Divergence (TakingProphets)1,268Yours: one symbol, ES1! by defaultTwo 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 candlesNo settingThe live bar; pivots 3 to 8 candles after the swingCandle mode onlyMPL 2.0
SMT SwiftEdge Powerhouse (SwiftEdge)1,104Two symbols you set, NQ and ES futures by default, whatever your chartNo 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 settingThe live barNoneNone
1 Candle SMT Divergence (Nephew_Sam_)1,092Runs only on its 10 listed charts, each against one or two set symbols (EURUSD against GBPUSD and DXY); editableNo pivots: each candle's high and low against the last candle's, on your chart and in a 1-hour to weekly tableNo: DXY gets the same test as GBPUSD, unflippedThe live barNoneNone
IFVG Desk (ours)—Yours: one symbol, ES futures by defaultA 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'tYes: Inverse compares the other sideClosed candlesIts entry alert reports the checkMIT, 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.

An inverse pair: flip the second chart.SIM X moves against SIM A: compare its highs with SIM A's lows
156.00157.00158.0012:0014:0016:0018:0020:00Swing lowLower low156.35SIM A · 15m · simulatedO 156.50 H 156.52 L 156.21 C 156.35SMT divergence · this page's rule · SIM A's new low was taken62.4062.5062.7062.8012:0014:0016:0018:0020:00Swing highLower high62.59SIM X · 15m · simulatedO 62.56 H 62.60 L 62.56 C 62.59Moves against SIM A · 15m returns correlate −0.89Inverse: compare its highs with these lows

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
  1. Two simulated markets on 15-minute candles, SIM A and SIM X, move against each other: their 15-minute returns correlate at −0.89.
  2. 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.
  3. At 15:15 SIM A prints a lower low: 155.96 against 156.27 at the pair before.
  4. At 15:30 SIM X prints a lower high: 62.60 against 62.79 at the pair before.
  5. 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.
  6. At 17:00 SIM A trades below its new low of 155.96 again.
  7. 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. Without 1 / 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, known n candles 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.isconfirmed before 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
See what's inside →

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.

Continue reading

Order Block Trading Strategy: Stop Trading Ungraded Zones.

Build an order-block trading rule from a defined zone, entry, invalidation and target. Five measurable descriptors can organize the test, but a grade does not establish an edge. Includes our composite score's null result and an indicator audit.

Jul 10 · ProEA Lab

A dark chart wall of faint identical order-block rectangles with one emerald zone lit under a spotlight, surrounded by measurement callipers and a jeweler's loupe — poster titled Stop Trading Ungraded Zones.

Best BOS and CHoCH Indicators on TradingView (2026), Code-Read.

We read the code of the most-boosted BOS and CHoCH scripts on TradingView: what each calls a swing, whether a wick can break it, which show inducement (IDM), and whether any waits for the candle to close.

Oct 31 · ProEA Lab

Explainer cover titled Best BOS and CHoCH indicators, code-read: a table of six open-source TradingView scripts with ticks, crosses and halves for three checks: whether a close is needed to break structure, whether the script shows inducement, and whether it decides on a closed candle.

Best Breaker Block Indicators on TradingView (2026), Code-Read.

We read the code of the 14 most-boosted open-source breaker block scripts on TradingView: what turns an order block into a breaker, body or wick, what ends it, whether it tells a breaker from a mitigation block, and which decide on a closed candle.

Oct 31 · ProEA Lab

Explainer cover titled Best breaker block indicators, code-read: a table of six open-source TradingView scripts with ticks and crosses for three checks: whether the script waits for a structure break, whether it rules out boxing a mitigation block, and whether it decides on a closed candle.