We let a profitable breakout strategy flip a coin for direction. It kept making money.
Take a daily breakout strategy on gold that has been profitable for five years. Keep the exact moments it enters the
market. Replace its direction with a coin flip. Keep its trade management. Run it 100 times with 100 different coins. All
100 runs are profitable, median profit factor 2.06, about half the profit of the original. Now keep the coin flip and
remove the trade management. On real ticks, every single run loses.
That pair of results is what this article is about. A profitable breakout system turns out to be three separable things,
when it trades, which way it trades, and how it handles the trade afterwards, and they do not contribute to the
profit the way most of us assume. The rest of the post is the method, the numbers, what I think they mean, and a
backtest-only EA so you can check every claim against your own broker's data (free download for MT4, MT5 and
cTrader).
The question
For two months I reverse-engineered commercial gold EAs from their trade lists, rebuilt the common engine behind a family
of them as my own cBot/EA, and matched it trade for trade against the originals (195 of 195 trades over five years on one
parameter set). Once the engine matched, I could start taking it apart. The first question was the obvious one:
Where does the profit come from, the entry or the management of the trade after entry?
I had a hypothesis, and it was the fashionable one: the entry barely matters. Three pieces of evidence pointed that way.
Measured fifteen minutes after a fill, with no management, the strategy's entries were a coin flip: median move about
zero, 44–55 % winners. A machine-learning model I trained to predict the direction of gold over the next 100 minutes
scored AUC 0.47–0.52, which is noise. The same features predicting whether a large move was coming, in either
direction, scored 0.85. So: you can tell that something is about to happen, you cannot tell which way, and a good exit
should be able to monetise the first without the second.
The hypothesis was half right. The experiment is more interesting than the hypothesis.
Method
Everything runs on one dataset: XAUUSD, raw-spread account, July 2021 to October 2026, 10,000 USD, 0.1 lots scaled by
price (about 0.05 lots at 4,000 USD gold). Two data modes: 1-minute bars with four ticks per bar for the 100-seed runs, and
the full 257-million-tick archive with real spread for a confirmation pass.
The strategy is a daily-level breakout with a rich management layer. Parameters are the published defaults of a widely
sold EA family; I did not tune anything.
| Layer | Rule |
|---|---|
| Entry | Daily swing highs and lows (higher than 24 bars to the left, not lower than 3 to the right). Buy stop placed 275 pips inside the high, sell stop 160 pips inside the low. Up to 5 pending orders per side, 35-hour expiry. All distances scale with the price level. |
| Stop / target | Stop 3.05 % of price, target 0.725 %. |
| Breakeven | At +0.93 % profit the stop moves to entry +0.12 %. |
| Trailing stop | From +1.8 % profit, trail 1.8 % behind price. |
| Pulled target | When a trade is 1.6 % under water, the target is pulled to price +0.7 %: exit on the first bounce. |
| Reversal cut | If the M1 or M15 candle containing the fill closes against the trade, close it. |
| Filter | No trading around the monthly US jobs report. |
"Management on" means all of it. "Management off" means the original stop and target only. The entry was then replaced by
three alternatives, each run with management on and off:
- Coin flip, full. At each 15-minute bar, enter with a probability calibrated to the original's frequency (37 trades
a year). Direction by coin flip. Market order. - Original timing, coin-flip direction. Keep the exact instants the original's stop orders fill. At each one, with
probability 0.5, open the opposite trade instead, with stop and target distances mirrored. - Original timing, opposite direction. Probability 1. Every breakout is faded.
Random variants run 100 seeds on bars, 10 on ticks. The generator is a deterministic xorshift that produces the same
sequence in the C#, MQL5 and MQL4 builds, so seed 7 is the same experiment on every platform. Before any of this, the
engine's "no change" configuration was checked to reproduce the original trade list exactly.
Result 1 — management does not turn noise into money

