Be-nParticipant
Average
Bonjour la communauté !
J’aimerais identifier un croisement de moyennes mobiles (20 et 50). Jusque-là pas de soucis :
mm20 = average[20]
mm50 = average[50]
monindex = 0
If mm20 > mm50 then
monindex = monindex + 1
maposition = barindex
Endif
A présent, comment puis-je identifier non pas le premier croisement mais le deuxième ? Je n’ai pas la bonne logique…
Merci d’avance de votre aide et de vos suggestions ! 👍
Bonjour,
Ca serait plutôt
ma20 crosses over ma50
Avec ma20>ma50, cela sera vrai tant que la ma20 est au dessus de la ma50, donc pas seulement le croisement.
Be-nParticipant
Average
Effectivement swingueur ! 😅 Merci de tout retour. Ceci étant rectifié, aurais-tu une solution pour identifier la position du deuxième croisement ? 🙄
Je ne m’y connais pas en gestion de position, il faudrait voir ce que vaut barindex et comment le réutiliser.
Mais une chose qui peut être faite est:
IF monIndex = 2 THEN
// instructions
monIndex=0
ENDIF
J’ai oublié d’ajouter que l’initialisation de la variable monindex à 0 ne doit être faite qu’une seule fois
once monindex = 0
Autrement, monindex sera toujours réinitialisée à chaque nouvelle barre.
Be-nParticipant
Average
Merci de ton retour Swingueur
Je dois vraiment m’y prendre comme un p… parce que monindex ne s’incrémente jamais :/ Normal puisqu’il n’est jamais égal à 2………
once monindex = 0
mm20 = average[20]
mm50 = average[50]
IF monindex = 2 THEN
If mm20 crosses over mm50 then
monindex = monindex + 1
maposition = barindex
Endif
monindex=0
ENDIF
Be-nParticipant
Average
Plus simplement, j’aimerais pouvoir transmettre une condition supplémentaire, du genre IF “”””index de ma position””””<MaPositionPrecedente AND mm20 crosses over mm50 THEN maDeuxiemePosition = barindex ………
L’utilsation d’une boucle semble être judicieux afin de détecter ce moment (par rapport au résultat précédent). L’exemple de cette discussion parait correspondre à ma problématique : https://www.prorealcode.com/topic/help-creation-dun-indicateur/
Par contre, je ne sais pas dans quel sens adapter ce code…
Merci d’avance ! 😉
Ok, peut être que mes messages précédents n’étaient pas assez explicites.
Voici une version modifiée, encore une fois sans comprendre ce que vous comptez faire au final et pourquoi utiliser barindex
once monindex = 0
mm20 = average[20]
mm50 = average[50]
If mm20 crosses over mm50 then
monindex = monindex + 1
Endif
IF monindex = 2 THEN
maposition = barindex // or any other instruction
monindex=0 // to wait for 2 new signals
ENDIF