Breakout avec les bandes de Bollinger

Coordinator
Jul 27, 2014 at 2:26 PM

Implémentation de robot

Dans le livre Trading Systems and Methods

Image

page 326, l'auteur Perry J. Kaufman donne une méthode simple de trading expliquée par le dessin ci-dessous

Image


L'implémentation de cette idée se trouve dans le robot Breakout II.
protected override void OnBar()
        {
            double bbTop = bb.Top.LastValue ;
            double bbBottom = bb.Bottom.LastValue ;
            double middle = (bbTop + bbBottom) / 2;
            int index = 1;

            TradeType? tradeType = null;

            // Cloture si les prix repassent le milieu de la bande de bollinger
            if (this.existBuyPositions() && MarketSeries.CandleIsOver(this, index, middle))
                this.closeAllBuyPositions();
            else
                if (this.existSellPositions() && MarketSeries.CandleIsOver(this, index, middle))
                    this.closeAllSellPositions();


            if (Symbol.Ask < bbTop && Symbol.Bid > bbBottom) // Nous sommes entre les bandes de Bollinger.
                return;


            //achat en haut des BB, vente en bas
            if (!(this.existBuyPositions()) && MarketSeries.candleIsAbove(this, index, bbTop))
            {
                this.closeAllSellPositions();
                tradeType = TradeType.Buy;
            }
            else
                if (!(this.existSellPositions()) && MarketSeries.candleIsBelow(this, index, bbBottom))
                {
                    this.closeAllBuyPositions();
                    tradeType = TradeType.Sell;
                }

            if (tradeType.HasValue)
                ExecuteMarketOrder(tradeType.Value, Symbol, Volume, this.botName());

        }
Cela peut paraître simpliste comme idée, toutefois, il faut apprendre du début et en algorithmique les idées simples sont parfois les bonnes.
Coordinator
Jul 27, 2014 at 2:26 PM
Les résultats du robot sont les suivants :

Image