Random timing, random direction, full management: median PF 0.95, 45 % of seeds positive, median result −132 USD on
10,000. Win rate 19 %. The management layer does what it is designed to do, it cuts losers at breakeven or on the first
bounce, which is why a 19 % win rate is nearly break-even rather than a catastrophe. It is not a source of profit.

The blue cloud is 100 random seeds, the red line is the original strategy. No seed approaches it. Over 2025 in isolation the
cloud drifts positive (median PF 1.16, 60 % of seeds), because gold rose 60 % that year and the trailing stop rode part of
it. That is the market, not the method. So the first thing the experiment did was refute my own hypothesis: "any entry
plus good management" does not work.
Result 2 — timing alone is worth half the profit, even with a coin flip for direction

Keep the 195 moments the original entered, flip a coin for direction: 100 of 100 seeds profitable, median PF 2.06,
median profit +3,663 USD. Original timing, original direction: PF 2.45, +7,414. Original timing, every trade faded: PF
0.74, −409.

The three lines decompose the edge. With the break: +7,414. Against it: −409. Coin flip: +3,663, almost exactly the
average, as arithmetic says it must be. The entry's value therefore splits into two roughly equal halves:
- Timing — being in the market right after a daily level breaks, when a large move is likely. This half survives the
coin flip entirely. It is also the half the volatility model could predict. - Direction — trading with the break rather than against it. Worth another +3,700 over five years. Real, but it is the
thin half, and the fade line is what getting it wrong looks like.
Note the win rates. The fade wins 77 % of its trades and loses. The coin flip wins 69 %. The original wins 61 %. Win
rate ranks these three in exactly the wrong order.
Result 3 — management is what converts timing into money
Same three entries, management off, stop and target only:

