Erreur dans boucle for to next

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #111130 quote
    fireleg79
    Participant
    Junior

    Bonjour,

    Voici un code qui me donne une erreur avec l’instruction HIGHEST dans une boucle for to next (un paramètre de type entier positif est attendu).

    trigger = CALL "MM50 Trigger V2"
    MM50 = Average[50](close)
    ccindex50 = CCI[50](close)
    //ccindex20 = CCI[20](close)
    bas = MM50 - Delta
    haut = MM50 + Delta
    bas3 = MM50 - (3*Delta)
    haut3 = MM50 + (3*Delta)
    
    c1 = (trigger = 1)
    c2 = (ccindex50 >= 85)
    c3 = (trigger = -1)
    c4 = (ccindex50 <= -85)
    c5 = (close > haut OR close > MM50)AND (close < haut3)
    c6 = (close < bas OR close < MM50) AND (close > bas3)
    c7 = (ccindex50[1] < ccindex50[0])
    c8 = (ccindex50[1] > ccindex50[0])
    
    i = 0
    volat = 1
    for i = 5 to 50
    if (highest[MM50[i]](close)) - (lowest [MM50[i]](close)) < (3*Delta) then
    volat = 0
    break
    endif
    next
    
    
    // Signal achat
    if c1 AND (c2 OR c7) AND c5 AND (volat = 0)then
    //backgroundcolor(151,223,198)
    backgroundcolor (9, 82, 40)
    endif
    // Signal vente
    if c3 AND (c4 OR c8) AND c6 AND (volat = 0)then
    //backgroundcolor(252,93,93)
    backgroundcolor(231, 62, 1)
    endif
    return

     

    Je cale. Pouvez-vous m’aider?

    Merci d’avance!

    Erreur-PRT.jpg Erreur-PRT.jpg
    #111152 quote
    Nicolas
    Keymaster
    Master

    La valeur/variable entre crochet dans une instruction Highest ou Lowest est une période, pourquoi y injecter la valeur d’une moyenne mobile ?

    #111159 quote
    fireleg79
    Participant
    Junior

    Bonjour Nicolas,

    Parce que je n’y connais pas grand chose… 🙂

    En fait mon idée, c’est prendre les valeurs extrêmes de la MM50 (plus haut et plus bas) entre la 5ème et la 50 ème bougie avant la bougie actuelle et de retenir la différence. Ensuite de déterminer si cette différence est supérieure ou inférieure à une valeur donnée. Ici (3*Delta), Delta étant une variable que je peux modifier.

    Merci d’avance pour la réponse et le partage de connaissance.

    Bonne journée.

    #111165 quote
    Nicolas
    Keymaster
    Master

    Pas besoin de boucle dans ce cas, si on prend le plus haut et le plus bas de 45 périodes de la MM50 et cela 5 bougies en arrières, on obtient logiquement ce que tu souhaites :

    MM50 = Average[50](close)
    
    hh=highest[45](mm50)[5]
    ll=lowest[45](mm50)[5]
    
    diff=hh-ll
    
    return diff

    A vérifier et à incorporer dans ton code d’indicateur.

    #111166 quote
    fireleg79
    Participant
    Junior

    Merci beaucoup. Je vais tester ça.

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

Erreur dans boucle for to next


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
fireleg79 @fireleg79 Participant
Summary

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

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 10/24/2019
Status: Active
Attachments: 1 files
Logo Logo
Loading...