Je recherche un code qui permette de clôturer une position et d’en reprendre une dans la foulée.
En écrivant ceci, le trade en cours est bien clôturé mais la prise de position ne se fait qu’à la bougie suivante
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DEFPARAMCumulateOrders=False
sellatmarket
exitshortatmarket
ifaverage(5)>Average(10)then
buy1contractatmarket
endif
ifaverage(5)<Average(10)then
sellshort1contractatmarket
endif
set stopploss10
J’ai essayé de multiples écritures sans succès, toujours le même constat: je n’arrive pas à obtenir la fermeture de la position en cours et l’ouverture d’une nouvelle position sur la même bougie.
C’est le fonctionnement normal, le code est lu une seule fois à la fermeture de la bougie, donc tu ne peux pas interagir à l’intérieur. Mais cela est tout de même possible en utilisant l’instruction TIMEFRAME. On utilise un timeframe inférieur pour agir dans un timeframe supérieur.
Oui j’ai codé également en multi timeframe, cela fonctionnait mais j’avais un problème de synchronisation.
Je vais retravaillé dessus en me basant sur le multi timeframe.
Une autre question: nous avons les instructions FLATAFTER et FLATBEFORE qui permettent d’annuler tout ordre en cours. De la même manière existe-t-il une instruction ou un code permettant d’annuler tout ordre en cours (y compris les ordres STOP ou LIMITE) mais sans le critère de temps? Car en utilisant SELL et EXITSHORT les ordres limites ne sont pas annulés.
Les ordres conditionnels ne peuvent être annulés, ils expirent automatiquement 1 barre après avoir été posé. Donc si tu utilises un TF 1 minute, ils ne dureront qu’une seule minute. Il faut donc jouer avec cette contrainte avec es UT plus courtes, aka utiliser le MTF pour agir intrabar.
To help us continually offer you the best experience on ProRealCode, we use cookies. By clicking on "Continue" you are agreeing to our use of them. You can also check our "privacy policy" page for more information.Continue