Bonjour,
étant débutant dans la programmation, je viens chercher votre aide car cela fait quelques jours que je bute sur une idée.
Je souhaite construire une stratégie avec la particularité de pouvoir la stopper en partie pour une durée déterminée, après que l’une des conditions soit remplie et que le 1 er trade soit clôturé.
exemple :
1 er condition pour vendre : que le RSI croisse à la baisse le niveau 70
2 eme condition indépendante à la première pour vendre: quand le RSI croisse à la baisse 50
Si l’une des conditions se réalise pour la première fois pendant la durée déterminée alors elle ne doit plus déclencher un nouvel ordre si elle se réalise à nouveau.
Merci de votre aide
Si ta première condition se réalise, le premier Trade est lancé, tu peux donc à ce même moment affecter une valeur à une variable pour identifier que cette condition s’est déjà réalisé. Il suffira ensuite de vérifier cette variable dans le reste du code pour exécuter d’autres instructions.
Merci Nicolas,
Je pense avoir réussit et vu que je ne suis pas peu fier… je te présente mon code ! :D:D:D
Plus sérieusement, je ne sais pas encore designer ce que j’ai fait. J’ai survolé le pdf probulder mais je n’ai pas encore tout intégré.
//indicateur utlilisé
indicator1 = RSI[14](close)
//trade par jour --------------------------------------> variable ?
if time = 090000 then
untradeparjourdursi1 = 0
untradeparjourdursi2 = 0
endif
//les deux conditions independantes pour un achat
c1 = (indicator1 CROSSES over 30)
c2 = (indicator1 CROSSES over 50)
if c1 and untradeparjourdursi1 = 0 THEN
buy 1 contract at market
untradeparjourdursi1 = 1
elsif c2 and untradeparjourdursi2 = 0 then
buy 1 contract at market
untradeparjourdursi2 = 1
endif
set target profit 10
set stop loss 10
Bravo Pascal ! tu as réussi à coder ton idée.
On voit par là, que l’apprentissage du langage de programmation prorealtime est vraiment rapide 🙂
Pour la réinitialisation de tes variables quotidiennes, personnellement j’utilise plutôt intradaybarindex comme ceci :
//trade par jour --------------------------------------> variable ?
if intradaybarindex=0 then
untradeparjourdursi1 = 0
untradeparjourdursi2 = 0
endif
Cela permet de vérifier que l’on réinitialise bien à la première barre de la journée, et pas seulement à 09h00.00 du matin, car il est possible que l’instrument ne possède pas cette barre. De plus cette instruction est compatible avec tous les TF.