SMT Suite β€” Installation & User Guide

SMMT Indicator V4 · SMMT Indicator V3 Lite · SMTLiteEA
Version 1.0 · 2026

1. What's in the Package

The SMT Suite contains three programs that work together:

ProgramTypeRole
SMTLiteEA.ex5 Expert Advisor Opens / manages trades. Owns the time fetch & kill-zone filter.
SMMT_IndicatorV3_Lite.ex5 Indicator (signal-provider) Computes signals on demand. Called by the EA through iCustom. No internet, no visual arrows.
SMMT_IndicatorV4.ex5 Indicator (visual) Standalone visual indicator on the chart. Shows arrows for every condition. Useful to compare live signals against the EA.
How they relate The EA does not call the V4 Indicator. It calls the Lite indicator (signal-only). V4 is for your eyes β€” to see signals on the chart.

2. Installation

Copy the four files into your MetaTrader 5 data folder:

MQL5/ β”œβ”€β”€ Experts/ β”‚ └── SMTLiteEA.ex5 ← the EA └── Indicators/ β”œβ”€β”€ SMMT_IndicatorV3_Lite.ex5 ← signal-provider for the EA └── SMMT_IndicatorV4.ex5 ← visual indicator (optional)
1 In MetaTrader 5, click File β†’ Open Data Folder.
2 Navigate to MQL5/Experts/ and drop SMTLiteEA.ex5 there.
3 Navigate to MQL5/Indicators/ and drop both indicator files there.
4 Restart MetaTrader 5 (or right-click the Navigator pane β†’ Refresh).
βœ“ Verification In the Navigator (Ctrl+N), expand Expert Advisors β†’ you should see SMTLiteEA. Expand Indicators β†’ you should see both SMMT items.

3. Terminal Setup (One-Time)

Two things must be enabled at the terminal level:

3.1 β€” Allow Algo Trading (toolbar button)

1 Find the Algo Trading button in the MT5 top toolbar (it looks like a small play/run icon). Click it so it turns green.
Shortcut: Ctrl + E toggles the same button.

3.2 β€” Allow DLL imports

1 Click Tools β†’ Options (or press Ctrl + O).
2 Go to the Expert Advisors tab.
3 Check the box "Allow DLL imports (potentially dangerous, enable only for trusted applications)".
4 Click OK.
Why DLLs? The EA uses wininet.dll (Windows built-in) to fetch timezone offsets from timeapi.io without needing the MT5 URL whitelist. Without DLL permission, the EA cannot run.

4. First Run (Live Chart)

The first time you use the suite, it must run on a live chart so it can fetch and cache the timezone offsets for your broker. After that, the strategy tester can run offline.

1 Open any live chart (e.g., GBPUSD, M15).
2 Drag SMTLiteEA from the Navigator onto the chart.
3 In the dialog that pops up, follow the steps in section 5 below.
4 Wait ~5 seconds. The EA fetches UTC, Zurich, and New York offsets and writes them to a cache file.
How to verify Open the Experts log tab. Look for a line like:
[SMTLiteEA] [TZ] Broker=ICMarketsSC-Demo UTC=+3 Zurich=+1 NY=+7 source=FETCHED

5. Attaching the EA

When the EA's properties dialog appears, configure both tabs:

5.1 β€” Common Tab

If you forget any of these, the EA will show a popup error message at startup explaining exactly what to fix.

5.2 β€” Inputs Tab

Adjust the inputs for your trading style. See Section 6 for full reference.

6. EA Inputs Reference

The labels below are exactly what you will see in the EA's Inputs tab when you attach it to a chart.

6.1 β€” Universal

Label (as shown in MT5)DefaultDescription
Magic Number20260519Unique trade identifier. Change if running multiple EAs on the same symbol.
Trade CommentSMTLiteComment attached to each order (visible in trade history).
Allow Long TradestruePermit BUY trades.
Allow Short TradestruePermit SELL trades.
Slippage in Points10Maximum acceptable slippage in points.
Max Spread in Points (0=Disabled)50Skip new orders if the current spread exceeds this value.

6.2 β€” Signal Method

Label (as shown in MT5)Description
Which Condition to tradePick the trade rule: C1 (pattern only), C2 (pattern + div), C3 (C2 + LTF div), C4 (seed + HTF div), C5 (seed + BB filter).

6.3 β€” Risk Management

Label (as shown in MT5)DefaultDescription
Lot Calculation TypeRisk %Fixed Lot or Risk % per Trade.
Fixed Lot Size0.10Used when "Lot Calculation Type" = Fixed.
Risk % per Trade1.0% of account equity risked per trade.
Maximum Lot Size10.0Hard cap on the lot size that can be opened.
Minimum Lot Size0.01Hard floor on the lot size that can be opened.
Max Open Trades (total all directions)3Cap on total concurrent open positions.
Max Open Positions Per Direction (Long OR Short)1Cap on open positions per direction. Set to 2+ to allow stacking.
Max Trades Per Day10Daily trade-count limit (resets each new day).

