Bonjour à tous,
Voilà j’aimerai ajouter une contrainte dans mon code, mais je ne parviens pas trop à coder cela, si des personnes pouvaient m’aider ce serait top 🙂
J’ai un indicateur qui lorsqu’il croise la courbe est un signal, et j’aimerai que seulement X barres après ce croisement je puisse déclencher un achat.
Donc pour faire simple :
L’indicateur croise un niveau précis
Aucun ordre placé avant X barres suivant ce croisement
Il faudrait en quelque sorte stocker la donnée de l’heure du croisement et la comparer avec l’actuelle pour estimer si on a bien dépasser le minimum.
J’espère que c’est assez clair pour vous ?
Je vous remercie grandement !
Je ne l'ai pas testé:
Crossing = close CROSSES OVER average[30]
IF Crossing THEN
CrossPrice = close
ENDIF
IF summation[5](Crossing) = 0 then
IF close > CrossPrice THEN
BUY 1 CONTRACT AT MARKET
ENDIF
ENDIF
Dans le code que Roberto a posté, il teste si depuis 5 barres, un nouveau croisement par le haut n’a pas eu lieu et que le prix est toujours situé au dessus du prix détecté lors du croisement.
Intéressant !
Du coup summation va compter le nombre de barre depuis le croisement ?
Non, cela garantit qu'il n'y a pas eu de croisement dans les 5 dernières barres.
L’instruction SUMMATION réaliser une somme. Ici on l’utilise pour compter la quantité de condition vrai (soit égale à 1) de la variable booléenne “Crossing”. Donc, bien entendu, si on ajoute des 1, on aura un résultat supérieur à 0 et donc la condition à au moins était vrai sur une des dernières périodes considérées.
Hors ici, on cherche à savoir si durant les 5 dernières barres, il n’y a pas eu de croisement, donc le test de somme doit être égal à 0.