ForexBestRobots.comCompare EAs →
EN

MULTI-PAIR STRATEGIES · STRATEGY 2

Multi-Pair Forex Momentum Rotation: Daily Ranking, Close-First Rules

Rank fixed Forex pairs by closed D1 returns, retain an eligible position within a switching band and close before any later rotation. Includes an invented BUY example.

15 min readReviewed by ForexBestRobots Editorial Team
Invented closed D1 returns are +0.80% for EURUSD, +1.10% for GBPUSD and −0.60% for USDJPY. A flat account selects GBPUSD for entry checks. An existing eligible EURUSD BUY instead faces a 0.30 percentage-point challenger advantage: request its close, then wait for the next daily decision. No replacement order is sent in the same decision.
Rank when flat; review when holding; confirm a close before later rotation.

Rotation is an account decision, not just a daily list of winners. This teaching strategy compares the same fixed Forex pairs by signed closed-bar returns, trades only one eligible pair and uses a switching band to avoid changing exposure for every small ranking change.

Separate ranking while flat, reviewing an existing position and confirming an exit. A new leader is not permission to hold both pairs. These authored rules and numerical inputs are hypotheses to test, not validated performance or recommended settings. The band does not establish an optimal turnover rate or a profitable edge.

1. Fix the universe and the shared position slot

Use EURUSD, GBPUSD and USDJPY in that exact tie-break order, on D1 from one broker. Resolve symbol suffixes before testing and keep the quoted orientations unchanged. Use a dedicated account with at most one market position and no pending entry orders. Other manual or EA positions block new entries; do not automatically close an unidentified position.

One position limits overlap but does not prove diversification. Review the currency-exposure guide and account-risk policy. A single coordinator or tested account lock must reserve the slot, persist decision timestamps and reconcile restart state. Opening independent EA copies on several charts does not supply this process. The first multi-pair strategy uses breakout ranking; this one uses return ranking and holding-state rules.

2. Take one synchronized daily snapshot

Use actual broker D1 boundaries, not a presumed UTC midnight. After a new daily interval starts, allow up to 300 seconds for the complete snapshot. Require at least 200 completed D1 bars per pair, valid positive prices and ATR, and matching timestamps for bar 0 and closed bars 1–21 across all pairs. Reject missing or misaligned history instead of treating it as no signal. A lookback counts completed broker bars, not a fixed number of calendar days.

The first complete snapshot consumes the decision, including no-signal and failed-gate outcomes. If it never arrives in time, skip the ranking update and all new entries. Continue existing stop, target and time-exit management independently. Do not rerank, reuse an old winner or reopen the consumed decision after a restart. If a position existed at decision start, that decision remains ineligible for new entry even if the position closes immediately.

3. Measure signed relative momentum

Bar 0 is forming; bar 1 is the latest completed D1 bar. Let C1 be iClose(symbol, PERIOD_D1, 1) and C21 be iClose(symbol, PERIOD_D1, 21). The raw percentage return over 20 completed intervals is 100 × (C1 / C21 − 1). Round the signed result to 4 decimal places, with exact halfway values rounded away from zero, to obtain R. Set M = abs(R). Use these rounded values for eligibility, ranking and the switching comparison.

A pair is eligible when M is at least 0.50%; equality qualifies. Positive R means BUY, negative R means SELL. Rank absolute strength, so a negative return with a larger magnitude can win as SELL. This is a comparison of quoted-pair price changes, not independent currency strength, an account-currency investment return or a volatility-adjusted score. Inverting a quote changes the calculation. Do not replace it with a differently oriented symbol.

4. Rank candidates when the account is flat

Choose the largest eligible M; ties use the fixed universe order. The table shows 2 decimal places although decisions use 4. All values are invented inputs, not historical bars or an independently reconstructed return series. A high score is not an estimate of win probability or expected profit.

