Bonjour à tous,
Lors d’une prise de position multiple en accumulation dans la baisse (par exemple), je réussi à faire en sorte que l’ensemble des positions soient clôturées avec un bilan global positif, mais je n’arrive pas à faire en sorte que le trade se clôture au dessus du niveau d’entrée de la première position prise.
Exemple dans l’image.
Merci d’avance.
Je vous donne un exemple pour que vous puissiez voir comment contrôler le nombre de billets et le prix du premier billet. De cette façon, vous pourriez établir une condition supplémentaire pour sortir lorsque le prix est supérieur au prix d’entrée.
DEFPARAM CumulateOrders = true
IF yourconditions and e<4 THEN
buyprice=tradeprice(e)
e=e+1
BUY 1 contract AT MARKET
endif
IF onmarket and yourconditions THEN
SELL AT MARKET
e=0
ENDIF
graph buyprice coloured("darkblue")
Bonjour,
Un grand merci pour ton aide.
J’ai testé mais je n’arrive pas à garder en mémoire le prix d’entrée du tout premier achat pour le mettre comme condition de sortie sous forme : close > prix premier achat.
Merci pour ton aide.
Bonnes! Il a amélioré le code pour contrôler le prix d'entrée initial :
if setupshort and e<4 then
sellshort 1 contract at market
set target $profit 800
set stop $loss 400
endif
if setuplong and e<4 then
buy 1 contract at market
set target $profit 800
set stop $loss 400
endif
if not onmarket THEN
e=0
elsif countofposition=0 or (countofposition>0 and countofposition[1]<0) or (countofposition<0 and countofposition[1]>0) then
e=1
elsif onmarket and countofposition<>countofposition[1] then
e=e+1
endif
graph tradeprice(e)
DEFPARAM CumulateOrders = true
once MaxOrders2Cumulate = 4
once MaxpositionSize = 2
once OrderSize = 0.5
once NbrOrders = 0
once PositionSize = 0
IF ConditionsareMet and NbrOrders
DEFPARAM CumulateOrders = true
once MaxOrders2Cumulate = 4
once MaxpositionSize = 2
once OrderSize = 0.5
once NbrOrders = 0
once PositionSize = 0
if onmarket and NbrOrders = 1 THEN
FirstEntry = tradeprice
endif
IF ConditionsareMet and NbrOrders<maxorders2cumulate and PositionSize<MaxpositionSize THEN
BUY OrderSize contract AT MARKET
IF NbrOrders = 0 THEN
FirstEntry = close // Approximation
endif
NbrOrders = NbrOrders + 1
PositionSize = PositionSize + OrderSize
endif
IF onmarket and Close > FirstEntry (and NbrOrders > 2) THEN // (factultatif)
SELL AT MARKET
NbrOrders = 0
PositionSize = 0
ENDIF
graph buyprice coloured("darkblue")