Original timing, coin-flip direction, no management: median PF 0.72, median result −6,088 USD, 6 of 100 seeds
positive, median drawdown 9,738 USD on a 10,000 account. Same entries with management: +3,663, 100 of 100 seeds, drawdown
622.
This is the finding. Trade management does not create an edge. It is the mechanism that lets you collect an edge you can
only half see. You know a move is coming and not its direction. Without breakeven, pulled targets and reversal cuts, the
wrong-way half of your trades runs to the 3 % stop and consumes the right-way half. With them, the wrong-way half costs a
fraction of a percent and the right-way half pays.
Result 4 — when the entry is already right, management buys drawdown with profit
The original strategy with management off makes more: +11,494 against +7,414. It also holds trades for a median 22 hours
instead of 3.8, rarely reaches its 3 % stop, and takes a 2,683 USD drawdown instead of 674. Profit per unit of drawdown
falls from 11.0 to 4.3. At equal drawdown you could run the managed version at roughly four times the size.
Two cautions. These bars have no spread and no swap, so a 22-hour hold is free here and is not free in a live account. And
the drawdown ratio, not the profit, is the number that decides position size. Which brings us to the tick data.
Confirmation on 257 million real ticks
Same account, same lots, same period, the full tick archive with real spread. Fewer seeds because each run takes longer.
| Entry | Management on: PF · net · DD · % runs positive | Management off: PF · net · DD · % runs positive |
|---|---|---|
| Coin flip, full (10 seeds, median) | 0.98 · −71 · 866 · 40 % | 0.78 · −3,302 · 4,806 · 0 % |
| Original timing, coin-flip direction (10 seeds, median) | 1.70 · +2,896 · 825 · 100 % | 0.78 · −4,830 · 9,138 · 0 % |
| Original timing, original direction | 2.36 · +7,292 · 674 | 2.40 · +11,879 · 2,683 |
| Original timing, faded | 0.22 · −1,936 · 2,077 | 0.34 · −22,998 · 23,938 |
Real ticks are harsher on everything except the original with management, which is unchanged (+7,292 against +7,414 on
bars). The coin-flip-direction variant keeps all 10 seeds profitable but drops from PF 2.06 to 1.70: spread and slippage
come out of the wrong-way half. The fade collapses to PF 0.22. The conclusion sharpens: on real ticks, every run without
management lost money, including all 16 random seeds.
While the ticks were loaded, I removed the management layers one at a time, original entries, original direction:
| Layer removed | Net | PF | Drawdown | Win rate |
|---|---|---|---|---|
| none (full strategy) | +7,292 | 2.36 | 674 | 60 % |
| breakeven | +7,793 | 2.18 | 674 | 55 % |
| trailing stop | +7,292 | 2.36 | 674 | 60 % |
| pulled target | +8,092 | 2.53 | 1,178 | 65 % |
| reversal cut | +9,516 | 2.62 | 1,223 | 80 % |
| swing trailing | +7,000 | 2.24 | 686 | 60 % |
| jobs-report filter | +6,808 | 2.17 | 826 | 59 % |
Three observations. The trailing stop never fires: its activation level (1.8 %) lies above the take-profit (0.725 %), so
the published defaults ship a dead parameter that no backtest would ever reveal. The two layers that do the work are the
pulled target and the reversal cut: remove either and drawdown nearly doubles while profit rises. And every layer in the
table costs profit and buys drawdown. That is what trade management is for, and it is why it cannot be evaluated with a
profit figure.
What I take from this
- Direction is the thin half. Neither the strategy's own logic nor my models predict it at these horizons. Spend the
optimisation budget on when to be in the market. - Win rate measures nothing here. 77 % won and lost money; so did a night-scalping EA I examined that wins 96 % of its
tester trades and made +605 USD on 10,000 in 5.8 years. - "Any entry plus a trailing stop" is false. 100 seeds on bars, 10 on ticks.
- Evaluate management by drawdown. Switching it off looked better on profit and was four times worse on drawdown.
- Check which layers actually fire. One of the five in this system never did.
A related observation from the same reverse-engineering work: one EA I took apart matched its own published backtest on
90 % of entries in live trading and kept 24 % of the backtested profit. Entries identical, exit layer behaving differently
live, three quarters of the money gone. Exits are where backtests and live accounts diverge.
Limitations and the objections I expect
"So entries do matter." Timing does, a lot; the first chart is the evidence against my own starting hypothesis.
Direction matters much less than the attention it receives.
"This needs a trending market." Yes. The second half of 2021 was negative for every configuration including the
original. The method needs volatility, not direction.
"The parameters are in-sample." They are the vendor's published defaults, tuned on data that overlaps this period. I
tuned nothing. The coin-flip and flipped-direction runs are, by construction, something no vendor optimised for, and they
are where the result lives.
"One parameter set, one instrument." Correct. The next post repeats this on H4 and H1 variants of the same engine and
on the two layers that carried the table, with their parameters swept on real ticks.
"Bars, not ticks." The 100-seed charts are bars. The tick table is not, and it says the same thing more sharply.
Downloads: repeat the experiment
The engine used in every test above is available as a backtest-only build for cTrader, MetaTrader 5 and MetaTrader 4,
with the parameter preset from this article. It runs in the strategy tester (backtest and optimisation); on a live or demo
chart it refuses to start. Inputs include Entry model = Random with a seed, and an on/off switch for each management
layer, so every chart here can be regenerated.
Free, no account needed. Each download holds the EA, the Notus_GR1_D1 preset and a short README:
| Terminal | Download |
|---|---|
| MetaTrader 5 | Notus_Free_MT5.zip |
| MetaTrader 4 | Notus_Free_MT4.zip |
| cTrader | Notus_Free_cTrader.zip |
What the EA does and how to install it: Notus on the EA page.
Suggested order:
- Load the
GR1_D1preset, run XAUUSD 2021–2026, tick data if your broker provides it. That is the red line. - Set
Entry model = Random, any seed. That is one blue line in the first chart. Try ten seeds. - Set the breakeven trigger, trailing distance and pulled-target trigger to 0 and the reversal-cut timeframes to Off; run the
random seed again. That is the red bar in the summary chart. - If your curve disagrees with mine, I want to see it in the comments.
Comments
No comments yet. Questions about the settings, the data or the numbers are welcome.
Log in or create a free account to comment.