Simple vs Complex Trading Strategies: Which Holds Up?

Every extra rule makes a backtest look a little better, and that is the trap in the simple vs complex trading strategies debate. Add a filter, a stop and a trend check, and the equity curve smooths out. Run the same rules on data they have never seen, and much of that improvement disappears. We tested this on three years of crypto data to see how much.
What Is the Simple vs Complex Trade-Off?
A simple trading strategy is a rule set with few conditions and few settings. A two-average crossover has two settings: the fast and slow lengths. A complex strategy stacks more on top, such as an RSI filter, a stop-loss multiple and a trend filter.
Each setting is a choice you tune. Tuning is fitting the rules to past data. More settings means more ways to fit, including ways that only match past noise.
The idea is old. Occam’s razor says the simpler explanation should win when two explain the facts equally well. For strategies, the “facts” are past prices. A complex rule set explains them better partly because it has more freedom to do so.
Why Strategy Complexity Matters
The cost of complexity does not show up in the backtest that created it. It shows up later, on new data.
Three things go wrong as rule sets grow:
- More combinations. Five settings with four or five values each give over a thousand versions. The best of a thousand looks good by luck alone.
- Fewer trades. Each extra condition filters out trades. Small samples make results swing on a handful of trades.
- Hidden interactions. A stop that works with one filter can break with another. It gets hard to say which rule earns the profit.
Our post on the deflated Sharpe ratio covers the first problem in detail. Testing more variants raises the bar a result must clear.
What Happened When We Tested Both?
We built two families of rules on Binance four-hour candles for BTC, ETH and SOL.
The simple family was an exponential moving average (EMA) crossover. It buys when a fast EMA crosses above a slow one and sells on the reverse cross. We tried 5 fast lengths and 5 slow lengths, giving 25 versions.
The complex family used the same crossover with three extra settings. It added an RSI entry filter, an ATR stop-loss and a trend filter. That gave 1,600 versions.
How We Split the Data
We tuned both families on November 2023 to November 2025. This is the in-sample period. We then ran the best versions, unchanged, on November 2025 to November 2026. This is the out-of-sample period. Both charged 0.1% per side.
| Market | Simple: best in-sample | Simple: same rules, next year | Complex: best in-sample | Complex: same rules, next year |
|---|---|---|---|---|
| BTC | +125.9% | +2.8% | +148.2% | -18.0% |
| ETH | +143.0% | +6.9% | +278.5% | -7.2% |
| SOL | +203.4% | -15.7% | +478.7% | +2.6% |
Hypothetical rule tests on past data, with no slippage. They are not trading results, and past behaviour may not repeat.
Reading the Table
In-sample, the complex rules looked far better. On SOL they more than doubled the simple result.
Out of sample, that lead vanished. The best complex version did worse than the best simple version on BTC and ETH. It did better on SOL, but on only seven trades.
The drop tells the story. On ETH, the simple rule fell 136 percentage points from in-sample to out-of-sample. The complex rule fell 286. More settings bought a bigger backtest, not a better strategy.
The out-of-sample year was a falling market. Buying and holding lost 30% on BTC and 50% on SOL. Both families lost less, mostly by sitting in cash. That is a separate point from which family held up better.
When Is Extra Complexity Worth It?
Complexity is not always wrong. Some extra rules earn their place. The test is whether each one does a clear job you can explain before you see the results.
A good addition usually passes three checks:
- It has a reason. A trend filter that avoids buying in downtrends has a clear purpose. An RSI threshold of 57 chosen because it scored best does not.
- It survives nearby values. If the rule works at 55 but fails at 50 and 60, it is fitting noise.
- It helps out of sample. Add the rule, then check the untouched period. If it only helps in-sample, remove it.
Count Settings, Not Blocks
Complexity is about settings you tune, not how many blocks sit on the canvas. A strategy can use ten blocks with fixed standard values and still be simple. A three-block strategy with every setting optimised is not.
Today’s Balance of Power strategy test found a similar pattern. A plain price rule beat the indicator version on two of three markets.
How to Apply Simpler Strategies in Arrow Algo
The no-code visual builder makes it easy to start simple and add one piece at a time:
- Build the core entry and exit with drag-and-drop visual blocks. Keep it to one signal and one exit.
- Backtest on the earlier part of your data only. Note the trade count as well as the return.
- Duplicate the strategy and add one rule, such as a trend filter.
- Run both versions on the same data and fee settings.
- Keep the new rule only if it helps on the later, untouched period.
Log every setting you try. If you used a connected AI assistant to test variants, ask it for the full list too. Our guide to in-sample vs out-of-sample testing explains how to set the split.
If you later choose to deploy, your rules signal your own exchange account. The exchange decides whether to execute each order.
What Are the Key Takeaways?
- Complex rule sets win more in-sample because they have more freedom to fit past data.
- In our test, 1,600 complex versions beat 25 simple ones in-sample on every market.
- Out of sample, the best complex rule did worse on two of three markets.
- The in-sample to out-of-sample drop was larger for complex rules on every market, and about twice as large on ETH and SOL.
- Add one rule at a time, with a reason, and keep it only if it helps on untouched data.
Disclaimer: This content is for educational purposes only and does not constitute financial advice. Trading involves significant risk and you should only trade with capital you can afford to lose. Past performance is not indicative of future results. Always conduct your own research before making any trading decisions.
Ready to build your own automated trading strategies without writing a single line of code? Start for free at Arrow Algo and join thousands of traders who've made the switch to systematic trading.