SymbolC21C1RSignalM
EURUSD1.10001.1088+0.80%BUY0.80%
GBPUSD1.250001.26375+1.10%BUY1.10%
USDJPY150.00149.10−0.60%SELL0.60%

In the flat-account case, GBPUSD is selected for execution checks; EURUSD and USDJPY are not traded or queued. If the selected candidate fails a gate, skip the decision without switching to another pair. If no pair is eligible, stay flat. There is no hidden trend, session or news filter in this version.

5. Keep or close an existing position

An existing strategy position can be retained only if its pair is still eligible and R still agrees with its held direction. If either condition fails, request close regardless of the switching band. The independent maximum holding rule also takes priority. If the incumbent remains eligible in the same direction, compare the strongest eligible challenger with it.

Request close only when the challenger has a strictly greater advantage than 0.25 percentage points: M_challenger − M_incumbent > 0.25. A gap equal to the band means keep, subject to stop, target and maximum age. If the incumbent remains the leader, keep. Do not resize or reset its exits. A close request is not a fill: confirm the broker state and send no replacement entry during that decision.

Using the table as an alternative holding-state example, an EURUSD BUY incumbent has strength 0.80%; GBPUSD at 1.10% leads by 0.30 percentage points, so request close only. In separate alternative snapshots, challengers at 1.04% and 1.05% lead by 0.24 and 0.25, so keep. The band is a difference in percentage points, not 0.25% of the incumbent score. These comparisons are not a time series.

Three alternative invented comparisons with an eligible same-direction incumbent at 0.80% strength: a challenger at 1.04% leads by 0.24 percentage points, so keep; at 1.05%, the 0.25 gap also means keep; at 1.10%, the 0.30 gap exceeds the 0.25 band, so request close only. These are alternative snapshots, not a price path or a performance series. A confirmed close never permits replacement within the consumed decision.
Three alternative invented comparisons with an eligible same-direction incumbent at 0.80% strength: a challenger at 1.04% leads by 0.24 percentage points, so keep; at 1.05%, the 0.25 gap also means keep; at 1.10%, the 0.30 gap exceeds the 0.25 band, so request close only. These are alternative snapshots, not a price path or a performance series. A confirmed close never permits replacement within the consumed decision.On a narrow screen, scroll the diagram horizontally.

6. Check execution and freeze the initial risk

A flat account examines only the selected pair. Use a quote age from 0 to 10 seconds on the broker clock, nonnegative spread no greater than 0.10 × A, and current Bid drift from the signal close no greater than abs(Bid − C1) ≤ 0.25 × A. Here A is frozen MT4 iATR(symbol, PERIOD_D1, 14, 1) in price units. These are entry gates, not barriers to necessary position management.

  • The account is confirmed flat, without pending orders or unresolved requests, and the shared slot is reserved.
  • The 300-second entry window, quote age, spread and Bid-drift conditions all pass.
  • Initial protection can be placed and verified using a tested order procedure.
  • Rounded prices satisfy the tick grid and broker stop distances; volume and margin are permitted.
  • Modeled loss, including the assumed costs, fits the account budget.

From intended executable entry, set a fixed stop 2 A away and target 4 A away: below/above for BUY and above/below for SELL. Round toward entry on the actual price-tick grid: BUY stop up and target down; SELL stop down and target up. Reject crossed, zero-distance or broker-invalid levels and recalculate distances. The nominal gross reward/risk ratio of 2 may change with rounding.

For this test, the planned-loss budget is 0.50% of current equity. Estimate stop loss in account currency plus commission, extra adverse execution and whole-holding financing assumptions. Floor volume to the lot step; skip if minimum volume cannot fit. Reconcile actual fill, volume and protection. Missing protection or modeled loss above budget invokes the pretested immediate-exit/reconciliation procedure and blocks entries. Read the symbol specifications; this article does not supply that controller.

7. Calculate the invented GBPUSD BUY

