MT5 Expert Advisor · Non-profitable

Monthly Currency Momentum

Monthly six-currency top-two/bottom-two momentum basket.

EURUSD · H1 · Original trading hours

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

Monthly Currency Momentum — 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 -146.48; full-period net EUR -1243.84. Negative confirmation is retained in the archive.

Strategy rules

How this strategy works

  1. Variant 0 ranks EURUSD, GBPUSD, AUDUSD, NZDUSD, USDJPY and USDCHF by their 12-month closed-bar return expressed as foreign-currency USD value.
  2. At each eligible monthly rebalance it buys the top two and sells the bottom two; USD-base order direction is reversed.
  3. Each of four legs targets one quarter of equity in USD notional, for a 1x-equity gross target; there is no fixed price stop or daily flat.

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

BIS currency momentum study. 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-146.48After commission & swap
Profit factor0.8312-month review
Equity drawdown3.43%12-month review
Trades4812-month review
Monthly Currency Momentum realized balance, 2025.09.01 to 2026.09.01; net EUR -146.48
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.
Monthly Currency Momentum realized balance, 2019.01.01 to 2026.09.21; net EUR -1,243.84
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
-884.420.8323614.53%MT5 report
Validation
2024.01.01 → 2025.01.01
M1 OHLC screening
-178.470.84444.02%MT5 report
12-month review
2025.09.01 → 2026.09.01
Real-tick mode + fallback
-146.480.83483.43%MT5 report
Long review
2019.01.01 → 2026.09.21
Real-tick mode + fallback
-1,243.840.8436816.42%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 TFMonthlyMomentum6.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 H1. 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

  • USDCAD is excluded because pre-2025 local history was unavailable.
  • No source-specified price stop exists; gross exposure moves after rebalance.
  • This six-currency basket is not the broad academic forward portfolio.
  • A forced session-end flat (CampaignSessionPolicy=2 with a nonzero CampaignSession) is rejected by the monthly engine. Use entries-only for session experiments.
  • 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.
  • The selected build uses six currencies because USDCAD has insufficient earlier history. The portfolio targets 1× gross equity exposure and has no price stop.

Additional cost stress adds 25% of the absolute commission and swap amounts: 12-month stressed net EUR -193.74; long-period stressed net EUR -1,608.37. 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-25669b359b522157177089692e1ea91adc3c9c1314ef60d98a486e44608ee95cfbe

Tested EX5 SHA-256af538e82b3ed2793237e1d0f703b23c05e3fbf106627abf9c0167cf3f728a775

Selection criteria and all strategy categories · Frozen selection record