Ultimate SMC EA โ€” User Guide

Last updated: 2025-01-01

๐Ÿ“– Overview

Ultimate SMC v2.0 is a highly configurable framework that contains all the essential elements to create and automate SMC strategies. It is designed for traders who want to configure their own SMC strategies โ€” the vast number of parameters allows you to fit almost any approach inside.

A background in SMC-based strategies (ICT, MentFx, Casper SMC, TTrades, etc.) is a plus, as it will help you fully leverage the power of this expert advisor.


๐Ÿ”ง Installation

Follow the standard MQL5 product installation guide. If you received the EA directly from Trade't, refer to the Trade't EA installation guide instead.


โš™๏ธ A. General Settings

ParameterDescription
Magic NumberUnique identifier for this EA's orders. Each EA on the same account must have a different magic number.
Trade CommentUsed as a comment on trade orders and to identify logs in the Experts and Journal tabs.
Market Open on WeekendsIf true, the EA continues trading during weekends โ€” useful for markets open on weekends or for continuous simulation.
Show LogsEnables detailed logging of the EA's operations, helpful for debugging or performance analysis.
Draw Trading SetupIf enabled, graphical representations of trading setups are displayed on the chart for visual confirmation.
Activate EA PanelEnables an on-chart panel showing filter statuses, current open trades, and manual close controls. Displays the Magic Number, Trade Comment, structure status, block counts, news windows, floating/closed profit, and action buttons.

๐Ÿ• B. Trading Window

These settings define the time window during which the EA is allowed to open new trades (24-hour format).

ParameterDescription
Trading Start Hour (0-23)Hour when the trading window opens.
Trading Start Minute (0-59)Minute when the trading window opens.
Trading End Hour (0-23)Hour when the trading window closes.
Trading End Minute (0-59)Minute when the trading window closes.
ColorColor used to draw the trading window on the chart.
All times are based on your broker's server time, visible in the Market Watch (Ctrl+M). Use worldtimebuddy.com to convert between your local time and broker time. For best initialization, attach the EA to the chart before or after the trading window โ€” not during it.

๐Ÿ“Š C. Entry Settings

Entry Type

Entry TypeDescription
Block Breakout (Stop)Stop order on the breakout candle from a block.
Breaker (Limit)Limit order on the previous Ultimate High/Low.
Breaker in FVG (Limit)Limit order on the previous Ultimate High/Low if it is inside an FVG.
OTE (Limit)Optimal Trade Entry โ€” define the OTE Level in the next section.
OTE in FVG (Limit)OTE entry only if it is inside an FVG.
Extremity of FVG (Limit)Limit order at the edge of an FVG.
Middle of FVG (Limit)Limit order at the midpoint of an FVG.
Extremity of iFVG (Limit)Limit order at the edge of an inverted FVG.
Middle of iFVG (Limit)Limit order at the midpoint of an inverted FVG.
iFVG Confirmation Candle (Stop)Stop order on the edge of the iFVG confirmation candle.

C1. FVG Settings

ParameterDescription
FVG to considerTrade the oldest FVG, the newest FVG, or all FVGs inside a swing.
Minimum size of FVG in pointsMinimum FVG size to consider. 0 means no minimum filter.
Maximum size of FVG in pointsMaximum FVG size to consider. 0 means no maximum filter.

C2. OTE Level

ParameterDescription
OTE LevelThe retracement level for OTE entries. ICT uses 71%; other strategies use 50% or 62.8%. Calculated from the last valid trading block.

C3. Premium / Discount

ParameterDescription
Sell in Premium, Buy in DiscountActivates the Premium/Discount rule โ€” sells only in premium zones, buys only in discount zones.
Custom Premium/Discount LevelDefines the premium and discount boundary. Default is 50%.

๐Ÿ“ˆ D. Market Structure

Market Structure is powered by the Structure Blocks indicator, providing a consistent price-action-based read of the market.

