Email copiado — support@tuurt.com
Cargando experiencia
engineering · August 03, 2026 · 6 min

We deleted three features from our bot because we measured them and they cost money

A volatility brake, a flip-close and a regime switch. All three sounded good. All three came out worse than not having them. This is what happens when you measure one at a time instead of stacking.

By Tuurt Team

We build Cerberus, an algorithmic trading system for MetaTrader 4. For months it grew the way almost everything grows: every time something went wrong, we added a feature so it would not happen again.

It ended up with a three-piece adaptive layer. A trend brake that reduced activity during strong moves. A flip-close that closed the position when the bias inverted. And a regime switch that moved between fading the market and following it depending on volatility.

All three had a story behind them. All three were born from a specific loss we wanted to avoid. And all three were, on paper, obviously good ideas.

Then we measured them.

The method: one at a time, same window

The important part is not the result, it is the procedure. We took the same data window — real M1 gold, 1.13 M candles — and the same configuration, and disabled one single feature per run.

This sounds obvious and almost nobody does it. The normal thing is to change three things, see the number go up and keep all three. If one of them is costing money but the other two make up for it, you never find out.

Feature With it Without it
Trend brake 23,941 · f 1.38 · dd 354 36,552 · f 1.50 · dd 224
Flip-close 36,552 · f 1.50 · dd 224 40,675 · f 1.48 · dd 294
Regime switch 43,898 · f 1.49 · dd 300 40,675 · f 1.48 · dd 294

What we found

The trend brake cost 34 % of the result. Not only that: the maximum drawdown was worse with the brake on than without it. The feature designed to reduce risk was increasing it.

The reason, once we understood it, was obvious: the brake closed or blocked positions during strong moves. But many of those positions would have recovered. By braking, we turned a temporary floating loss into a permanent realised one.

The flip-close did exactly the same thing by another route. Closing when the bias inverts realises the loss right before the normal exit would have recovered it.

The regime switch was the most interesting: it tied. Without it the result was practically identical. And there is the uncomfortable lesson — a feature that ties is not neutral, it is debt. It is parameters to tune, state to debug, edge cases to document and one more surface for bugs to hide in. If it does not win, it goes.

One detail explained everything: the regime switch's damage was being mediated by the flip-close. Switching regime inverted the bias without the raw signal changing, which armed the opposite position and fired the close. Two features covering for each other's mistakes. Remove one and the other stopped making sense.

What stayed

Exactly one thing survived every test: the basket stop. It cut the drawdown by 63 % at no cost in net result, and it held across every regime tested and under both simulation models.

A feature that improves in every scenario you test is rare. When one shows up, you recognise it precisely because you have measured the others and seen what the ones that do not work actually do.

Why we are writing this

Because the default bias in software is to add. Adding feels productive, demos well and justifies itself. Deleting feels like going backwards.

But code that has not earned its place charges you anyway: in maintenance, in failure surface, and in the confidence you place in a system you do not fully understand. The only way to know which is which is to measure one at a time.


Cerberus is a Tuurt Labs product. It is a high-risk financial instrument: trading leveraged CFDs can cost you your entire capital. Nothing written here is investment advice.

Cerberus Measurement Architecture Algorithmic trading
← Back to blog