Bonjour,
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
DEFPARAM CumulateOrders = False
sell at market
exitshort at market
if average(5) > Average(10) then
buy 1 contract at market
endif
if average(5) < Average(10) then
sellshort 1 contract at market
endif
set stop ploss 10
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.
Merci à vous et bonne soirée
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.
Le sujet de base: Première approche sur le multi timeframe avec ProRealTime
Sujet récent avec réponses à des questions sur le multi timeframe en trading automatique : https://www.prorealcode.com/topic/backtests-et-ticks/
Exemple simple d’une stratégie en unité de temps journalière avec action en TF 5 minutes: https://www.prorealcode.com/topic/sell-same-bar-close/#post-87943
Bonjour Nicolas,
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.
OK je vais travailler de cette manière.
Merci
Nicolas,
Grace à tes précisions j’ai réussi écrire quelque chose qui fonctionne pour le moment.
Merci pour ta disponibilité et bonne journée 😉