Stratégie « 3 Candles – SMA20 »

Bonjour,

Comme vous vous en doutez, je suis en ce moment débordé par les demandes de mes lecteurs, qui souhaitent quelques backtests de stratégies, ou de l’aide pour mettre au point leurs indicateurs personnalisés, sur la plateforme ProRealTime.

Autant que possible, j’essaie de répondre à toutes les demandes, et ce dans l’ordre où elles m’ont été formulées (j’ai bien 2 mois de retard pour certaines !)

 

Je vais cependant répondre aujourd’hui à une demande plus récente, car elle est facile à satisfaire.

Voici la demande de codage :

NB : SMA20 veut dire « simple moving average » 20 périodes (moyenne mobile simple à 20 périodes).

 

J’ai donc choisi de tester cette stratégie sur le CAC40.

Au début, les résultats n’étaient pas très performants avec cette demande.

Il y avait aussi des erreurs de backtests avec le stop loss et le take profit touchés sur la même bougie, c’est pourquoi j’ai doublé la distance au stop loss et au take profit.

La stratégie était positive, mais pas très performante.

 

J’ai choisi de la coupler à une autre stratégie : à l’achat on entre directement à l’achat lorsqu’on a 3 clôtures de plus en pus bas ; ET on entre aussi au plus haut de la troisième bougie.

J’ai aussi ajouté les règles inverses à la vente.

 

Certes, cette stratégie ne vous rendra pas riche ; mais elle a le mérite de montrer qu’avec des règles de trading extrêmement simples, on peut être positif.

Je suis persuadé qu’elle peut être franchement améliorée, avec des ajustements, money management, etc.

Je n’ai par exemple pas testé le fait qu’on puisse rentrer sur 3 bougies de même couleur, je n’ai testé que les clôtures.

Attention cependant, car cette stratégie utilise plusieurs entrées simultanées : n’abusez pas du levier.

 

 

 

 

Voici le code de l’INDICATEUR : 

 

Defparam cumulateorders = true

MM20 = average[20](close)

// ACHAT
ca1 = MM20 > MM20[1] and close > MM20
ca2 = close < close[1] and close[1] < close[2]

IF ca1 and ca2  THEN
amplitude = high - low
buy at market
buy at high stop
ENDIF

// VENTE
cv1 = MM20 < MM20[1] and close < MM20
cv2 = close > close[1] and close[1] > close[2]

IF cv1 and cv2  THEN
amplitude = high - low
sellshort at market
sellshort at low stop
ENDIF

set stop loss 2*amplitude
set target profit 2*amplitude
Share Button