One of the first systems I made.
Runs on DAX (15m timeframe)
Backtest: 2006–2026
• 56% win rate
• 1.86 gain/loss ratio
Been trading this live since 2018.
No losing years so far.
Because the goal isn’t to fit the past perfectly, it’s to survive new data.
A wise trader once said "Make it fit like a mitten, not a glove" and that quote has stuck with me since forever.
Most overfitted systems look great on one dataset, the trick is to make it look great OOS
Then I optimize the strategy independently on each segment.
Instead of picking the single “best” parameter I look for stability across all datasets.
If a parameter is optimal at:
• 11 in dataset 1
• 10 in dataset 2
• 12 in dataset 3
I’ll choose something in that range.
2/3
How I avoid overfitting when building trading algos 🧵
When I’m ready to optimize a system, I don’t just run it on the full dataset.
I split the data into multiple segments.
Typically:
• First 40% of the data
• Middle 40%
• Last 40%
(Yes, they overlap)
1/3
Been running this algo on S&P 500 futures since 2019.
2019–2026:
• 73% win rate
• 1.86 gain/loss ratio
Backtest 1997–2019:
• 73% win rate
• 1.92 gain/loss ratio
Behavior is consistent across periods, doing what it’s supposed to do.
(2 contracts, MES)