Bonsoir à tous et toutes
Le principe est simple, 4 conditions sont définies ainsi qu’ un compteur = 0 au début du code.Si une condition est vrai alors +1 au compteur si elle est fausse -1 au compteur et si ni faux ni vrai alors 0 au compteur.
On procède ainsi pour les 4 conditions à la clôture de chaque bougie, puis on calcule la valeur du compteur.
Si le compteur est >0 on trade long et si le compteur est<0 on trade short.
Voici le code que j’ ai essayé sans parvenir à un bon résultat :
DEFPARAM FLATAFTER = 200000
Ctime = time >= 080000 and time <= 200000
compteur = 0
Mrapide = Average[10](close)
Mlente = Average[15](close)
barhaussiere = (close > open) // + 1 au compteur
barbaissiere = (close < open) // – 1 au compteur
doji = (close = open) // 0 au compteur
longclose = CLOSE > MAX (Mrapide,Mlente) // + 1 au compteur
shortclose = CLOSE < MIN (Mrapide,Mlente) // – 1 au compteur
milieuclose = CLOSE < MAX (Mrapide,Mlente) AND CLOSE > MIN (Mrapide,Mlente) // 0 au compteur
Mcroissantes = Mlente[1]< Mlente AND Mrapide[1]< Mrapide // + 1 au compteur
Mdecroissantes = Mlente[1]> Mlente AND Mrapide[1]> Mrapide // – 1 au compteur
Mplates = Mlente[1]= Mlente OR Mrapide[1]= Mrapide // 0 au compteur
tendancelongue = Mrapide > Mlente // + 1 au compteur
tendanceshort = Mrapide < Mlente // – 1 au compteur
tendanceplate = Mrapide = Mlente // 0 au compteur
//A la clôture de chaque bougie on calcule la valeur du compteur et c’ est là que je ne trouve pas le morceau de code pour calculer le compteur.
IF Ctime THEN
IF NOT LONGONMARKET AND compteur > 0 THEN // ouverture trade long
EXITSHORT AT MARKET
BUY 1CONTRACT AT MARKET
ENDIF
IF NOT SHORTONMARKET AND compteur < 0 THEN // ouverture trade short
SELL AT MARKET
SELLSHORT 1CONTRACT AT MARKET
ENDIF
ENDIF
Merci pour vos conseils.