ParameterDescription
Start after Block #Wait for this many consecutive breakouts before taking trades. 0 disables the structure requirement entirely. E.g. 3 = wait for three consecutive bullish breakouts before taking buys.
Stop after Block #Stop trading after this many consecutive breakouts โ€” avoids trading overextended markets. 0 disables this limit.
Activate Double BlockWhen enabled, the EA only trades in the second block of a newly established trend. The Ultimate High/Low is recalculated across both blocks to eliminate reversal noise. Ideal for trend-reversal setups.

๐Ÿ’ง E. Liquidity Sweep

Enables liquidity sweep detection. The EA tracks defined high/low levels and only trades after a sweep occurs.

ParameterDescription
Liquidity to sweepChoose the liquidity source: No Liquidity, Range Liquidity (custom range), Previous Hour, Previous Day, Previous Week, or Previous Block.
Level to invalidate sweepInvalidates a sweep if the move exceeds this number of points (e.g. 200 for forex). 0 = no invalidation.
Consider Sweep If Done Before Trading ZoneIf true, counts sweeps that occurred before the trading window opened โ€” useful when your liquidity range (e.g. Asian) and trading window (e.g. NY Open) don't overlap. If both buy and sell liquidity are swept before the window, no trades are taken (seek-and-destroy day).
Liquidity Levels ColorColor used to plot the liquidity levels on the chart.
The EA only verifies liquidity sweeps during the trading window. Sweeps that occur before the window starts are not counted unless "Consider Sweep If Done Before Trading Zone" is enabled.

E1. Range Raid Settings

ParameterDescription
Raid Range Start Hours (0-23)Start hour of the custom liquidity range.
Raid Range Start Minutes (0-59)Start minute of the custom liquidity range.
Raid Range End Hours (0-23)End hour of the custom liquidity range.
Raid Range End Minutes (0-59)End minute of the custom liquidity range.

E2. Previous Block Liquidity

ParameterDescription
Block Liquidity TimeframeThe higher timeframe used to identify the block high/low for liquidity.

๐Ÿ” F. High Timeframe Filters

The EA supports up to three independent higher timeframe filters, each powered by the Structure Blocks indicator. These are ideal for multi-timeframe analysis.

F1. Filter Relation

ParameterDescription
Respect Premium/Discount inChoose whether a trade must respect P/D in all active filters or in at least one.
Respect Trend inChoose whether a trade must respect the trend in all active filters or in at least one.
Confirm HT Structure on SweepIf true, the higher timeframe alignment is checked at the time of the sweep. If false, it is checked at the time the trade is set.

F2 / F3 / F4 โ€” Each High Timeframe Filter

ParameterDescription
Structure FilterDon't use filter (ignored), Trade with the trend (same direction as HT structure), or Trade counter trend (opposite direction).
Start after Block #Minimum breakouts on this timeframe before trades are allowed.
Stop after Block #Stop trading after this many breakouts on this timeframe.
Use Double BlockOnly trade the second block of a new trend on this timeframe.
Sell in Premium, Buy in DiscountApply premium/discount filter using this timeframe's block.
Custom Premium/Discount Zone LevelDefine the level (default 50%).

โšก G. Advanced Entry Settings

ParameterDescription
Allow BuyIf false, no buy trades are taken regardless of other conditions.
Allow SellIf false, no sell trades are taken regardless of other conditions.
Trade at Market PriceFor low-timeframe or high-spread instruments (e.g. BTC), converts limit/stop orders to market orders when the price falls between ASK and BID. SL/TP/Risk are recalculated accordingly.
Max trades per sessionMaximum trades to open per session/day. Counts active positions, pending orders, and closed trades from the current session. 0 = unlimited.
Max Simultaneous open tradesLimits concurrent open trades. 0 = unlimited.
Rotate OrdersWhen the maximum is reached and a new opportunity appears, the most-distant pending order is replaced by one closer to the current price. Increases entry probability at the cost of a potentially lower R:R.
Don't open new trade if previous in lossBlocks new entries while any previous trade is in a loss.
Shift Entry in pointsShifts the entry price by this many points from the FVG. Useful for high-spread markets, aggressive entries, or differentiating entries on Prop Firms. Negative value shifts away.
Order expiry in minutesCancels pending orders after this many minutes if not triggered. 0 = no expiry.