This is the flat-account branch, not an immediate replacement for a closed EURUSD position. Assume $10,000 USD equity, a 100,000-unit contract per lot, 0.01-lot minimum and step, and price tick 0.00001. GBPUSD wins with C1 = 1.26375 and A = 0.0050. Assume a fresh Bid 1.2637 and Ask 1.2640: spread 0.0003 is below the 0.0005 cap, and Bid drift 0.00005 is below 0.00125. Assume an exact Ask fill 1.2640. Stop 1.2540 is below entry; target 1.2840 is above.

The 100-pip stop models $1,000 per lot before extra deductions. Assume per lot: $7 round-trip commission, $8 total extra adverse-execution allowance and $5 financing charge for the whole modeled holding period, all scaling linearly. The $50 budget divided by $1,020 gives about 0.0490 lot; floor to 0.04. Modeled loss is $40.80, leaving $9.20 unused. The next 0.05 lot would model $51.00 and fail. Financing and execution allowances are sensitivity assumptions, not cost ceilings.

Alternative outcomeGross P/LCommissionExtra executionFinancingModeled net P/L
Stop scenario−$40.00−$0.28−$0.32−$0.20−$40.80
Target sensitivity+$80.00−$0.28−$0.32−$0.20+$79.20

The target uses the same assumed deductions for a comparable cost stress, not a claim that every broker fills Take Profit with adverse slippage. Spread is already reflected in the Ask entry and Bid exits, so do not deduct it again. Actual swaps, rollover schedules and holding time may change financing; credit is also possible. Earlier rotation and time exits have different unknown outcomes. See the cost guide; neither net amount is expected profit or a guaranteed loss limit.

Optional: reproduce prices, volume and modeled money outcomes

1.2640 − 2 × 0.0050 = 1.2540; 1.2640 + 4 × 0.0050 = 1.2840. Gross stop loss: 0.0100 × 100,000 × 0.04 = $40.00; gross target profit: 0.0200 × 100,000 × 0.04 = $80.00. Planned loss per lot: 1000 + 7 + 8 + 5 = $1,020; volume: 50 / 1020 ≈ 0.0490 → 0.04. Alternative net outcomes: −40 − 0.28 − 0.32 − 0.20 = −$40.80 or 80 − 0.28 − 0.32 − 0.20 = +$79.20. Decimal points and thousands commas follow English numeric notation.

Invented flat-account GBPUSD BUY: assumed Ask fill 1.2640, stop 1.2540 below entry and target 1.2840 above. ATR is 0.0050, with distances 2 ATR and 4 ATR. At 0.04 lot, gross stop loss is $40.00 and gross target profit $80.00. Hypothetical deductions are $0.28 commission, $0.32 extra adverse-execution allowance and $0.20 whole-holding financing charge. Alternative modeled net outcomes are −$40.80 and +$79.20. These are cost sensitivities, not forecasts or guaranteed fills or loss limits.
Invented flat-account GBPUSD BUY: assumed Ask fill 1.2640, stop 1.2540 below entry and target 1.2840 above. ATR is 0.0050, with distances 2 ATR and 4 ATR. At 0.04 lot, gross stop loss is $40.00 and gross target profit $80.00. Hypothetical deductions are $0.28 commission, $0.32 extra adverse-execution allowance and $0.20 whole-holding financing charge. Alternative modeled net outcomes are −$40.80 and +$79.20. These are cost sensitivities, not forecasts or guaranteed fills or loss limits.On a narrow screen, scroll the diagram horizontally.

8. Manage fixed exits and maximum holding age

Keep the initial stop and target fixed: no trailing, averaging, pyramiding or automatic reversal. If still open after 5 completed D1 bars of the held symbol, request a market close; the entry bar counts as the first when it closes. This maximum-age exit overrides the retention band and does not wait for other pairs' data. A BUY exits at Bid and a SELL at Ask, using the first fresh executable quote when the request is due.

