«

»

Juil 31

Code « % Bollinger en tendance »

Bonjour à tous,

 

Voici une stratégie qui mêle l’indicateur % Bollinger, avec la tendance.

Un de mes lecteurs m’a fait découvrir un ebook de Charles Dereeper qui en parlait, intitulé « Power Bollinger ». Le concept ne vient pa de lui, il est très connu ; mais j’ai trouvé l’idée d’associer cet indicateur à une tendance très pertinente, pour tenter d’en dégager une stratégie.

 

Pour rappel, l’indicateur % Bollinger est défini ainsi :

%Bollinger = (cours de clôture – borne inférieure) / (borne supérieure – borne inférieure)

 

Sa formule ProRealTime est simple :

(cf article concerné)

// Indicateur % Bollinger : pB
// paramères : période et déviation : libre à vous de changer ces valeurs
p = 10
dev = 1.5

BollInf = Average[p](close)-dev*std[p](close)
BollSup = Average[p](close)+dev*std[p](close)
pB = (close - BollInf) / (BollSup - BollInf)

return pB

 

Nous allons associer cet indicateur à une tendance.
En marché haussier, nous passons à l’achat si :

  • clôture > MM100
  • MM20 > MM200
  • % Bollinger < 0,2 et % Bollinger < 0,2 sur la bougie précédente (consolidation)

 

Nous sortons de position si :

  • % Bollinger > 1

 

Comme vous pouvez le constater sur le test suivant (S&P500, graphique journalier, spread 1 point), la stratégie est très performante en marché haussier : profit factor > 7 en timeframe Weekly ! Et 2,32 en timeframe Daily, ce qui n’est pas si mal.

 

Cependant, il y a assez peu de position même en timeframe daily (critères très sélectifs), ce qui fait qu’il n’y a pas beaucoup de gains bruts, bien moins par exemple que l’algorithme « Swing S&P500 » ; dommage car je suis toujours à la rocherche de concepts pouvant améliorer mes propres algorithmes.

 

En fait, il serait tout à fait possible de tenter d’adapter cette stratégie aux positions de vente à découvert ; mais cela semble moins profitable. Libre à vous de tenter d’améliorer cette stratégie.

Sur le S&P500, cela a été profitable.

Il est fort possible que l’on puisse adapter les paramètres pour le CAC40, le DAX, des actions, etc.

A vous de procéder.

 

Les backtests qui suivent ont été effectués avec un spread de 1 point.

Vous constaterez que la stratégie fonctionne sur le S&P500, le CAC, le DAX : le principe de suivi de tendance avec rebonds est donc fiable !

 

 

Timeframe WEEKLY sur le S&P500 : 

 

 

Timeframe DAILY sur le S&P500 : 

 

 

Timeframe DAILY sur le CAC40 : 

 

 

Timeframe DAILY sur le DAX : 

 

 

 

Voici le code du BACKTEST : 

 

// % Bollinger en tendance

Defparam cumulateorders = false

// Taille des positions
n = 1

// Indicateur % Bollinger : pB
// Paramètres 5/1
BollInf = Average[5](close)-1*std[5](close)
BollSup = Average[5](close)+1*std[5](close)
pB = (close - BollInf) / (BollSup - BollInf)

// ACHAT
ca1 = close > average[100](close)
ca2 = average[20](close) > average[200](close)
ca3 = pB[1] < 0.2 and pB < 0.2

IF ca1 and ca2 and ca3 THEN
buy n shares at market
ENDIF

// SORTIE ACHAT
IF pB crosses over 1 THEN
sell at market
ENDIF

 

 

 

MISE A JOUR : 03/08/2017

 

Sur le site ProRealCode, l’un des participants a proposé ce code pour les postions « shorts » (je n’avais pas cherché).

Il fonctionne bien, par exemple sur le S&P500 en journalier :

 

 

 

VOICI LE CODE DU BACKTEST (à la place de    //ACHAT) :

// VENTE
cv1 = close < average[100](close)
cv2 = average[20](close) < average[200](close)
cv3 = pB[1] > 1 and pB > 1

IF cv1 and cv2 and cv3 THEN
sellshort n shares at market
ENDIF

// exit short position
if pB crosses under 0.2 THEN
EXITSHORT at market
ENDIF

Libre à vous de combiner les 2 stratégies en une seule.

Share Button