Conversion indicateur TradingView “Impulse MACD” de LazyBear

Forums ProRealTime forum Français Support ProBuilder Conversion indicateur TradingView “Impulse MACD” de LazyBear

Viewing 6 posts - 1 through 6 (of 6 total)
  • #209565

    Bonjour,

    J’ai converti le code de l’indicateur TradingView “Impulse MACD” de LazyBear

    mais j’ai du me tromper car je n’obtiens pas de graph. en retour. Quelqu’un peut-il jeter un coup d’œil ?

    J’ai un doute sur ma conversion de la ligne “smma=na(smma[1]) ? sma(src, len) : (smma[1] * (len – 1) + src) / len” car je n’ai pas pris en compte la partie “na(smma[1]) ” que je ne comprend pas bien.

    En pièce jointe mon code.

    Ci-dessous le lien ainsi que le code de l’indicateur “Impulse MACD” de LazyBear :

    https://fr.tradingview.com/v/qt6xLfLi/

    Code TradingView “Impulse MACD” de LazyBear :

    //
    // @author LazyBear
    //
    // List of my public indicators: http://bit.ly/1LQaPK8
    // List of my app-store indicators: http://blog.tradingview.com/?p=970
    //
    //
    study(“Impulse MACD [LazyBear]”, shorttitle=”IMACD_LB”, overlay=false)
    lengthMA = input(34)
    lengthSignal = input(9)
    calc_smma(src, len) =>
    smma=na(smma[1]) ? sma(src, len) : (smma[1] * (len – 1) + src) / len
    smma

    calc_zlema(src, length) =>
    ema1=ema(src, length)
    ema2=ema(ema1, length)
    d=ema1-ema2
    ema1+d

    src=hlc3
    hi=calc_smma(high, lengthMA)
    lo=calc_smma(low, lengthMA)
    mi=calc_zlema(src, lengthMA)

    md=(mi>hi)? (mi-hi) : (mi<lo) ? (mi – lo) : 0
    sb=sma(md, lengthSignal)
    sh=md-sb
    mdc=src>mi?src>hi?lime:green:src<lo?red:orange
    plot(0, color=gray, linewidth=1, title=”MidLine”)
    plot(md, color=mdc, linewidth=2, title=”ImpulseMACD”, style=histogram)
    plot(sh, color=blue, linewidth=2, title=”ImpulseHisto”, style=histogram)
    plot(sb, color=maroon, linewidth=2, title=”ImpulseMACDCDSignal”)

    ebc=input(false, title=”Enable bar colors”)
    barcolor(ebc?mdc:na)

    //

     

    Merci.

    #209572

    C’est un bloc conditionnel IF THEN ENDIF en 1 seule ligne. Ici le na() test si la variable smma[1] (donc dans la bougie qui précède) est Non Available (soit nulle), si c’est le cas alors on fait une moyenne mobile simple sans cette valeur, sinon on utilise dans un calcul plus élaboré.

    En ProBuilder, cette fonction n’existe pas, on peut soit attendre une bougie (en faisant IF BARINDEX>1 ou en testant si la variable n’est pas égale à 0).

    Je regarde ton code.

    #209575

    Ton code est correct, félicitations ! Le problème c’est en effet l’impossibilité de calculer quelquechose dés les premiers chandeliers car on a des valeurs nulles, donc il faut ajouter une condition sur le barindex, en général j’utilise la valeur la plus élevé des périodes de calcul, ici “lengthMA”, soit attendre 34 chandeliers avant de lancer des calculs:

     

    1 user thanked author for this post.
    #209578

    Merci !!

    J’ai eu du mal aussi avec la partie ci-dessous en jaune :

    On utilise hi[1] (ou encore lo[1]) alors qu’on ne l’a jamais calculé auparavant ?

    #209583

    Oui dans ce cas c’est égal à 0 pour le premier calcul.

    Mais comme indiqué dans mon premier message, dans le code initial il ne l’utilise pas si égale à 0, en langage ProBuilder ce serait comme ceci:

    1 user thanked author for this post.
    #209600

    OK ! Merci.

    A+

Viewing 6 posts - 1 through 6 (of 6 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login