Dual Bollinger Channel – a robot using two Bollinger channels

The robot is designed for trading on a real account. Two Bollinger Channels with different parameters are used for trading. The outer channel allows determining the direction of the global trend. In another channel, which is inside it, trend following trades are performed. The robot has a built-in adaptive money management feature, all trades are protected with Stop Loss.

Strategy – trading in the fast Bollinger channel in the direction of the global trend

The robot calculates two channels by the method of John Bollinger. These channels cover different periods and reflect the global and the local trend. The most effective way to trade is when the directions of identified trends coincide. The EA enters the market and take profit near the borders of the internal channel. Positions are only opened in the trend direction, which is determined by the outer channel. So the EA tries to close most positions with a profit. Losing positions are averaged using additional deals, which are calculated so that their aggregate sum could also be closed with profit. As the deposit grows, the money management is applied to increase the volume of trades to match returns and risk with available funds. Robot testing and use are demonstrated in the video.


During testing at the interval from June 2015 to June 2018, using EURUSD data on the H1 timeframe and the initial deposit of 1000$, the EA with default settings managed to increase capital by 6 times.

Recommendations for use

No indicators are required for the EA operation. All necessary algorithms are contained in a single EA file. To control the EA operation, you can use the standard Bollinger Bands indicator available in the terminal. The indicator can be launched in the chart where the EA is running. Two indicators are attached on one chart, their parameters should be equal to the ones used in the EA.

By changing the switching the Open counter positions parameter, you can enable or disable setting opposite positions when opposite position entry criteria are met. If you allow opposite positions, the total number of trading cycles will be increased.

The robot is easily optimizable for other currency pairs and timeframes.

I will tell you the features of optimization in a personal message.


Main settings

  • Languagerobot message language (English, Russiian);
  • Magic magic number for orders;
  • Open counter positions – open opposite positions (Yes, No);
  • Period Bollinger bands (Internal channel) choose period;
  • Deviation Bollinger bands (Internal channel) – choose deviation;
  • Period Bollinger bands (External channel) choose period;
  • Deviation Bollinger bands (External channel) – choose deviation;
  • Entry criteria – distance to the trend line (% of the channel width) to enter/exit a trade;
  • Distance to safety levels – distance in points.

Averaging parameters

  • Use martingale –  enable the martingale function (Yes, No);
  • Step of averaging positions –  step of averaging in points;
  • Lot increase coefficient – lot increase ratio;
  • Maximum number of steps for averaging positions – the maximum number of averaging step (if exceeded, close all);
  • Coefficient of stop – the proportion of the averaging step, 0.1… 1;
  • Specified profit with averaging – preset averaging profit, $ per 0.01 lot.

Additional parameters

  • Clearance – gap above distinctive spots (points);
  • Use money management (Yes, No);
  • Initial lot – initial lot.

The robot can be used on 5- and 4-digit quotes. The number of digits in quotes is defined automatically. All parameters specified in points should always be set for 5-digit quotes (set by default).

Download demo version. It only works in the strategy tester.

Buy a robot   $65