formulation EMA (moyenne mobile exponentielle)
Forums › ProRealTime forum Français › Support ProBuilder › formulation EMA (moyenne mobile exponentielle)
- This topic has 34 replies, 4 voices, and was last updated 5 years ago by Shark.
Tagged: ema, macd zerolag, zerolag
-
-
04/10/2019 at 3:23 PM #95959
Bonjour
J’ai bien compris la méthode de calcul d’une moyenne mobile simple 10 périodes :
MMS = ((close) + (close)[1] + (close)[2] + (close)[3] + … +(close)[9]) / 10
pour l’instant ça va mais je recherche la formule mathématique qui s’applique à une moyenne mobile exponentielle 10 périodes par exemple.
J’ai bien trouvé une formule dans l’aide Probuilder mais je ne sais pas l’interpréter (CF pièce jointe).
merci pour les retours
04/10/2019 at 3:30 PM #95961Une moyenne mobile exponentielle utilise une pondération des termes qui décroît exponentiellement. Le poids de chaque valeur participant à la moyenne (souvent désignée par le terme observation en statistiques) est d’un facteur plus grand que la valeur qui le précède dans la série, ce qui donne plus d’importance aux observations les plus récentes, sans toutefois jamais supprimer complètement l’effet des valeurs les plus anciennes. source = https://fr.wikipedia.org/wiki/Moyenne_mobile#Moyenne_mobile_exponentielle
Version codée, cela donne :
EMA12345678once customema=closeEMALength = 10alpha = 2/(EMALength+1)if barindex>EMALength thenCustomEMA = alpha*Close + (1-alpha)*CustomEMA[1]endifreturn customEMA1 user thanked author for this post.
04/10/2019 at 4:26 PM #95982Oula ç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= … ?
04/10/2019 at 4:49 PM #95987Désolé mais je ne comprends pas la question, c’est pas lié au premier message du sujet ? Tu ne mélangerai pas avec un autre sujet que tu as ouvert ?
je recherche la formule mathématique qui s’applique à une moyenne mobile exponentielle 10 périodes par exemple. J’ai bien trouvé une formule dans l’aide Probuilder mais je ne sais pas l’interpréter
04/10/2019 at 5:40 PM #9599304/10/2019 at 6:36 PM #9599704/10/2019 at 9:02 PM #96004Bon j’ai essayé ce code mais sans succès peut être que j’ai faux dans la valeur de x ou bine dans la programmation
Je poste quand même
EMA price changement pente1234567891011defparam drawonlastbaronly=truea = 2/(period+1)if barindex>period thenx = ((ExponentialAverage[1](close)))*((1/a)+1)endifDRAWTEXT(" ---------- #x# EMA20",barindex,x,dialog,standard,13) coloured(0,0,204)return04/11/2019 at 8:18 AM #96019C’est sans doute très clair dans ta tête, mais pourrais-tu simplement écrire ce que tu cherches à faire avec une EMA afin que l’on sache le but de ce topic ? Je serai alors en mesure de coder la demande, merci.
1 user thanked author for this post.
04/11/2019 at 8:47 AM #96028Bonjour Nicolas
Je vais essayer d’exprimer clairement mon idée de manière générale parce que je souhaiterais l’appliquer à plusieurs indicateurs.
Ma question est la suivante, pour quelle valeur de x=(close), un indicateur, peu importe lequel, aurait la même valeur sur les bougies 1 et 0 ?
Je vois ça un peu comme ça mais bon la programmation et moi …
123456789101112131415defparam drawonlastbaronly=trueindicator1 = ....indicator2 = ....x = (close)// Pour quelle valeur de x indicator1 = indicator2c1 = (indicator1[1] = indicator2)pour quelle valeur de x cette condition est vrai etDRAWTEXT(" ---------- #x#",barindex,x,dialog,standard,13) coloured(0,0,204)returnMerci de ton attention en tout cas
04/11/2019 at 9:00 AM #96031Une idée comme ça je sais pas si c’est réalisable ?
Imaginons le prix actuel à 1.5 par exemple, peux t on définir un range à + ou – 5 points et que l’indicateur teste toutes ces valeurs donc dans l’exemple, (1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2) pour trouver la valeur de x pour laquelle l’indicateur[1]=indicateur et retourner cette valeur ?
04/11/2019 at 9:13 AM #96034ok je vois mieux l’idée, donc exemple avec une EMA 10 périodes:
12345678910111213141516defparam drawonlastbaronly=truei1 = exponentialaverage[10]x = (close)// Pour quelle valeur de x indicator1 = indicator2c1 = (i1[1] = i1)//pour quelle valeur de x cette condition est vrai etif c1 thenDRAWTEXT(" ---------- #x#",barindex,x,dialog,standard,13) coloured(0,0,204)endifreturnNon testé.
1 user thanked author for this post.
04/11/2019 at 9:28 AM #96038Si je comprends bien ton code, je vais avoir sur le graphe le x qui s’affiche quand la condition est réalisée ?
Ce que je souhaiterais c’est anticiper et avoir la valeur qui apparait sur le graphe avant qu’elle n’arrive pour placer un OC juste au dessus ou en dessous ce prix.
04/11/2019 at 9:44 AM #96040Ton code fonctionne il affiche x à la clôture si la condition est réalisée mais n’anticipe pas comme je le souhaiterais.
Est il possible en programmation de faire comme je le suggérait de tester plein de valeur de x pour voir celle qui réalise la condition selon un range à définir et retourner de manière anticipée cette valeur ?
04/11/2019 at 10:31 AM #9604604/11/2019 at 11:07 AM #96049Je voudrais connaitre le close de la bougie en cours pour que l’EMA de la bougie en cours soit égal à l’EMA de la précédente ([1]).
12345678910111213141516171819202122232425262728defparam drawonlastbaronly=true//rge = averagetruerange[1]ope = (open)x= ope - 0.0002// Choix des indicateursindicator1 = averagetruerange[10](close)indicator2 = averagetruerange[10](x)// Définition de la conditionc1 = (indicator1[1] - indicator2)// Traitement de la bouclei = xIncrease = (indicator1[1] - indicator2)=0while Increase[i] doi = i + 0.00001DRAWTEXT(" ---------- #x# ",barindex,x,dialog,standard,13) coloured(0,0,204)endifreturn -
AuthorPosts
Find exclusive trading pro-tools on