MT5 Expert Advisor · Non-profitable

EMA20 MACD Momo

M5 EMA20/MACD momentum, 1R partial and EMA trail.

EURUSD · M5 · London-New York market overlap; entries only

Source + EX5 + selected preset + checksums. Strategy Tester research build.

EMA20 MACD Momo — actual 2019–2026 realized balance
Actual historical realized balance, not open equity or live performance.
Non-profitable · selected configuration

Selected configuration: rolling-year net EUR +16.98; full-period net EUR -1105.88. Negative confirmation is retained in the archive.

Strategy rules

How this strategy works

  1. Variant 2 runs M5 EMA20 and EMA12/26 MACD with explicit EMA9 signal; price/EMA and histogram crossings must agree within five closed bars.
  2. Variant 2 applies 1.25 scaling: the frozen-EMA trigger is 12.5 pips away, the initial stop is 25 pips away and the EMA trail is 18.75 pips.
  3. Half the position closes at 1R, then the remaining stop cannot be below/above break-even and trails the closed EMA.

The selected configuration uses EURUSD / M5, variant v2-s1. All indicator and session values used by this build are listed in the preset editor.

Published Five-Minute Momo rules. The download is a documented research adaptation; results from the reference do not establish results for this EA.

Historical evidence

Measured backtests

12-month net · EUR+16.98After commission & swap
Profit factor1.0212-month review
Equity drawdown2.85%12-month review
Trades11212-month review
EMA20 MACD Momo realized balance, 2025.09.01 to 2026.09.01; net EUR +16.98
2025.09.01 → 2026.09.01 (end exclusive). Starting balance EUR 10,000. 41% real ticks. Available IC Markets real ticks with MT5 fallback. Realized balance includes commissions and swap; floating equity is in the original MT5 report. Open original MT5 report and equity graph.
EMA20 MACD Momo realized balance, 2019.01.01 to 2026.09.21; net EUR -1,105.88
2019.01.01 → 2026.09.21 (end exclusive). Starting balance EUR 10,000. 6% real ticks. Available IC Markets real ticks with MT5 fallback. Realized balance includes commissions and swap; floating equity is in the original MT5 report. Open original MT5 report and equity graph.
Separate native MT5 runs. EUR 10,000 each; 1:30 leverage; 100 ms execution delay. End dates are exclusive.
Period / modelNet EURPFTradesEquity DDNative report
Development
2019.01.01 → 2024.01.01
M1 OHLC screening
-961.240.8689914.93%MT5 report
Validation
2024.01.01 → 2025.01.01
M1 OHLC screening
-199.620.791164.13%MT5 report
12-month review
2025.09.01 → 2026.09.01
Real-tick mode + fallback
+16.981.021122.85%MT5 report
Long review
2019.01.01 → 2026.09.21
Real-tick mode + fallback
-1,105.880.89129515.56%MT5 report
Your next test

Adjust the strategy preset

Adjust the actual MT5 inputs below, then download a .set file. Load it through Strategy Tester → Inputs → Load. The EA ZIP includes source code and the compiled file.

Selected tested preset loaded.

Mode · 2 inputs
Risk · 6 inputs
Research session controls · 6 inputs

Changes apply to your downloaded file. They do not change the published tests.

Preview the .set file

MT5 also validates parameter combinations and may reject incompatible inputs. Session modes use local London, New York and Tokyo hours. Broker-time conversion uses the configured winter UTC offset and DST rule. A session filter limits eligible entries; it does not change the underlying strategy signal or create trades where none qualify. Policy 2 also closes before the chosen session ends.

Install and reproduce the test

  1. Download and extract the ZIP. Copy TFPublishedResearch.ex5 into MQL5/Experts/TradeForex in the MT5 data folder. Keep MQ5 and all MQH headers together if compiling.
  2. Open Strategy Tester, select the EA, EURUSD and M5. The build rejects normal chart execution.
  3. Load the included selected-test.set or a preset downloaded above. Symbol, chart timeframe, dates, deposit and tick model are tester settings outside the .set file.
  4. For confirmation choose “Every tick based on real ticks”, EUR 10,000, 1:30 leverage and 100 ms delay. Use 2025.09.01–2026.09.01 or 2019.01.01–2026.09.21; retain the generated report and Journal.
  5. Allow MT5 to obtain the available broker history. Compare actual date coverage, costs, trade count and history quality; a later download or different broker server can change the result.

Read the general MT5 installation guide; this package’s tester-only restriction takes precedence over normal chart-activation steps.

What these results can establish

  • Minimum volume must support two valid pieces.
  • Frozen-EMA triggers and fills depend on spread.
  • These are retrospectively selected historical tests. Development, validation and review periods overlap previously inspected history; this is not a fresh independent holdout.
  • The balance plots show realized outcomes. Equity drawdown includes floating positions and must not be inferred from the balance line alone.
  • Available native ticks and fallback are accepted. Missing ticks, historical spread paths and cost assumptions limit confidence; profitable history does not guarantee future profitability.
  • RiskPercent is an entry-sizing estimate, not a hard loss cap. Costs, gaps and slippage can exceed that estimate; some legacy sizing excludes transaction costs.

Additional cost stress adds 25% of the absolute commission and swap amounts: 12-month stressed net EUR -0.16; long-period stressed net EUR -1,261.77. This is not a full spread or slippage stress.

Files and reproducibility

Each ZIP includes MQ5 source, required headers, EX5, README, selected-test.set, selection.json and SHA256SUMS.txt. Compiled builds and measured results are unchanged by this documentation update.

ZIP SHA-2564a694a7acc417bb4aa6077f94ee94229b668345993d927be020129eb46da8e04

Tested EX5 SHA-2561712b1d150af415b73a001e257dcf0528ebd4d2634a05dd946f3b2f6d4e26af7

Selection criteria and all strategy categories · Frozen selection record