Code « Larry Williams’ X bars + pente RL »

Bonjour à tous,
Vous souvenez-vous de la stratégie « 3 bars » de Larry Williams, que j’avais fait figurer sur le site clubforex1.fr ?

Article : http://www.clubforex1.fr/la-strategie-3-bars-de-larry-williams/

 

Eh bien, j’ai tenté d’automatiser cette stratégie.
Sans grand succès au début, je l’avoue, avec les paramètres de base.

 

J’ai voulu l’optimiser en ajoutant un indicateur de tendance, et en modifiant la valeur des moyennes mobiles.

Parmi de nombreux indicateurs de tendance (MACD, Stochastique longue période, Ichimoku, moyennes mobiles, etc), j’ai finalement choisi d’en retenir un simple : la pente de régression linéaire.

 

De plus, cette nouvelle approche reste en position tant que la pente de régression linéaire est bien orientée : on ne clôture pas sa position seulement en fonction du croisement au-dessus / en-dessous d’une moyenne mobile.

 

Je vous présente donc un code simple, qui joue les rebonds en tendance, au niveau du bas ou du haut d’un canal de moyennes mobiles, en tendance évidemment.

Pour que le backtest soit efficace, il faut l’optimiser en fonction de l’action / l’indice / la paire de devise concernée.

 

Voici un exemple sur le DAX, en graphes D1, 1 point de spread, sur les 20 dernières années tout rond :

période des moyennes mobiles : 12

pente de la régression linéaire : 28

 

 

 

 

Voici le Code du BACKTEST : 

 

// Stratégie : X bars de Larry Williams + Pente régression linéaire
// www.doctrading.fr

// Paramètres (à optimiser) :
mm = 12
rl = 28

MMhaute = average[mm](high)
MMbasse = average[mm](low)


PenteRL=LinearRegressionSlope[rl](TotalPrice)

// ACHAT

IF not longOnMarket AND PenteRL[1] > 0 THEN
BUY 1 shares AT MMbasse[1] limit
ENDIF

If longonmarket and PenteRL[1] < 0 THEN
SELL at MMhaute[1] limit
ENDIF


// VENTE

IF not shortonmarket AND PenteRL[1] < 0 THEN
SELLSHORT 1 shares AT MMhaute[1] limit
ENDIF

If shortonmarket and PenteRL[1] > 0 THEN
EXITSHORT at MMbasse[1] limit
ENDIF

 

Share Button