ce que j'ai dit ci-dessus est vrai mais peut-être contourné :
il ne faut pas compter sur la commande STRATEGYPROFIT pour vous couper les positions mais vous pouvez toujours mettre des TP et SL sur chaque position et mettre en plus une condition sur STRATEGYPROFIT pour arrêter votre journée.
Ci-dessous un code qui semble plus ou moins fonctionner .
il faut juste savoir que la condition sur STRATEGYPROFIT s'active APRES que le SLjour/TPjour soit atteint (mais qu'il peut être dépassé en fonction de votre SL/TP sur position).
en clair : si vous mettez un SL=15 par position et un SLjour à 50, si vous avez atteint 3 fois le SL --> -45pt , il faudra attendre d'avoir touché encore une fois le SL pour que le SLjour s'active.
Vous aurez donc une perte de 4*15=60pt et non 50 comme prévu par votre SLjour.
il faut donc que votre SLjour soit cohérent avec votre SL sur position.
Si vous prenez des positions sans SL/TP mais sur base d'un indicateur, vos pertes/gains peuvent donc dépasser fortement votre SLjour/TPjour....à vous d'adapter votre code en prenant en compte cette remarque
voici le code (le code pour la prise de position est juste un code pour dire de prendre une position à chaque bougie , ce n'est pas cette partie qui est importante dans le test ci-dessous )
Code : #
DEFPARAM CumulateOrders = True
heurdeb=80000
heurfin=163500
once pos=2
TP=5
SL=5
TPjour=50
SLjour=50
if time=heurdeb then
openjour=open
swijour=0 // si swijour=0 , on peut encore prendre des positions
strategyTP=STRATEGYPROFIT+TPjour
strategySL=STRATEGYPROFIT-SLjour
endif
if STRATEGYPROFIT>=strategyTP or STRATEGYPROFIT<=strategySL then
swijour=1
endif
if Time >= heurdeb and Time <= heurfin and swijour=0 then
if open < openjour then
BUY pos CONTRACT AT market
set target pprofit TP
set stop ploss SL
elsif open>openjour then
sellshort pos contract at market
set target pprofit TP
set stop ploss SL
endif
ENDIF