Identifier le deuxieme croisement de mm

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #176398 quote
    Be-n
    Participant
    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 ! 👍

    #176399 quote
    Swingueur
    Participant
    Average

    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.

    #176400 quote
    Be-n
    Participant
    Average

    Effectivement swingueur ! 😅 Merci de tout retour. Ceci étant rectifié, aurais-tu une solution pour identifier la position  du deuxième croisement ? 🙄

    #176401 quote
    Swingueur
    Participant
    Average

    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
    #176408 quote
    Swingueur
    Participant
    Average

    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.

    #176425 quote
    Be-n
    Participant
    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
    #176429 quote
    Be-n
    Participant
    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 ! 😉

    #176430 quote
    Swingueur
    Participant
    Average

    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
    Nicolas thanked this post
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

Identifier le deuxieme croisement de mm


Support ProBuilder

New Reply
Author
author-avatar
Be-n @be-n Participant
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by Swingueur
4 years, 4 months ago.

Topic Details
Forum: Support ProBuilder
Language: French
Started: 08/28/2021
Status: Active
Attachments: No files
Logo Logo
Loading...