MACD Zéro Retard

Viewing 15 posts - 1 through 15 (of 28 total)
  • Author
    Posts
  • #7952 quote
    fxforex93
    Participant
    Junior

    BOnjour tous le monde.

    je n’arrive pas à faire appel au MACD Zéro Retard.

    il me dit Erreur de syntaxe : la fontion “MACD Zéro Retard” n’existe pas.

    Pourtant cet indicateur est un indicateur de base de prorealtime.

    j’arrive bien sur avec l’indicateur MACD normal.

    merci

    #7953 quote
    Nicolas
    Keymaster
    Master

    Bonjour, une erreur de syntaxe est une simple erreur de typographie, il y a donc une ligne qui comporte un caractère en trop ou en moins, une instruction mal “orthographié”, etc…

    En postant le code ici on pourra le corriger sans soucis, merci.

    #7955 quote
    fxforex93
    Participant
    Junior

    Re,

    voici le code

    myMACDDefault = call "MACD Zéro Retard"[12,26,9]
    
    if  myMACDDefault>0 THEN
    bullishSignal = 1
    bearishSignal = 0
    ELSIF myMACDDefault<0 THEN
    bullishSignal = 0
    bearishSignal = -1
    ELSE
    bullishSignal = 0
    bearishSignal = 0
    ENDIF
    
    RETURN bullishSignal, bearishSignal
    
    #7959 quote
    yassel
    Participant
    Average

    Bonjour fxforex93

     

    moi j’ai ca et cela marche tres bien

    // MACD ZERO LAG
    // p= variable macd zerolag, entier, defaut 9
    // q= variable signal, entier, defaut 19
    // r= variable entier, defaut 6
    
    //macd - signal mettre histogramme
    
    z1=DEMA[12](close)
    z2 =dema[26](close)
    e= z1 - z2
    
    z3=DEMA[9](e)
    
    f=z3
    g=e-f
    
    return e AS "MACD ZEROLAG",f AS "signal",g as "macd-signal",0 as "zero"
    Nicolas and Guibourse thanked this post
    #7960 quote
    Nicolas
    Keymaster
    Master

    Merci, sur ma plateforme le MACD zéro retard s’appelle “ZeroLag MACD”, j’ai donc remplacé son nom et ignoré la variable de la ligne de signal, comme ceci :

    myMACDDefault,ignored = call "ZeroLag MACD"[12,26,9]
    
    if  myMACDDefault>0 THEN
     bullishSignal = 1
     bearishSignal = 0
    ELSIF myMACDDefault<0 THEN
     bullishSignal = 0
     bearishSignal = -1
    ELSE
     bullishSignal = 0
     bearishSignal = 0
    ENDIF
    
    RETURN bullishSignal, bearishSignal

    Ton code fonctionne donc bien désormais.

    Guibourse thanked this post
    MACD-zerolag-prorealtime-code.png MACD-zerolag-prorealtime-code.png
    #7965 quote
    fxforex93
    Participant
    Junior

    super merci à tous je vais tester cela et vous tiens au courant .

    #7971 quote
    fxforex93
    Participant
    Junior

    super merci à vous ça marche

    #10974 quote
    Doctrading
    Participant
    Master

    Bonjour,

    Voici un code simple qui donne le même résultat que l’indicateur par défaut sur PRT /

    // MACD ZERO LAG
    // p= variable macd zerolag : 12 par défaut
    // q= variable signal : 26 par défaut
    // r= variable macd - signal : 9 par défaut // mettre histogramme
    
    p = 12
    q = 26
    r = 9
    
    z1=DEMA[p](close)
    z2 =dema[q](close)
    e= z1 - z2
    z3=DEMA[r](e)
    f=z3
    g=e-f
    
    return e AS "MACD ZEROLAG",f AS "signal",g as "macd-signal",0 as "zero"
    

    Ca fonctionne nickel 😉

    #10976 quote
    Nicolas
    Keymaster
    Master

    Oui déjà posté dans le message plus haut:  http://www.prorealcode.com/topic/macd-zero-retard/#post-7959

    #22516 quote
    HerveS_67
    Participant
    Veteran

    Bonsoir,

    J’ai repris le code MACDZR indiqué plus haut et souhaite intégrer la couleur et forme des lignes de signal.

    Pour la couleur OK, bien que j’aimerais que ma MACD ZR soit verte en hausse et rouge en baisse !

    Mais surtout je n’arrive pas à mettre ma MACD-Signal en histogramme avec vert en hausse et rouge en baisse ! (car si je sélectionne histogramme après validation code, je ne peux choisir les couleurs)

    Comment puis-je faire svp ?
    Merci

    Ci-joint mon code

    //DEBUT//
    // MACD ZERO LAG
    // p= variable macd zerolag : 12 par défaut
    // q= variable signal : 26 par défaut
    // r= variable macd - signal : 9 par défaut // mettre histogramme
    p = 12
    q = 26
    r = 9
    
    z1=DEMA[p](close)
    z2 =dema[q](close)
    e= z1 - z2
    z3=DEMA[r](e)
    f=z3
    g=e-f
    
    return e COLOURED(255, 0, 0) AS "MACD ZEROLAG",f COLOURED(0, 0, 0) AS "signal",g COLOURED(0, 0, 255) as "macd-signal",0 COLOURED(0, 0, 0) as "zero"
    
    //FIN//
    #22530 quote
    Nicolas
    Keymaster
    Master

    Pour faire varier la couleur il faut tester si la variable est plus haute que sa valeur précédente (et donc verte) ou plus basse (rouge). Dans les deux cas on créera une variable qu’on appellera par exemple “couleur” pour faire original 🙂

    Pour colorier la ligne de signal en fonction de sa valeur précédente:

    if f>f[1] then 
     couleur = 1
    else
     couleur = -1
    endif

    Ensuite dans la fonction RETURN, on déterminera la couleur de f, non plus avec COLOURED(R,V,B) mais avec l’instruction COLOURED BY, comme ceci: (voir exemple 2 de la page documentation du site)

    RETURN f coloured by couleur

    Traduction faite, cela signifie que la variable ‘f’ sera colorié par la valeur de la variable ‘couleur’, il faudra cependant pour cela changer soit même les valeurs de couleurs “hausse” et “baisse” dans la fenêtre des paramètres de l’indicateur de la plateforme.

    HerveS_67 thanked this post
    #22534 quote
    HerveS_67
    Participant
    Veteran

    MERCI !!! Et quelle rapidité… Comment fais-tu ? LOL
    Mais grâce à toi, je me suis aperçu qu’il y avait aussi des bouts de codes (indicateurs, SL, TP, TS,…) sur le site ProRealCode : GENIAL !!!

    Documentation


    Avec quelques modifications…(couleur, signal, MMS7)
    EN PJ les 2 codes En haut celui de PRT, en bas le code manuel ci-dessous
    Et tout ceci parce que PRT V10.2 ne prend pas le code originel comme condition dans PRoScreener

    Voici le code final :

    //DEBUT//
    // MACD ZERO LAG
    // p= variable macd zerolag : 12 par défaut
    // q= variable signal : 26 par défaut
    // r= variable macd - signal : 9 par défaut // mettre histogramme
    p = 12
    q = 26
    r = 9
    
    z1=DEMA[p](close)
    z2 =dema[q](close)
    e= z1 - z2
    z3=DEMA[r](e)
    f=z3
    g=e-f
    m=Average[7](e)
    
    if e>e[1] then
    couleur = 1
    else
    couleur = -1
    endif
    return e COLOURED by(couleur) AS "MACD ZEROLAG",f  COLOURED(0, 0, 0) AS "signal",g as "macd-signal",0 COLOURED(0, 0, 0) as "zero",m COLOURED(0, 0, 0) as "MM7"
    
    //FIN//
    2017-01-26_092444.png 2017-01-26_092444.png
    #23830 quote
    HerveS_67
    Participant
    Veteran

    Bonjour,

    Autre question 😉
    Comment indiquer dans un screener quand la MACD-signal croise >0 ou <0 (= qui est aussi croisement MACDZR avec SignalZR)

    De plus comment intégrer croisement MACDZR avec une Moyenne Mobile rajouté sur l’indicateur

    Ensuite comment différencier dans les résultats du screener si Croisement hausse ou baisse avec une colonne ou serait indiqué le résultat soit chiffré, soit en lettre

    Et la dernière question, si je souhaite le résultat sur plusieurs TF, comment faire pour obtenir des résultat différenciés…
    exemple
    si H1 Up + M30 Up
    si H1 Down + M30 Down
    si H1 Up + M30 Down
    si H1 Down + M30 Up
    J’aurais tout le temps un retournement sauf que la stratégie (Tp & SL) à appliquer est différente…

    Merci beaucoup pour votre aide !
    @+RV

    #23973 quote
    HerveS_67
    Participant
    Veteran

    Bonjour,

    J’ai progresser, mais encore des résultat à 0, pourquoi ?

    
    
    REM Le code qui suit fait référence à l'unité de temps:15 minutes
    TIMEFRAME(1 hour)
    indicator1, ignored, ignored, ignored, ignored = CALL "MACD ZERO LAG"
    ignored, indicator2, ignored, ignored, ignored = CALL "MACD ZERO LAG"
    
    REM Le code qui suit fait référence à l'unité de temps:5 minutes
    TIMEFRAME(30 minutes)
    indicator3, ignored, ignored, ignored, ignored = CALL "MACD ZERO LAG"
    ignored, indicator4, ignored, ignored, ignored = CALL "MACD ZERO LAG"
    
    REM Le code qui suit fait référence à l'unité de temps:2 minutes
    TIMEFRAME(15 minutes)
    indicator5, ignored, ignored, ignored, ignored = CALL "MACD ZERO LAG"
    ignored, indicator6, ignored, ignored, ignored = CALL "MACD ZERO LAG"
    
    REM Le code qui suit fait référence à l'unité de temps:DEFAULT
    TIMEFRAME(DEFAULT)
    
    //screener conditions
    
    condition=0
    c1 = indicator1 > indicator2 
    c2 = indicator1 < indicator2
    c3 = indicator3 < indicator4
    c4 = indicator3 < indicator4
    c5 = indicator5 > indicator6
    c6 = indicator5 < indicator6
    
    if c1 and c3 and c5 then
    condition=1
    elsif c2 and c4 and c6 then
    condition=2
    elsif c1 and c3 and c6 then
    condition=3
    elsif c2 and c4 and c5 then
    condition=4
    elsif c2 and c3 and c5 then
    condition=5
    elsif c1 and c4 and c6 then
    condition=6
    elsif c1 and c3 and c5 then
    condition=7
    elsif c2 and c4 and c5 then
    condition=8
    ENDIF
    
    SCREENER (condition AS "condition")
    

     

    Merci de votre aide !
    @+RV

    2017-02-05_115522.png 2017-02-05_115522.png
    #23992 quote
    HerveS_67
    Participant
    Veteran

    Bonjour,

    J’ai réussi à corriger et à encore  simplifier mon code, malgré que je doive encore rajouter des  conditions… avec d’autres indicateurs

    Par contre, je suis sous PRT V10.2 et dès que je souhaite tester mes conditions avec une TF inférieure à 5 minutes, cela ne fonctionne plus (M3, M2, M1) !!!

    D’ailleurs, il n’y a pas de possibilités en-dessous de M1 ?

    Quelqu’un serait-il si il y a une limite en dessous de laquelle on ne peut utiliser les TF avec des conditions ?

    REM Le code qui suit fait référence à l'unité de temps:1 heure
    TIMEFRAME(1 hour)
    ignored, ignored, indicator1, ignored, ignored = CALL "MACD ZERO LAG"
    
    REM Le code qui suit fait référence à l'unité de temps:15 minutes
    TIMEFRAME(15 minutes)
    ignored, ignored, indicator2, ignored, ignored = CALL "MACD ZERO LAG"
    
    REM Le code qui suit fait référence à l'unité de temps:2 minutes
    TIMEFRAME(2 minutes)
    ignored, ignored, indicator3, ignored, ignored = CALL "MACD ZERO LAG"
    
    REM Le code qui suit fait référence à l'unité de temps:DEFAULT
    TIMEFRAME(DEFAULT)
    
    //screener conditions
    condition=0
    c1 = indicator1 > 0
    c2 = indicator1 <= 0
    c3 = indicator2 > 0
    c4 = indicator2 <= 0
    c5 = indicator3 > 0
    c6 = indicator3 <= 0
    
    if c1 and c3 and c5 then
    condition=1
    elsif c2 and c4 and c6 then
    condition=2
    elsif c1 and c4 and c5 then
    condition=3
    elsif c2 and c3 and c6 then
    condition=4
    elsif c2 and c3 and c5 then
    condition=5
    elsif c1 and c4 and c6 then
    condition=6
    elsif c2 and c4 and c5 then
    condition=7
    elsif c1 and c3 and c5 then
    condition=8
    ENDIF
    
    SCREENER (condition AS "condition")
    

     

    Merci pour vos réponses…

    @+RV

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

MACD Zéro Retard


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
fxforex93 @fxforex93 Participant
Summary

This topic contains 27 replies,
has 8 voices, and was last updated by DerekMills
6 years ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 05/25/2016
Status: Active
Attachments: 3 files
Logo Logo
Loading...