๐ 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
| Parameter | Description |
|---|
| Magic Number | Unique identifier for this EA's orders. Each EA on the same account must have a different magic number. |
| Trade Comment | Used as a comment on trade orders and to identify logs in the Experts and Journal tabs. |
| Market Open on Weekends | If true, the EA continues trading during weekends โ useful for markets open on weekends or for continuous simulation. |
| Show Logs | Enables detailed logging of the EA's operations, helpful for debugging or performance analysis. |
| Draw Trading Setup | If enabled, graphical representations of trading setups are displayed on the chart for visual confirmation. |
| Activate EA Panel | Enables 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).
| Parameter | Description |
|---|
| 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. |
| Color | Color 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 Type | Description |
|---|
| 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
| Parameter | Description |
|---|
| FVG to consider | Trade the oldest FVG, the newest FVG, or all FVGs inside a swing. |
| Minimum size of FVG in points | Minimum FVG size to consider. 0 means no minimum filter. |
| Maximum size of FVG in points | Maximum FVG size to consider. 0 means no maximum filter. |
C2. OTE Level
| Parameter | Description |
|---|
| OTE Level | The 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
| Parameter | Description |
|---|
| Sell in Premium, Buy in Discount | Activates the Premium/Discount rule โ sells only in premium zones, buys only in discount zones. |
| Custom Premium/Discount Level | Defines 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.
| Parameter | Description |
|---|
| 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 Block | When 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.
| Parameter | Description |
|---|
| Liquidity to sweep | Choose the liquidity source: No Liquidity, Range Liquidity (custom range), Previous Hour, Previous Day, Previous Week, or Previous Block. |
| Level to invalidate sweep | Invalidates a sweep if the move exceeds this number of points (e.g. 200 for forex). 0 = no invalidation. |
| Consider Sweep If Done Before Trading Zone | If 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 Color | Color 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
| Parameter | Description |
|---|
| 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
| Parameter | Description |
|---|
| Block Liquidity Timeframe | The 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
| Parameter | Description |
|---|
| Respect Premium/Discount in | Choose whether a trade must respect P/D in all active filters or in at least one. |
| Respect Trend in | Choose whether a trade must respect the trend in all active filters or in at least one. |
| Confirm HT Structure on Sweep | If 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
| Parameter | Description |
|---|
| Structure Filter | Don'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 Block | Only trade the second block of a new trend on this timeframe. |
| Sell in Premium, Buy in Discount | Apply premium/discount filter using this timeframe's block. |
| Custom Premium/Discount Zone Level | Define the level (default 50%). |
โก G. Advanced Entry Settings
| Parameter | Description |
|---|
| Allow Buy | If false, no buy trades are taken regardless of other conditions. |
| Allow Sell | If false, no sell trades are taken regardless of other conditions. |
| Trade at Market Price | For 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 session | Maximum trades to open per session/day. Counts active positions, pending orders, and closed trades from the current session. 0 = unlimited. |
| Max Simultaneous open trades | Limits concurrent open trades. 0 = unlimited. |
| Rotate Orders | When 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 loss | Blocks new entries while any previous trade is in a loss. |
| Shift Entry in points | Shifts 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 minutes | Cancels pending orders after this many minutes if not triggered. 0 = no expiry. |
๐ช H. Close Positions
| Parameter | Description |
|---|
| Close positions at a certain time | If 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 Confirmation | Closes all buy trades after X consecutive bearish structure blocks (and vice versa for sells). 0 = disabled. |
๐๏ธ I. Delete Orders
| Parameter | Description |
|---|
| Delete orders at a certain time | If 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 Confirmation | Deletes all buy orders after X consecutive bearish structure blocks (and vice versa). 0 = disabled. |
๐ฐ J. Volume
| Parameter | Description |
|---|
| Volume type | Fixed (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 value | The 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
| Parameter | Description |
|---|
| SL Type | No 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 Value | The numeric value for your chosen SL option (pips, candle count, or block count). |
| ATR Multiplier | Multiplier applied to ATR (e.g. 1 = 1ร ATR from entry, 3 = 3ร ATR). |
| ATR Timeframe | Timeframe used to read the ATR value. |
| ATR Period | ATR period. |
| Shift SL in points | Fine-tunes the SL by moving it a few points further or closer. |
| SL Min/Max Filter | Filters 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
| Parameter | Description |
|---|
| TP Type | No TP (use trailing stop instead), X Risk to Reward (TP = SL ร RR multiplier), or Fixed to X PIP (fixed distance). |
| TP X Value | The Risk-to-Reward multiplier or the fixed pip distance, depending on TP Type. |
โ๏ธ M. Breakeven
| Parameter | Description |
|---|
| Breakeven Trigger Type | No 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 Value | The R:R multiplier or fixed pip value for the BE trigger. |
| Buffer to cover commission in pip | Adds a small buffer to the BE level to cover trading commissions. |
๐ค N. Partial Take Profit
Two independent partial TP levels are available.
| Parameter | Description |
|---|
| Partial Trigger | No Partial TP, After X Risk to Reward, or After X PIP. |
| TP Trigger X Value | The R:R multiplier or fixed pip distance that triggers the partial close. |
| TP Percentage from Running trade | What percentage of the running position to close (e.g. 50 closes half the position). |
๐ O. Trailing Stop
| Parameter | Description |
|---|
| Trail Stop Type | No 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 Type | After 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 Value | The value for the TSL trigger. |
| Distance/Step Type | As 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 Value | The value for the TSL distance or step. |
๐
P. Day Filter
| Parameter | Description |
|---|
| Use Day Control | Enables day-of-week filtering. |
| Trade Monday / Tuesday / Wednesday / Thursday / Friday / Saturday / Sunday | Set each day to true or false to allow or block trading on that day. |
๐ฐ Q. News Filter
| Parameter | Description |
|---|
| Avoid News | Prevents new orders and manages existing ones during news events. |
| Currencies | Comma-separated list of currencies to watch (e.g. USD,EUR,GBP). |
| Specific news | Filter 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 news | If true, the entire day is skipped when a matching news event is scheduled. |
| Consider high-impact events | If true, all high-impact events from investing.com are automatically filtered. |
| Stop trading before news in minutes | How many minutes before a news event to stop opening new trades. |
| Start trading after news in minutes | How many minutes after a news event to resume trading. |
| Take action before news | If true, the EA takes action on open trades before the news window. |
| Action before X minutes | How many minutes before news to start taking action. |
| Action on Open Trades | Keep current trades running, Close all trades, Close only winning trades, or Set Trade to Break Even. |
| Delete all orders | If 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:
- In MT5, go to File โ Open Data Folder
- Navigate up to the Terminal folder, then open the Common\Files subfolder
- Copy
Backtest.csv into that folder
- 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
| Parameter | Description |
|---|
| Use DD and Profit Limiter | Enables 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 Account | If true, the calculation includes all trades on the account. If false, only trades opened by this EA instance. |
| Daily Drawdown Calculation Options | Reference 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 Money | The 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 Options | Reference for profit target: same options as DD. |
| Profit Initial Deposit Or Risk In Money | The 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 Seconds | How 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.