Pour évaluer le passage d'ordre j'ai fait un robot de debug.
L'erreur de mon premier code était un problème de décimale dans le nombre de lot envoyé.
--> Corrigé.
Mais alors là je suis sacrément surpris de la façon dont sont executés les codes.
Dans l'ordre du code, une fois tous les feux vert allumés le code balance un BUY pos SHARES
AT MARKET
Plus loin et vers la fin du code j'ai ça :
Code : #
if COUNTOFLONGSHARES > 0 then
set target pPROFIT tp
set stop pLOSS sl
elsif COUNTOFSHORTSHARES > 0 then
//set target pPROFIT tp
else
set target pPROFIT 0
endif
ça veut qu'entre l'execution du code et l'entrée en position il y a un délais. Or le code n'est executé qu'à la cloture de la
Bougie.
En paliatif j'ai rajouté les lignes
Code : #
set target pPROFIT tp
set stop pLOSS sl
Juste après ma ligne BUY pos SHARES
AT MARKET
mais seule le SL est positioné et comme plus haut à l'exectuion suivante le code rajoute le TP.
Il y a un moyen de positionner les TP/SL dès que l'ordre a été servi ? (genre un tick-by-tick pour l'execution du code).