๐Ÿšช H. Close Positions

ParameterDescription
Close positions at a certain timeIf true, all open positions are closed at the specified time.
Hour to Close Positions (0-23)Hour at which all trades are closed.
Minute to Close Positions (0-59)Minute at which all trades are closed.
Close On Opposite Block ConfirmationCloses all buy trades after X consecutive bearish structure blocks (and vice versa for sells). 0 = disabled.

๐Ÿ—‘๏ธ I. Delete Orders

ParameterDescription
Delete orders at a certain timeIf true, all pending orders are deleted at the specified time.
Hour to Delete Orders (0-23)Hour at which all pending orders are deleted.
Minute to Delete Orders (0-59)Minute at which all pending orders are deleted.
Close On Opposite Block ConfirmationDeletes all buy orders after X consecutive bearish structure blocks (and vice versa). 0 = disabled.

๐Ÿ’ฐ J. Volume

ParameterDescription
Volume typeFixed (fixed lot size), Risk From Balance, Risk From Equity, Risk From Free Margin, or Risk In Money (a fixed dollar/currency amount).
Volume value or Percentage valueThe lot size (for Fixed) or the percentage/amount used for dynamic sizing.
When using any risk-based sizing option, a Stop Loss must be defined โ€” the EA calculates lot size from the SL distance.

๐Ÿ›ก๏ธ K. Stop Loss

ParameterDescription
SL TypeNo SL, Block High/Low (nearest swing H/L), Fixed in Points, Extreme High/Low (session high/low โ€” good with liquidity sweep), Candle Extremity (high/low of last X candles), or ATR Based.
Points/Candles/Block ValueThe numeric value for your chosen SL option (pips, candle count, or block count).
ATR MultiplierMultiplier applied to ATR (e.g. 1 = 1ร— ATR from entry, 3 = 3ร— ATR).
ATR TimeframeTimeframe used to read the ATR value.
ATR PeriodATR period.
Shift SL in pointsFine-tunes the SL by moving it a few points further or closer.
SL Min/Max FilterFilters out trades where the SL is smaller than Min SL or larger than Max SL. Can also clamp the SL to the min or max value.

๐ŸŽฏ L. Take Profit

ParameterDescription
TP TypeNo TP (use trailing stop instead), X Risk to Reward (TP = SL ร— RR multiplier), or Fixed to X PIP (fixed distance).
TP X ValueThe Risk-to-Reward multiplier or the fixed pip distance, depending on TP Type.

โš–๏ธ M. Breakeven

ParameterDescription
Breakeven Trigger TypeNo BE, After X Risk to Reward (trigger BE when trade reaches Xร— the SL distance in profit), or After X PIP (fixed pip distance).
Break Even Trigger X ValueThe R:R multiplier or fixed pip value for the BE trigger.
Buffer to cover commission in pipAdds a small buffer to the BE level to cover trading commissions.

๐Ÿ“ค N. Partial Take Profit

Two independent partial TP levels are available.

ParameterDescription
Partial TriggerNo Partial TP, After X Risk to Reward, or After X PIP.
TP Trigger X ValueThe R:R multiplier or fixed pip distance that triggers the partial close.
TP Percentage from Running tradeWhat percentage of the running position to close (e.g. 50 closes half the position).

๐Ÿ”„ O. Trailing Stop

ParameterDescription
Trail Stop TypeNo Trailing Stop, Step Trailing Stop (moves SL in steps, first move is to BE), Candle Trailing Stop (trails on the low/high of the last X candles), or Block Trailing Stop (trails with market structure blocks).
Trigger TypeAfter X Points (activate TSL once trade is X points in profit) or After X time the risk (activate when profit = X ร— SL distance).
Trigger X ValueThe value for the TSL trigger.
Distance/Step TypeAs Y PIP (fixed step), As Y time the risk (step = Y ร— SL), or As Y candles (trail on the low/high of the last Y candles), or As Y blocks (trail Y structure blocks behind).
Distance/Step Y ValueThe value for the TSL distance or step.

