Bonjour,
J’ai honte de demander de l’aide sur ce sujet, j’arrive à faire ce genre de choses tout seul normalement, mais là je ne comprends pas pourquoi ça ne fonctionne pas !
Voir sur le schéma ci-joint et le code ci-dessous, très simple :
Admettons que j’entre short sur la bougie rouge qui suit la blanche qui a cloturé au-dessus de la Bollinger supérieure, je cherche tout simplement à définir mon tp auto sur la Bollinger middle (soit la MM20), et mon SL équivalent à 2 fois ce TP (je sais, RR pas beau, mais c’est pour l’exemple). Je fais donc la différence entre tradeprice et MM20 pour avoir mon TP en points, que je multiplie par 2 pour avoir mon SL en points. Proorder se comporte comme si mon TP n’était jamais atteint.
Je précise que je suis sur le forex, alors j’ai essayé avec *pipsize, *pointsize, mais sans succès. Un grand merci pour votre aide, ça doit être très facile pour la plupart d’entre vous ^^
bollUp = BollingerUp[20](Close)
bollDown = BollingerDown[20] (Close)
bollMid = Average[20](Close)
signalShort = Close < bollUp
signalLong = Close > bollDown
//achat
IF signalLong THEN
BUY 1 CONTRACT AT MARKET
TPlong = (bollMid - tradeprice) * pipsize
set STOP pLOSS 2*TPLong
set TARGET pPROFIT TPlong
ENDIF
//vente
IF signalShort THEN
SELLSHORT 1 CONTRACT AT MARKET
TPshort = (tradeprice - bollMid) *pipsize
set STOP pLOSS 2*TPshort
set TARGET pPROFIT TPshort
ENDIF
bollUp = BollingerUp[20](Close)
bollDown = BollingerDown[20] (Close)
bollMid = Average[20](Close)
signalShort = Close < bollUp
signalLong = Close > bollDown
//achat
IF signalLong THEN
BUY 1 CONTRACT AT MARKET
TPlong = (bollMid - tradeprice)/ pipsize
set STOP pLOSS 2*TPLong
set TARGET pPROFIT TPlong
ENDIF
//vente
IF signalShort THEN
SELLSHORT 1 CONTRACT AT MARKET
TPshort = (tradeprice - bollMid) /pipsize
set STOP pLOSS 2*TPshort
set TARGET pPROFIT TPshort
ENDIF
bonjour,
essayer comme ecrit si dessus
quand tu additionne de nombre a virgule . pour avoir un nombre entier tu les divises par pointsize
Merci fifi pour ton regard mais non ça ne change rien… Toujours pas de TP ni de SL exécuté.
j’ai pas testé mais
change tradeprice par close
j’ai testé sur Nasdaq 5 minute et ça marche
Merci pour ton aide je regarderai demain matin !
Merci pour ton aide fifi, en effet avec le close et en gérant mieux l’ordre des instructions ça marche !
Voici le code, une fois qu’on a défini ce qui déclenche le signal long ou short :
// ACHAT
IF not onmarket AND signalLong THEN
SLlong = (Average[20] - Close) * 2.5 / pipsize
TPlong = (Average[20] - Close) / pipsize
BUY 1 CONTRACT AT MARKET
set STOP pLOSS SLlong
set TARGET pPROFIT TPlong
ENDIF
// vente
IF not onmarket AND signalShort THEN
TPshort = (Close - Average[20]) / pipsize
SLshort = (Close - Average[20]) * 2.5 / pipsize
SELLSHORT 1 CONTRACT AT MARKET
set STOP pLOSS SLshort
set TARGET pPROFIT TPshort
ENDIF