6.4 β€” Stop Loss / Breakeven / Trailing

Label (as shown in MT5)DefaultDescription
SL Lookback Bars (scan for pattern extreme)5Number of recent bars scanned to find the pattern extreme used as SL anchor.
SL Buffer Beyond Extreme (Pips)2.0Extra pips placed beyond the pattern extreme.
Use BreakeventrueEnable moving SL to entry after a certain R-multiple is reached.
Breakeven Activation (R)2.0R-multiple at which the breakeven move triggers.
Breakeven Offset (Pips)5Pips above (Buy) / below (Sell) entry once breakeven kicks in.
Use Trailing StoptrueEnable a step-trailing stop.
Trailing Activation (R)4.0R-multiple of profit required before trailing starts.
Trail to Secure (R)2.0R amount to keep locked once trailing is active.

6.5 β€” Take Profit

Label (as shown in MT5)DefaultDescription
Target TypeFixed R MultipleTarget-calculation mode.
Fixed R Target5.0Final TP placed at this R-multiple of the SL distance.
Use Partial TPtrueClose part of the position at intermediate R levels (TP1, TP2, TP3).
TP1 Level (R) / TP1 Close %1.618 / 30 %First partial target β€” level & percentage to close.
TP2 Level (R) / TP2 Close %2.618 / 30 %Second partial target.
TP3 Level (R) / TP3 Close %4.236 / 40 %Third partial target.

7. Kill Zone Filter Setup

The Kill Zone filter restricts trading to up to four intraday windows. Defaults are the standard ICT Kill Zones (in New York time).

The ICT Kill Zones

7.1 β€” Inputs

Label (as shown in MT5)Description
Enable Kill Zone filterMaster switch. Turn ON to enable kill zone filtering.
Times below are in this TZTimezone reference for the window times: UTC, Europe/Zurich, or America/New_York.
UTC offset (only used when TZ=UTC; 0=pure UTC, +1=UTC+1, -5=UTC-5...)Custom offset applied only when TZ = UTC. 0 = pure UTC, +1 = UTC+1, -5 = UTC-5, +9 = Tokyo, etc.
Zone 1 (Asian Kill) EnableToggle Window 1 ON/OFF.
Zone 1 Start (HH:MM) / Zone 1 End (HH:MM)Asian Kill window times in the chosen TZ. Overnight (e.g. 22:00 β†’ 02:00) is supported.
Zone 2 (London Kill) Enable + Start / EndWindow 2 β€” London Kill.
Zone 3 (NY Kill) Enable + Start / EndWindow 3 β€” New York Kill.
Zone 4 (PM Kill) Enable + Start / EndWindow 4 β€” PM/Afternoon Kill.
Trade Monday … Trade FridayDay-of-week toggles. New trades are blocked on disabled days; existing positions keep being managed normally.

7.2 β€” Behavior

7B. EA β€” Indicator-Side Inputs (passed via iCustom)

The EA forwards a copy of all indicator settings to the Lite indicator through iCustom. They appear in the EA's Inputs tab grouped per condition. Adjust them exactly the same way you would on the standalone V4 indicator.

Symbols

Label (as shown in MT5)DefaultDescription
Symbol BtrueUse the second correlated symbol.
Custom Symbol B(empty)Override symbol B name (leave empty for auto).
Symbol CtrueUse the third correlated symbol.
Custom Symbol C(empty)Override symbol C name.
Use Custom TickersfalseForce the custom symbols instead of auto rotation.
Bars Count1000Chart bars processed by the engine.
Data Anchor2026.03.01Engine walk start date. Must precede any backtest start.

Condition 1

LabelDefaultDescription
Max Confirmation Bars for Condition 11Bars allowed between the pending pattern bar and the confirmation bar.

Condition 2

LabelDefaultDescription
Max Confirmation Bars for Condition 21Bars allowed between pending and confirmation.
Check div on any bartrueAccept divergence on the initial, pending, or confirmation bar.
Pattern Type for Condition 2Strict onlyPattern style: Strict / Looser / Both.

Condition 3

LabelDefaultDescription
Lower timeframe for Condition 3M5LTF used to confirm divergence.
Max Confirmation Bars for Condition 31Seed-side confirmation bar count.
Pattern Type for Condition 3Strict onlySeed pattern style.

Condition 4

LabelDefaultDescription
Higher timeframe for Condition 4 (e.g. 1h)H1HTF used to confirm divergence.
How many HTF candles to scan backwards10HTF lookback window.
Required number of HTF divergence hits1Minimum hits in the lookback to accept.
Double Divergence Handling ModeAnyHow to resolve windows with both bull & bear divs.
Base Condition (Seed)Cond 2Whether C4 is built on top of C2 or C3.
Pattern Type for Condition 4Strict onlySeed pattern style.
Max Confirmation Bars (Current TF only)1Confirmation bars on the chart timeframe.
Lower timeframe (when seed = C3)M5LTF used only when Base = C3.

Condition 5 β€” BB Angle Filter

