formulation EMA (moyenne mobile exponentielle)

Forums ProRealTime forum Français Support ProBuilder formulation EMA (moyenne mobile exponentielle)

Viewing 15 posts - 16 through 30 (of 35 total)
  • #96051

    pour quel valeur de (close) ma condition c1 est valide, en l’occurrence pour avoir un indicateur avec les mêmes valeurs sur l’avant dernière bougie et celle en cours.

    je pensais à une sorte de boucle qui testerait x en partant de x = open -une valeur et la boucle teste cette valeur en rajoutant 0.00001 sur le prix à chaque fois et quand la condition est valide alors je retourne la valeur de x sur la graphique

    #96059

    comment programmer  ?

    pour x=… teste de condition 1

    -si non alors x = x + 0.00001 de nouveau teste de condition 1 etc

    -si oui retourner la valeur de x en question pour la tracer

    #96065

    je vais prendre un cas concret pour plus de facilité

    bougie précédente valeur EMA[10](close) = 1.56895

    nouvelle bougie (en cours) à combine doit elle clôturer pour avoir l’EMA[10](close) = 1.56895 aussi et je souhaite connaitre ce prix de clôture dés l’ouverture de celle-ci.

    Je pense que ça va être ^plus clair comme ça,tout au moins je l’espère.

    #96066

    je vais prendre un cas concret pour plus de facilité

    bougie précédente valeur EMA[10](close) = 1.56895

    nouvelle bougie (en cours) à combine doit elle clôturer pour avoir l’EMA[10](close) = 1.56895 aussi et je souhaite connaitre ce prix de clôture dés l’ouverture de celle-ci.

    Je pense que ça va être plus clair comme ça,tout au moins je l’espère.

    J’ai pris l’exemple de l’EMA mais si je pouvais l’appliquais à d’autre indicateur MACD RSI se serait top.

    #96079

    Je viens de faire des tests, le problème est qu’il peut exister une différence très petite entre le calcul effectué et ce que devrait être le close, dont je considère que le Close a trouver est exacte si il est égal ou inférieur à la taille d’un tick. Voici le code spécifique à une EMA:

    ça n’est pas si simple pour d’autres indicateurs car il faut intervenir dans leurs formules et tout recoder à chaque fois, donc non pas si “top”.
    En image ci-dessous en blanc la valeur trouvée, en rouge la EMA actuelle et en violet la EMA précédente, ça semble bien correspondre j’ai pu prendre une copie d’écran au bon moment.

    1 user thanked author for this post.
    #96097

    C’est exactement ça, il fonctionne à merveille. Chapeau

    Merci pour le temps passer et ce code Nicolas

    #96165

    Oula ça me parle pas vu mes connaissances en programmation,

    mais est il possible de déterminer la valeur x de clôture de la bougie en cours à partir de laquelle les EMA de la dernière et l’avant dernière bougies sont égales.

    Quels serait la formule dans ce cas, x= … ?

    Bon là c’est un peu moins simple que ton autre post sur la mm simple, mais c’est pas aussi compliqué que ça en a l’air si je me suis pas trompé…

    Si on stocke dans une variable dénommée EMA10 ta moyenne mobile exponentielle de période N=10, et qu’on garde la nomenclature du langage PRT pour exprimer sa valeur dans la bougie précédente càd EMA10[1],

    Alors on est d’accord qu’on cherche x tel que EMA10=EMA10[1] ou autrement dit EMA10-EMA10[1]=0

    Sachant que EMA10 = x * 2 / (N+1) + EMA10[1] * (1 – 2 / (N+1)) (ici N=10 mais peu importe je laisse la formule générale, le N va vite disparaître de toute façon),

    alors EMA10-EMA10[1]=0 s’écrit aussi:

    x * 2 / (N+1) + EMA10[1] * (1 – 2 / (N+1)) – EMA10[1] = 0

    soit:  x * 2 / (N+1) – EMA10[1] * 2 / (N+1) = 0

    soit:  x – EMA10[1]=0 après simplification du 2/(N+1)… (comme promis le N disparaît)

     

    La solution est donc :   x = EMA10[1]   sans nécessité de calcul numérique avec boucle

     

    2 users thanked author for this post.
    #96223

    Exact, les 2 méthodes fonctionnent et aboutissent au même résultat.

    Merci à vous pour votre implication.

     

    Après mure réflexion, ce calcul de x m’intéressait pour plusieurs indicateurs, cela pourrait s’appliquer au RSI pour le franchissement des seuils 80/20 ou au CCI pour les 100/-100, mais l’indicateur que j’utilise vraiment dans mon trading est la MACD ZERO LAG.

    J’ai donc un dernier projet si cela vous intéresse concernant cette fois ci la MACD Zero Lag, que j’utilise en H4 dans le but d’anticiper et de placer des OC,  avec toujours la même approche, pour quelle valeur de x :

    1- MACD ZERO LAG-SIGNAL=0 (le plus important )

    2- MACD ZERO LAG [1]-MACD ZERO LAG=0

    J’ai regardé de mon côté, j’ai vu que les calculs se font à partir de DEMA avec la formule suivante DEMA=2*EMA1-EMA2

    avec pour EMA1 la moyenne mobile exponentielle sur telle période, mais surtout et ça complique les choses une EMA2 qui est la moyenne mobile de la EMA1 sur la même période si j’ai bien tout compris ?

    Bref malheureusement vraiment au delà de mes compétences en mathématique et en programmation.

     

    #96225

    Bref malheureusement vraiment au delà de mes compétences en mathématique et en programmation.

    C’est vraiment dommage !

    1 user thanked author for this post.
    #96226

    Le RSI reverse engineering est ici : https://www.prorealcode.com/prorealtime-indicators/rsi-reverse-engineering-indicator/

    Pour la même chose avec le MACD zerolag , il me semble avoir vu quelque-chose dans le style ces derniers mois, vu que ça semble être “à la mode” 😆 Faudrait chercher sur les forums.

    1 user thanked author for this post.
    #96228

    Trouvé ici: Reverse Engineering of the Zero Lag MACD

    Quand je disais que c’était à la mode ! 😛

    1 user thanked author for this post.
    #96238

    C’est à la mode 🙂

    Par contre le code ne fonctionne pas, enfin il fonctionne mais ne renvoie pas la valeur, il y a un léger décalage, je suis pile poil au moment ou l’histo était égal à 0.00000, de plus x évolue en fonction du prix sur la bougie. C’est normal que le calcul se refasse avec la création d’une nouvelle bougie mais là c’est durant la bougie en cours  que ça bouge alors que je pense que ça ne devrait pas .

     

    #96242

    Ce code n’était pas spécifiquement dédié à ta demande. Dans la description, la personne qui l’a partagé explique que le prix affiché est celui où aura lieu le croisement entre la ligne de signal et l’histogramme.

    1- MACD ZERO LAG-SIGNAL=0 (le plus important )

    Merci de proposer un exemple graphique.

    #96271

    Pour moi je détecte une erreur dans le code dans le calcul des DEMA, si vous pou avez me confirmer, de plus ce que je ne comprends pas c’est que la valeur retournée (x pour moi) sur le graphe principal varie sur la bougie en cours avec le prix, x change à chaque nouvelle bougie ce qui est normal mais pourquoi changerait il sur la bougie en cours ?

    Il y a une et une seule valeur de x pour que MACD ZR – SIGNAL = 0 (histogramme à 0) c’est comme si il y avait un arrondi pour moi on le voit dans les captures jointes  au post suivant.

    donc il semble que le code corresponde à mon souhait 1.

    #96274

    mon souhait 2 c’est toujours connaitre la valeur de x pour laquelle la :

    MACD ZR [1] – MACD ZR =0

    Cf captures jointes changement de couleur de la pente de la MACD ZR

    Vous remarquerez au passage le changement de la valeur sur la graphe.

    dans le code :

    Si je ne me trompe pas c’est le calcul de la DEMA 12 pour moi le code devrait être :

    si vous me le confirmez ?

Viewing 15 posts - 16 through 30 (of 35 total)

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