RSS Amplifier

Algomatic Trading Database · Jul 19, 2026

Strategy #21: % Bollinger Trend Dax Daily

0
Sign in to vote or save

Algomatic Trading · Algomatic Trading Database

Buying a dip is easy to describe. Defining one objectively is much harder.

A 2% decline might be completely normal in one market and an unusually deep sell-off in another. Looking at price alone doesn’t tell you whether a market is genuinely stretched or simply moving sideways.

This strategy approaches the problem differently.

Instead of measuring the size of the pullback directly, it measures where price sits relative to its recent volatility using the Bollinger Band %B indicator. When price falls close to the lower Bollinger Band while the longer-term trend remains intact, the strategy assumes the market has become temporarily pessimistic rather than fundamentally weak.

The result is a surprisingly simple daily mean reversion system for the DAX that has held up remarkably well over time.

Trending markets don’t move in a straight line. They pull back, shake out the weak hands and then continue. The DAX in particular has a habit of giving short, sharp scares within longer uptrends, a few red days that feel like “this is the one” before buyers step back in.

The idea here is to quantify “short-term panic” with a simple oscillator and only act on it when the long-term trend is still intact. We’re betting that temporary weakness inside a structural uptrend tends to resolve back in the direction of the trend, not against it.

This is a mean-reversion-within-trend system. It uses a percentage Bollinger Band reading (where does price sit relative to its own recent volatility band) to flag short-term stretched conditions, filtered by a long-term moving average to confirm we’re only buying dips in an uptrend. Exits are handled by the same oscillator once it swings back to strength.

The long-term filter keeps us out of downtrends, where “buying the dip” is usually just catching a falling index. The short-term oscillator gives us an objective, repeatable way to define “the market has pulled back enough” instead of relying on gut feel. And because the exit is tied to the same indicator, the system naturally holds through the reversal it was designed to capture, rather than exiting on the first green candle.

What I’ve Changed

Removing the extra condition increased trade frequency slightly without meaningfully reducing performance. This version therefore uses fewer conditions than the original. Sometimes a “safer-looking” filter simply means fewer trades and a greater risk of overfitting.

  • Market: DAX (Germany 40)

  • Contract/Instrument: DAX futures

  • Testing environment: ProRealTime

  • Timeframe: Daily

  • Timezone: CET

  • Backtest period: 3 January 2000 - 17 July 2026

  • Spreads: 2p spread included

  • Total gain: 20 740€

  • Average gain per trade: 64€

  • Total trades / winrate: 322 total trades, 76% winrate

  • Max drawdown: -3 539€

  • Risk/reward ratio: 0,55

  • Time in the market: 21,89%

  • Average trade duration: 4 Days 15 Hours

  • CAGR: 2,67%

  • MAR Ratio: 0,22

The Weak Spot

Any system that only checks a long-term trend filter once per day is going to get caught occasionally when a trend rolls over quickly, the filter confirms “uptrend” right up until it doesn’t and a pullback entry taken just before a real breakdown can turn into a slow bleed rather than a quick reversal, this is however to be expected for a system like this.

Want to access all my 20+ strategies and create your own trading portfolio?
Premium members get the complete strategy database and starting in August, every strategy will include both the original ProRealTime code and a ready-to-run MT5 Expert Advisor.

Get Premium Annual Access €399 →

Below you’ll find the complete ProRealTime code including the whole strategy described in plain english and parameters so you can test them yourself and add them to your existing systems.

Read the original on algomatictrading.substack.com

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.