Place limit orders at even intervals inside a range, give each a small take-profit, and never use a stop-loss. This design is usually sold as "set it and forget it", and it genuinely does produce profit. That was not where the problem was.
Win rate is the wrong measure here
With no stop-loss, waiting long enough almost always closes a position in profit. Run without modelling liquidation and all 21 pairs were profitable across every start date we tested. Win rate and winning streaks look good automatically in this structure. The only things worth measuring are the distance to liquidation and the probability of reaching it.
Shift the start date and the pairs separate clearly
At each start point we set the range from the prior three years and ran it for five, repeating with the start shifted one year at a time. The configuration was fixed (0.5% spacing, take-profit equal to one interval, sell above the range midpoint and buy below); we did not pick the best-performing settings after the fact.
| Pair | Avoided liquidation | Median annual | Worst annual | Runs ending positive |
|---|---|---|---|---|
| EURGBP | 100% | +10.5% | +3.0% | 100% |
| EURNZD | 100% | +9.1% | +7.2% | 100% |
| USDCHF | 100% | +7.9% | -2.0% | 89% |
| EURUSD | 100% | +6.6% | -9.0% | 78% |
| GBPCHF | 100% | +3.9% | -3.7% | 67% |
| AUDNZD | 89% | +7.4% | -109.4% | 78% |
| EURCHF | 89% | +2.6% | -22.5% | 56% |
| AUDCHF | 89% | +1.7% | -92.3% | 56% |
| NZDJPY | 78% | +8.9% | -36.9% | 67% |
| NZDUSD | 78% | +7.4% | -105.6% | 67% |
| AUDJPY | 78% | +7.3% | -77.6% | 67% |
| GBPUSD | 78% | +2.1% | -61.4% | 56% |
| GBPAUD | 67% | +7.3% | -317.3% | 67% |
| USDCAD | 67% | +7.0% | -128.0% | 67% |
| CADJPY | 67% | +5.9% | -86.1% | 67% |
| EURJPY | 56% | -2.7% | -52.8% | 44% |
| AUDUSD | 56% | -7.3% | -104.9% | 44% |
| GBPJPY | 44% | -15.8% | -77.1% | 44% |
| EURAUD | 44% | -16.6% | -85.0% | 44% |
| USDJPY | 33% | -24.0% | -170.7% | 33% |
| CHFJPY | 33% | -24.6% | -130.6% | 33% |
EURGBP / EURNZD
Running one fixed range for 16 years
The range comes from the first three years and is never changed again. Required capital is the amount that survives price moving a further 10% beyond the range — a figure you can compute before you start — expressed as a multiple of one grid order.
| Pair | Annual on required capital | Required capital (×) | Closes | Swap breakeven | Criteria passed |
|---|---|---|---|---|---|
| EURGBP | +13.64% | 3.07 | 572 | 7.23% | 7/7 |
| EURNZD | +10.35% | 3.33 | 523 | 9.30% | 7/7 |
| AUDJPY | +8.09% | 4.62 | 439 | 9.91% | 7/7 |
| GBPAUD | +4.86% | 5.92 | 182 | 15.44% | 6/7 |
| GBPJPY | +4.83% | 7.01 | 250 | 10.37% | 6/7 |
| CADJPY | +4.71% | 8.35 | 296 | 5.53% | 6/7 |
| NZDJPY | +4.37% | 13.71 | 475 | 9.82% | 6/7 |
| USDCHF | +3.85% | 7.39 | 242 | 8.75% | 6/7 |
| EURAUD | +3.71% | 7.94 | 184 | 13.69% | 6/7 |
| EURJPY | +2.57% | 8.61 | 168 | 8.23% | 6/7 |
| NZDUSD | +1.91% | 6.64 | 722 | 3.81% | 6/7 |
| GBPUSD | +1.22% | 1.60 | 51 | 1.74% | 2/7 |
| GBPCHF | +1.14% | 5.43 | 182 | 3.52% | 6/7 |
| USDJPY | +1.02% | 7.65 | 58 | 22.72% | 4/7 |
| CHFJPY | +0.72% | 8.39 | 45 | 27.17% | 3/7 |
| USDCAD | +0.50% | 2.36 | 8 | 10.28% | 3/7 |
| EURUSD | -1.51% | 5.22 | 214 | 0.66% | 4/7 |
| EURCHF | -3.03% | 9.81 | 408 | 1.04% | 5/7 |
| AUDCHF | -4.43% | 8.83 | 422 | 1.79% | 4/7 |
| AUDUSD | -13.18% | 7.54 | 305 | 0.73% | 2/7 |
| AUDNZD | -107.39% | 1.37 | 2 | 0.04% | 1/7 |
A narrow range did not mean a safer pair
A narrow range needs less capital. But that also means the liquidation price is closer. The pair with the narrowest range spent 98% of the 16 years outside the range it was given and was liquidated with only two closed trades. The Hurst exponent, often suggested as a screen, was almost identical for the pairs that passed and the ones that failed.
Swap is the second way this dies
Positions are held for months or years, so swap (rate differential plus the broker markup) matters. "Swap breakeven" is the annual cost above which the profit disappears. The leading pairs have room; the ones at the bottom do not. Check the effective swap on your own account.
Three traps we fell into
First, sizing capital at the minimum that turned out to survive rewards pairs that happened not to break their range. Second, take-profits after liquidation must not be counted — we missed this on the first pass and every pair looked profitable. Third, the high of the bar on which a buy limit filled must not be used as a target, because it may have printed before the fill.
Limits
Fills are resolved on hourly bars, so cases where minute-level movement would have triggered liquidation earlier are not captured (survival rates are therefore slightly optimistic). We tested only two range policies: never revised, and reset every five years. We do not hold an account for this style; this is primary data for readers to judge with.
About the raw data
The tables above aggregate 168 configurations. The pre-aggregation data (CSV) and the harness design notes are also available. The conclusions, every configuration's result, the pass criteria and the reasons for failure are all published on this page. Nothing inconvenient sits behind the gate. It goes to readers who opened an account through this site (account-number match only; no email needed).
This is a record of testing we ran ourselves. It is not an assessment of any individual, organisation or service. All figures are simulations on historical data and do not indicate future results. Trading can produce losses exceeding your deposit. This is not investment advice. Make your own decisions.
Related articles
Do Order Blocks, Fair Value Gaps and Liquidity Sweeps Actually Work? 995,550 Trades Tested
We ran the six setups usually presented with a "70–80% win rate" over 995,550 trades with measured spreads, targets fixed at 2–3× the stop. Here is the outcome — and the specific reason these backtests look good.
Do Fibonacci + Elliott Wave + MACD + RSI Actually Win? 198,000 Backtests Across 38 Instruments
We tested the classic "combine four indicators for a high win rate" claim across 38 instruments, 3 timeframes and 2 brokers — 198,000 backtests. All 15 combinations came in under PF 1.0. We also show exactly where an "80% win rate" comes from.
Measured broker spreads 2026-W32 — logged hourly from our own MT5 accounts
Not a copy of published spread tables: 1,919 hourly bid/ask samples taken on our own accounts (XM (real money)) over 2026-07-26 → 2026-08-02, broken down by pair and by hour of day.