LabelDefaultDescription
C5: Angle MethodNormalizedHow the BB middle slope is converted to an angle (Normalized or Regression).
C5: Long Max Angle (Β°)-10.0Long signals require angle ≀ this value.
C5: Short Min Angle (Β°)10.0Short signals require angle β‰₯ this value.
C5: Angle Lookback Bars10Bars used to compute the slope.
C5: Filter Touch Lookback3Bars used for the BB filter-touch check.
C5: Seed TypeC2Source condition feeding C5 (C2 / C3 / C4).
C5: Pattern TypeStrict onlySeed pattern style.
C5: Max Confirmation Bars1Confirmation bars on the chart timeframe.
C5: LTF (when seed=C3)M5LTF used only when Seed = C3.
C5: Base (when seed=C4)Cond 2Base used only when Seed = C4.
C5: HTF (when seed=C4)H1HTF used only when Seed = C4.
C5: HTF Lookback / C5: Min HTF div hits10 / 1HTF scan window and minimum required hits.
C5: BB Period / Deviation / Shift / Applied Price20 / 2.0 / 0 / CloseStandard Bollinger Bands parameters.
C5: BB Target TFCurrentMulti-TF Bollinger source.
C5: BB Filter Type50% Mid-bandFilter preset.
C5: Use Upper Filter + Upper Filter %true / 50Custom upper filter (Custom mode).
C5: Use Lower Filter + Lower Filter %true / 50Custom lower filter (Custom mode).

8. Using the V4 Indicator

V4 is the visual indicator. Drop it on the chart to see signal arrows for every condition (C1..C5). It is independent of the EA.

1 Drag SMMT_IndicatorV4 onto a chart.
2 Common tab β†’ check Allow DLL imports.
3 Inputs tab β†’ tick the "Show Condition 1 signals on chart", "Show Condition 2 signals on chart", … "Show Condition 5 signals on chart" toggles for the conditions you want to display.

8.1 β€” New C5 BB Angle Method

V4 removes the old ATR-based BB angle and adds a dropdown:

MethodWhat it does
Normalized SlopeSlope as a % change of BB middle per bar, then atan() β†’ degrees. Reacts faster to recent moves.
Regression SlopeLinear least-squares fit through the BB middle values across the lookback. Smoother, less noisy.
The Long / Short angle thresholds (default Β±10Β°) keep the same feel as before, so existing presets work without re-tuning.

9. Strategy Tester

Read this carefully The strategy tester cannot access the internet. It relies on the TZ cache file created by a live run. You must run the EA on a live chart at least once before launching the tester.
1 Make sure the EA has already been attached to a live chart on the same broker for at least 5 seconds.
2 Open the Strategy Tester (Ctrl + R).
3 Select SMTLiteEA, the symbol, timeframe, and date range.
4 Adjust inputs as needed, then Start.
If the tester refuses to start You will see a clear journal message like:
[SMTLiteEA] ❌ TZ cache file missing or stale for this broker.
[SMTLiteEA] FIX: run the EA on a LIVE chart for 5 seconds, then retry tester.
Just attach the EA on a live chart of the same broker, wait 5 seconds, then come back.

10. Timezone Cache (How it Works)

The EA caches three broker→TZ offsets (UTC, Zurich, New York) in a small text file shared between live and tester:

Terminal/ └── Common/ └── Files/ └── TZssmt_<BrokerServer>.dat e.g. TZssmt_ICMarketsSC-Demo.dat

Example contents:

# TZssmt v1.0
UTC|+3|2026.05.21 18:31:25
Europe/Zurich|+1|2026.05.21 18:31:25
America/New_York|+7|2026.05.21 21:50:03

Refresh rules

ScenarioAction
First live attach (no file)Fetch all three offsets, create file.
Live attach, file fresh (< 24h)Use cached values, no network call.
Live attach, file stale (β‰₯ 24h)Refetch stale rows, update file.
Strategy testerUse cached values, no freshness check (the tester's clock is the simulated date and can't be compared with real time).

11. Troubleshooting

ProblemCause & Fix
Popup: "This EA is NOT allowed to trade" Detach and re-attach. In the Common tab, check Allow Algo Trading.
Popup: "DLL imports are NOT allowed" Detach and re-attach. In the Common tab, check Allow DLL imports.
Popup: "Terminal Algo Trading is DISABLED" Click the Algo Trading button in the MT5 toolbar so it turns green (or Ctrl+E).
Popup: "Terminal DLL imports DISABLED" Tools β†’ Options β†’ Expert Advisors β†’ Allow DLL imports.
Tester error: "TZ cache file missing or stale" Run the EA on a live chart of the same broker for 5 seconds, then retry the tester.
EA loads but never trades Check (1) the spread is below the value set in Max Spread in Points, (2) the Enable Kill Zone filter setting, if turned ON, allows the current time, (3) Allow Long Trades / Allow Short Trades are both enabled.
No signals on V4 chart In the V4 indicator's Inputs tab, enable the desired "Show Condition X signals on chart" toggles. By default only Condition 2 is ON.