A multi-pair strategy needs a rule for competition between signals. Opening an EA on several charts does not create that rule. This teaching model compares simultaneous breakouts on a fixed list and allows only the selected candidate to request the shared position slot.
Use closed bars, synchronized data, ATR-normalized ranking and one account-wide entry process. The rules and examples are authored hypotheses to test, not validated trading performance or recommended settings. A high score is not an estimate of a winning trade.
1. Fix the universe and the account scope
Use EURUSD, GBPUSD and USDJPY, in that exact tie-break order, on H1 from one broker. Resolve actual symbol suffixes before the test and keep the universe fixed through validation. This version requires a dedicated account: at most one market position and no pending entry orders. Other manual or EA positions make the account ineligible for a new entry.
One slot limits simultaneous strategy positions; it does not prove diversification. These pairs still share currencies and market events. Review the currency-exposure guide and account-risk policy. Use a single coordinator or tested shared lock; independent chart copies must not each claim their own slot.
2. Take one synchronized hourly decision
Use the broker's H1 clock, not an assumed UTC offset. After an hour closes, allow up to 60 seconds for all symbols to show that same completed signal interval. Require at least 200 completed H1 bars per symbol, valid prices and a positive ATR. If the complete snapshot never arrives in that window, skip the hour. Missing data are not a non-signal.
Consume the decision when the first complete snapshot is taken, even if it produces no candidate or later fails a gate. Do not rerank within that hour. If a position existed at the decision's start, manage it and skip new entry for that decision, even if it closes immediately. Restarting the terminal must not erase consumed timestamps or duplicate exposure.
3. Define the closed-bar breakout
After the new bar begins, bar 0 is forming and bar 1 is the completed signal. Set U to the highest Bid high and L to the lowest Bid low of the 20 prior bars, indices 2–21. The signal bar is excluded. Take C as its Bid close and A as MT4 iATR(symbol, PERIOD_H1, 14, 1), in price units. Freeze these values for this decision.
A BUY candidate requires C > U; a SELL requires C < L. Equality is not a breakout. No intrabar touch qualifies, and no extra trend, session or news filter is hidden in this version. The Donchian guide explains the channel idea; the shared selection rule is the additional layer here.
4. Rank the qualifying candidates once
For BUY, the score is (C − U) / A; for SELL, (L − C) / A. Compare positive scores rounded to 6 decimal places, with halfway values rounded up; the table displays 2. Choose the largest. Ties use the fixed universe order. A score measures breakout distance relative to recent range, not forecast return, risk-adjusted quality or independent currency strength.
| Symbol | U | L | C | ATR(14) | Signal | Score |
|---|---|---|---|---|---|---|
| EURUSD | 1.1000 | 1.0900 | 1.1012 | 0.0020 | BUY | 0.60 |
| GBPUSD | 1.2500 | 1.2380 | 1.2515 | 0.0030 | BUY | 0.50 |
| USDJPY | 150.80 | 149.20 | 149.00 | 0.40 | SELL | 0.50 |
All values in this table are invented inputs, not a historical candle sample or a reconstructed ATR series. EURUSD is selected; GBPUSD and USDJPY are not traded. Their tie does not affect the winner. If the top candidate fails a later check, skip the decision instead of selecting another pair. That rule must also be present in validation.
5. Apply execution gates to the selected pair
At the snapshot, examine only the winner's fresh executable quote. Require a quote age from 0 to 5 seconds on the broker clock and a nonnegative spread no greater than 0.10 × A. For BUY, current Bid must still exceed U; for SELL, current Ask must remain below L. A return to the boundary fails the gate.
- The account is still flat, without pending orders or unresolved requests, and the shared slot can be reserved.
- The entry window, quote age, spread and current breakout condition pass.
- Rounded stop and target prices satisfy the broker's tick grid and stop-distance rules.
- Volume is permitted, modeled loss fits the account budget and margin is sufficient.
- The tested order procedure can place and verify the required initial protection.
Failure means no new order for that decision, without a runner-up or a delayed retry after the window. Read the actual symbol specifications; do not remove protection or widen a stop just to force acceptance. A gate is a constraint to implement and test, not a feature assumed to exist in every EA.
6. Freeze exits and size the intended trade
From the intended executable entry, place the stop 1.5 A away and target 3 A away: below/above for BUY and above/below for SELL. Round each level toward entry on the valid price-tick grid: BUY stop up, target down; SELL stop down, target up. Reject crossed, zero-distance or broker-invalid levels. Recalculate the resulting distances; rounding can change the nominal gross reward/risk ratio of 2.
Set this test's planned-loss budget to 0.50% of current equity. Estimate loss to the rounded stop in account currency, adding the assumed commission and extra execution allowance, then round volume down to the broker's lot step. Skip if the minimum cannot fit. After execution, reconcile fill, volume and protection; missing protection or modeled loss above budget invokes the pretested immediate-exit/reconciliation procedure and blocks further entries. This article does not supply that controller.
7. Work through the invented EURUSD BUY
Assume $10,000 USD equity, a 100,000-unit contract per lot and 0.01-lot minimum and step. EURUSD wins with A = 0.0020. At the valid snapshot, Bid is 1.1011 and Ask is 1.1013: the spread 0.0002 equals the allowed 0.10 A. Assume the market order fills exactly at Ask 1.1013. The stop is 1.0983 and target 1.1073; both are on the assumed 0.00001 tick grid.
The 30-pip stop models $300 per lot before extra deductions. Assume $7 round-trip commission and a $10 total adverse-execution allowance per lot, scaling linearly. The $50 budget divided by $317 gives about 0.1577 lot; use 0.15. Modeled loss is $47.55, leaving $2.45 unused. The next 0.16 lot would model $50.72 and fail. The allowance is a sensitivity assumption, not a bound on slippage.
| Alternative outcome | Gross P/L | Commission | Extra execution allowance | Modeled net P/L |
|---|---|---|---|---|
| Stop scenario | −$45.00 | −$1.05 | −$1.50 | −$47.55 |
| Target sensitivity | +$90.00 | −$1.05 | −$1.50 | +$87.45 |
The target table applies the same assumed extra deductions for a comparable cost stress; it does not assert that every broker executes Take Profit with adverse slippage. The quoted spread is already reflected in the assumed Ask entry and Bid exits, so it is not deducted again. Time exits have their own unknown outcomes. See the cost guide; none of these modeled amounts is an expected profit or guaranteed loss limit.
Optional: reproduce the prices and money amounts
1.1013 − 1.5 × 0.0020 = 1.0983; 1.1013 + 3 × 0.0020 = 1.1073. Gross stop loss: 0.0030 × 100,000 × 0.15 = $45.00; gross target profit: 0.0060 × 100,000 × 0.15 = $90.00. Planned loss per lot: 300 + 7 + 10 = $317; volume: 50 / 317 ≈ 0.1577 → 0.15. Alternative net outcomes: −45 − 1.05 − 1.50 = −$47.55 or 90 − 1.05 − 1.50 = +$87.45. Decimal points and thousands commas follow English numeric notation.
8. Manage the open position and the time exit
Keep the initial stop and target fixed: no trailing, averaging, pyramiding or reversal in this version. If neither exit has completed, request a market close after 6 completed H1 bars on the selected symbol, counting the entry bar as the first when it closes. A BUY closes at Bid, a SELL at Ask. The time rule is a request condition, not a guaranteed holding-time or fill limit.
Use the first fresh executable quote once the time exit is due; outages or closed markets can delay it. Keep position management separate from waiting for the other symbols' ranking data. Failed or uncertain close requests require reconciliation and continued monitoring, not a new position. After confirmed exit, wait for the next eligible hourly decision; do not reopen within an already consumed one.
9. Skip and reconcile instead of forcing a trade
Skip stale or mismatched data, no qualifying breakout, an occupied account, failed gates or infeasible sizing. Do not queue an unselected pair or reopen a consumed decision after recovery. A timeout does not prove that an entry failed: first check the broker's actual order state and prevent duplicate submissions. The monitoring guide covers freshness and operational evidence.
A fixed universe and one position do not remove gap, broker, currency or selection risk. Changing the pair list, entry window, ranking precision or exit rules creates another version to validate. Preserve rejected signals and skipped hours so a later review can reproduce the competition between pairs.
10. Validate the whole selection process
MT4's native Strategy Tester does not execute trades on symbols other than the tested one. Separate symbol runs therefore cannot by themselves verify this shared-slot strategy. Use a synchronized multi-symbol event replay capable of the account rules, then controlled forward observation. Per-symbol tests can check components; they are not a portfolio acceptance test.
Freeze rules before chronological holdout testing. Reproduce Bid/Ask, missing updates, costs, rounding, simultaneous signals, failed orders and the time exit. If a bar contains both stop and target without a known tick path, do not silently choose the favorable result. The backtesting guide explains evidence limits.
- Do all pairs use the same completed decision interval without future data?
- Are channel indices, ATR shift, score precision and tie order reproducible?
- Does the top-candidate failure skip the hour without a runner-up?
- Does the account lock prevent overlapping or duplicate positions after recovery?
- Do costs, volume constraints and all exit paths reconcile with combined account equity?
11. Questions about multi-pair breakout selection
Is the highest ATR score the most profitable pair?
No. It ranks a specified price-distance signal. It does not estimate win probability, expected profit or a durable edge.
Can I trade every qualifying pair independently?
That would be a different strategy. This version permits only the selected pair and one account position; unselected signals are not queued.
Why not choose the next pair when a gate fails?
Because the tested rule is to skip that decision. Substitution changes the selection process and must be specified and validated as a separate variant.
Can separate MT4 backtests establish the portfolio result?
No. They omit competition for the shared slot and may use inconsistent timing or costs. The native tester's cross-symbol trading limitation also matters. Validate the combined sequence explicitly.
12. Sources and scope
Official references: MQL4 iATR parameters and shift, MetaTrader's Bid-based charts and Ask display, and MQL4 Strategy Tester limitations. Sources checked on 2026-10-18. These platform facts do not validate the authored ranking rule, coefficients or budget.
All candidate inputs, quotes and outcome amounts here are invented teaching values. The diagrams are exact illustrations of those assumptions, not original tester reports or verified performance. No profitability, suitable risk level or future result is claimed; implementation and combined testing remain necessary.