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.

Selected configuration: rolling-year net EUR -146.48; full-period net EUR -1243.84. Negative confirmation is retained in the archive.
How this strategy works
- Variant 0 ranks EURUSD, GBPUSD, AUDUSD, NZDUSD, USDJPY and USDCHF by their 12-month closed-bar return expressed as foreign-currency USD value.
- At each eligible monthly rebalance it buys the top two and sells the bottom two; USD-base order direction is reversed.
- 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.
Measured backtests


| Period / model | Net EUR | PF | Trades | Equity DD | Native report |
|---|---|---|---|---|---|
| Development 2019.01.01 → 2024.01.01 M1 OHLC screening | -884.42 | 0.83 | 236 | 14.53% | MT5 report |
| Validation 2024.01.01 → 2025.01.01 M1 OHLC screening | -178.47 | 0.84 | 44 | 4.02% | MT5 report |
| 12-month review 2025.09.01 → 2026.09.01 Real-tick mode + fallback | -146.48 | 0.83 | 48 | 3.43% | MT5 report |
| Long review 2019.01.01 → 2026.09.21 Real-tick mode + fallback | -1,243.84 | 0.84 | 368 | 16.42% | MT5 report |
Adjust the strategy preset
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
- Download and extract the ZIP. Copy
TFMonthlyMomentum6.ex5intoMQL5/Experts/TradeForexin the MT5 data folder. Keep MQ5 and all MQH headers together if compiling. - Open Strategy Tester, select the EA, EURUSD and H1. The build rejects normal chart execution.
- Load the included
selected-test.setor a preset downloaded above. Symbol, chart timeframe, dates, deposit and tick model are tester settings outside the .set file. - 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.
- 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
