Binary options strategies, actually tested
45 days of real data, 13 strategies, three validation windows and zero massaged numbers. This is the study we wish we'd found when we started.
Almost every binary options site promises strategies with "90% accuracy". We did the opposite: we downloaded 45+ days of real M1 candles (8 forex pairs, Deriv data feed), coded 13 strategies and measured everything with the toughest ruler there is: train, test, and a "fresh" window (data no tuning ever saw — true out-of-sample). Only what survives all three windows with a decent sample (n ≥ 150) gets approved.
The honest result, in one table
| Strategy | Real accuracy (out-of-sample) | Verdict | Detail |
|---|---|---|---|
| ⭐ Double Reversal (Bollinger + RSI) | ~57–61% | Approved — best in catalog | see study |
| ⭐ Exhaustion + Band | ~57–59% | Approved — orthogonal to DR | see study |
| RSI Reversal | ~52–55% | Borderline — auxiliary vote only | — |
| CCI / Z-Score / Stoch Reversal | ~52–56% | Redundant with Bollinger (same idea) | — |
| Pure Bollinger / RSI+MA / Triple | ~51–55% | Weak on their own | — |
| Strong Trend / Pullback / MACD / SuperTrend / Ichimoku | ~46–49% | FAILED on M1 (they lose!) | — |
Also see our Binomo vs Olymp Trade comparison.
You read that right: classic trend strategies LOSE on M1 — the 1-minute real-forex chart mean-reverts during market hours. And nothing came close to 70% (here's why).
The methodology (what separates real data from overfit)
- Train: the window where parameters were tuned. Every number here is suspect by definition.
- Test: the following window, no re-tuning. If accuracy collapses, it was overfit.
- Fresh (out-of-sample): weeks of new data downloaded AFTER the study was frozen. It's the only number that predicts the future — and it's what we publish.
- Minimum sample: results with n < 150 signals are discarded (a "63% over 109 trades" is noise, not edge).
Why three windows instead of one backtest
A single backtest answers the wrong question: how well does a rule fit data I have already looked at? Every choice made while looking (RSI 14 or 9, bands at 2.0 or 2.2 deviations, which pairs, which hours) bends the result upward, even with no bad intent. The three windows separate those choices from the verdict:
- Train absorbs all the tuning. Its number is inflated by design, which is why we never publish it as the result.
- Test catches gross overfit, but it only works once. The moment you see a weak test result, go back and change a parameter, the test window has become training data.
- Fresh is data that had not been downloaded when the rules were frozen. Nobody could have peeked at it, including us. It is the closest a backtest gets to trading tomorrow.
A strategy passes only if it clears break-even in all three. Losing a few points from train to fresh is normal; sliding to about 50% means the "edge" was the tuning.
Why n ≥ 150, and why it is a floor, not proof
Accuracy measured on a sample has an error margin. A good approximation of the 95% range is p ± 1.96 × √(p × (1 − p) / n):
| Trades (n) | Measured accuracy | Approximate 95% range |
|---|---|---|
| 109 | 63% | 54% – 72% |
| 150 | 57% | 49% – 65% |
| 500 | 57% | 53% – 61% |
| 1,000 | 57% | 54% – 60% |
The "63% over 109 trades" that looks impressive has a lower bound below the 55.6% break-even at 80% payout. That is why anything under 150 signals is discarded. But 150 only removes the worst noise; it does not prove an edge. To be 95% sure that a true 57% beats 55.6%, you would need roughly 4,500 trades; a true 61% would need about 310. So instead of trusting one number, we require three separate windows to agree. Agreement across data the rules never saw is much harder to get by luck.
Overfitting, with an example you can check
Take a strategy that is a pure coin flip (50% true accuracy) and split its trades by hour of the day, 40 trades per hour. The chance that one given hour shows 65% or more by luck is about 4%. With 24 hours you should expect about one "magic hour", and the chance that at least one appears is about 63%. Add 13 strategies, several settings each and 8 pairs, and a spectacular combination on past data is practically guaranteed.
It happened in our own data: the 16:00 hour (UTC-3) scored 65% in one slice and 40% in the next (hours study). Overfitting isn't fraud; it is what searching naturally produces. The defenses are few free parameters, rules decided before looking, and a fresh window nobody touched.
What each accuracy means per trade (payouts 80%, 85%, 90%)
Accuracy alone doesn't tell you whether you make money. Expectancy per trade, as a fraction of the stake, is p × payout − (1 − p). Break-even is 55.6% at 80% payout, 54.1% at 85% and 52.6% at 90%. Applied to the ranges in the table above (percent of stake per trade, using both ends of each published range):
| Group (out-of-sample accuracy) | Payout 80% | Payout 85% | Payout 90% |
|---|---|---|---|
| Double Reversal (57–61%) | +2.6% to +9.8% | +5.5% to +12.9% | +8.3% to +15.9% |
| Exhaustion + Band (57–59%) | +2.6% to +6.2% | +5.5% to +9.2% | +8.3% to +12.1% |
| CCI / Z-Score / Stoch Reversal (52–56%) | −6.4% to +0.8% | −3.8% to +3.6% | −1.2% to +6.4% |
| RSI Reversal (52–55%) | −6.4% to −1.0% | −3.8% to +1.8% | −1.2% to +4.5% |
| Pure Bollinger / RSI+MA / Triple (51–55%) | −8.2% to −1.0% | −5.7% to +1.8% | −3.1% to +4.5% |
| Strong Trend / Pullback / MACD / SuperTrend / Ichimoku (46–49%) | −17.2% to −11.8% | −14.9% to −9.4% | −12.6% to −6.9% |
| OTC (~50%) | −10.0% | −7.5% | −5.0% |
In money: a $10 stake at 80% payout with a true 57% accuracy is worth +$0.26 per trade, or +$26 over 100 trades. The margin is thin: at 55.5% the same setup is at zero. And variance is large even when the edge is real. With a true 57% at 80% payout, the chance of finishing 100 trades at a loss or break-even is about 38% (binomial calculation); after 500 trades about 25%; after 1,000 about 18%. A losing week proves little either way, and martingale only makes the swings bigger.
Other findings that change your game
- OTC is statistically random — no strategy (not even inverted) beats ~50% on _otc pairs.
- 2-candle expiry > 1 candle: the same signal measured 2 minutes ahead wins ~3 p.p. more (60.8% vs 57.5% on Exhaustion+Band).
- Hours matter: the 9–10am and 6–11pm (UTC-3) windows concentrate the edge; Friday is the worst day. Full hours study →
- JPY pairs are the core: USD/JPY and GBP/JPY kept their edge in the fresh window. Why USD/JPY wins →
- Martingale creates no edge — it multiplies wins AND losses. Our bot uses a level-based daily target: discipline with bounded risk.
How to reproduce the study, step by step
- Set up. Install Python 3.12+ and get the bot (form below). The package includes
simular_csv.py, the backtest script. - Download M1 candles from Deriv. Deriv's public WebSocket (
wss://api.derivws.com/trading/v1/options/ws/public) serves market data with no login. Send a ticks_history request such as{"ticks_history":"frxUSDJPY","style":"candles","granularity":60,"end":"latest","count":1000}.granularity: 60means one-minute candles; symbol names come from theactive_symbolscall (forex symbols use thefrxprefix, e.g.frxEURUSD). - Page backwards. In the official schema,
countdefaults to 1,000. To cover 45 days, repeat the request withendset to the epoch of the oldest candle you received until you reach your start date. - Save one CSV per pair with epoch, open, high, low and close. Remove duplicate rows at page boundaries and check for gaps (the weekend gap is normal).
- Split by date before running anything. For example, the first four weeks for train and the next two for test. Write the split down.
- Run
simular_csv.pyon train and tune if you want. Open the script first to see which CSV columns and options your version expects; if your file differs, ask ChatGPT or Claude to convert it. - Freeze, then test once. Record the parameters, run the test window, and change nothing afterward.
- Wait, then run fresh. Two or three weeks later, download the new candles and run once more with the frozen settings.
- Judge. Approve only what beats the break-even for your payout in all three windows with n ≥ 150 each. Expect your figures to differ from ours by a few points: other dates, other market.
Limitations: what this study cannot tell you
- 45 days is short. It covers one or two market regimes. A strategy approved in a calm period can behave differently around central bank decisions or a volatility spike.
- 8 forex pairs only. JPY pairs were the strongest. Nothing here applies to indices, crypto, commodities or other pairs.
- Deriv's feed. The candles are Deriv's prices. Quotex and IQ Option quote real pairs from their own feeds; closes can differ slightly, and in strategies that fire on a band touch a small difference flips some signals.
- M1 only. The results say nothing about M5 or M15, and the 2-candle expiry finding was measured on M1 signals.
- Execution. A backtest assumes you get the price on the chart. Live, the bot sends orders through unofficial APIs (Quotex, IQ Option) and the broker fills at its own quote a moment later. Latency, rejected orders and disconnections are not in the numbers.
- Costs. In binary options the cost is the payout below 100%, and it varies by asset and hour. We report accuracy; the expectancy table above converts it at 80/85/90%.
- Multiple testing. Picking the best of 13 strategies flatters the winner a little, even out-of-sample. Assume the true figure may be a point or two below the published range.
🤖 Get the free trading bot
Open-source bot for Quotex & IQ Option (13 strategies). Edit it with ChatGPT/Claude — no coding. Free, no spam.
FAQ
Do these numbers apply to my broker? The study uses real forex data (Deriv feed). On Quotex/IQ the real pairs behave very similarly; OTC does not (it's the broker's synthetic price).
Why publish this for free? Because the bot is open source and honesty is exactly our edge — this niche is drowning in fake promises.
Can I reproduce the study? Yes: the bot ships the backtest scripts (simular_csv.py) and the candle download is public.
→ Trading from India? Read this first: is Quotex legal in India?
⚠️ Binary options carry a high risk of losing all your capital. Educational content based on demo-account data — not investment advice. Past results do not guarantee future results. No bot or strategy guarantees profit.