Closed markets, gaps or outages can delay the actual exit. The age rule is not a guaranteed calendar holding limit or fill price. If a close fails or has uncertain status, keep reconciling and monitoring, without opening another position. Intraday stop or target completion does not permit immediate re-entry: wait until the next eligible daily decision and take a new snapshot.

9. Reconcile recovery and account for turnover

Persist consumed decisions, position identity and any unresolved order request. A timeout does not prove a failed entry or close. Check the broker's actual state before any resend and block duplicate exposure. Recovered unknown positions require reconciliation, not an assumption of zero risk. The monitoring guide explains freshness and operational evidence.

A switching band can reduce some ranking-driven changes, but it can also retain a weaker pair; neither effect proves a performance improvement. Track skipped decisions, time out of market after a close, commissions, spreads and financing across the combined account sequence. After a confirmed exit, the next day's winner must be recomputed; do not queue today's challenger.

Take one complete aligned daily snapshot. A flat account may select only the strongest eligible pair and attempt entry after all gates pass. An account already holding a strategy position reviews hold or close and cannot enter during that decision. Reconcile a requested close and wait until the next eligible daily decision for a new snapshot and ranking. An uncertain order state blocks new entries.
Take one complete aligned daily snapshot. A flat account may select only the strongest eligible pair and attempt entry after all gates pass. An account already holding a strategy position reviews hold or close and cannot enter during that decision. Reconcile a requested close and wait until the next eligible daily decision for a new snapshot and ranking. An uncertain order state blocks new entries.On a narrow screen, scroll the diagram horizontally.

10. Validate the combined state sequence

MT4's native Strategy Tester does not execute trades on symbols other than the tested one. Separate pair tests cannot establish this rotation strategy's account result. Use synchronized multi-symbol event replay that implements the shared slot, holding-state comparison and close-confirm-wait sequence, followed by controlled forward observation. Freeze rules before chronological holdout testing.

Reproduce aligned history, return rounding, band equality, stale quotes, missing data, stops, target, time exit, failed close and restart recovery. If a bar contains both stop and target without a known tick path, do not silently select the favorable outcome. Compare variants only with consistent cost and timing assumptions. The backtesting guide explains evidence limits; no historical result is supplied here.

  1. Does the return span exactly the intended completed intervals with no future data?
  2. Are sign, eligibility threshold, precision, tie order and percentage-point band reproduced?
  3. Can an occupied-at-start decision ever send a new entry? It must not.
  4. Do failed or uncertain closes block replacement until reconciliation and a later decision?
  5. Do volume floors, financing and all exit paths reconcile with total account equity?

11. Questions about multi-pair momentum rotation

Does the strongest return identify the most profitable next pair?

No. It ranks a defined past price change. It does not estimate future return, win probability or a durable edge.

Why keep an incumbent when another pair ranks higher?

If the incumbent is still eligible in the held direction, the authored band requires a strictly larger challenger advantage before requesting close. This is a testable turnover rule, not proof that keeping is better.

May I open the challenger immediately after a close fills?

No. A decision that started with a position cannot open another. Wait for the next eligible daily decision, then recompute the snapshot and ranking. The prior challenger has no reserved place.

Is this a currency-strength or volatility-normalized strategy?

No. Ranking uses signed quoted-pair percentage returns and their absolute magnitudes. ATR sets entry gates and exits, not the ranking denominator. Shared currencies and differing volatility still matter.

12. Sources and scope

Official references: MQL4 iClose and historical-data access, MQL4 iATR parameters and shift, and native MQL4 Strategy Tester limits. Sources checked on 2026-10-18. These platform facts do not validate the authored return horizon, threshold, band, exits or budget.

All candidate prices, comparisons, quotes and monetary outcomes are invented teaching values. The diagrams illustrate those assumptions precisely, not original tester reports or verified performance. No profitability, suitable risk level or future result is claimed. Implementation, cost modeling and combined validation remain necessary.