๐Ÿ“… P. Day Filter

ParameterDescription
Use Day ControlEnables day-of-week filtering.
Trade Monday / Tuesday / Wednesday / Thursday / Friday / Saturday / SundaySet each day to true or false to allow or block trading on that day.

๐Ÿ“ฐ Q. News Filter

ParameterDescription
Avoid NewsPrevents new orders and manages existing ones during news events.
CurrenciesComma-separated list of currencies to watch (e.g. USD,EUR,GBP).
Specific newsFilter specific news keywords (e.g. PMI, CPI). Matches any news title containing the keyword โ€” keep keywords precise to avoid over-filtering.
Don't trade all day on specific newsIf true, the entire day is skipped when a matching news event is scheduled.
Consider high-impact eventsIf true, all high-impact events from investing.com are automatically filtered.
Stop trading before news in minutesHow many minutes before a news event to stop opening new trades.
Start trading after news in minutesHow many minutes after a news event to resume trading.
Take action before newsIf true, the EA takes action on open trades before the news window.
Action before X minutesHow many minutes before news to start taking action.
Action on Open TradesKeep current trades running, Close all trades, Close only winning trades, or Set Trade to Break Even.
Delete all ordersIf true, all pending orders are deleted before news.
You must allow web requests to https://sslecal2.investing.com/ in MetaTrader 5 for the news filter to work. In MT5, go to Tools โ†’ Options โ†’ Expert Advisors and add the URL to the allowed list.

Backtesting with News

The EA supports news backtesting via a Backtest.csv file. To use it:

  1. In MT5, go to File โ†’ Open Data Folder
  2. Navigate up to the Terminal folder, then open the Common\Files subfolder
  3. Copy Backtest.csv into that folder
  4. Restart the Strategy Tester or reload the EA
Download the latest Backtest.csv from the guide resources. It contains news data from 2020 onwards and is updated monthly.

๐Ÿ“‰ R. Daily DD & Profit Targets

ParameterDescription
Use DD and Profit LimiterEnables daily drawdown and profit limits. Once a threshold is hit, the EA stops taking new orders and closes all active ones. Resets at the start of each new trading day.
Consider the entire AccountIf true, the calculation includes all trades on the account. If false, only trades opened by this EA instance.
Daily Drawdown Calculation OptionsReference for DD: From Initial Deposit, From Account Balance, From Account Equity, From Higher Equity or Balance, or From Risk In Money.
DD Initial Deposit Or Risk In MoneyThe base amount used when the "Initial Deposit" or "Risk In Money" options are selected.
Max Daily DD %Maximum allowable daily drawdown as a percentage of the chosen reference.
Daily Profit Calculation OptionsReference for profit target: same options as DD.
Profit Initial Deposit Or Risk In MoneyThe base amount used for profit calculation when those options are selected.
Max Daily Profit %Daily profit target as a percentage of the chosen reference. Once reached, the EA stops trading for the day.
Refresh Period in SecondsHow often the EA checks the DD/profit thresholds.
On first launch or after parameter changes, the EA uses the current balance or equity as the reference point for that day's DD/profit calculation.

๐Ÿ“‹ Disclaimer

The products and software provided by Trade't are tested in certain market conditions and technical environments. Trade't is not responsible for any loss, error, or misuse of the provided software. Users are invited to do their own testing in a demo environment before using any tools in a live setting with real money โ€” this decision is their sole responsibility and at their own risk.

Past performance is no indication or guarantee of future performance. Trading forex involves a significant risk of loss. Always do your due diligence before making any investment decision.

Ultimate SMC EA

$249 ยท Lifetime updates included

Buy on MQL5 โ†—