Code du Detrended price Oscillator
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Code du Detrended price Oscillator
Bonjour... je cherche à reproduire le code du Detrended Price Oscillator dans un indicateur sur prt... mais j'ai un peu de mal à reproduire la formule donnée :
DPO = Cours de clôture - MMp (P/2 - 1)
Avec:
P comme période de temps choisie
MMp: moyenne mobile sur le période P que l'on appliquée sur un nombre x de jours
j'ai essayé ça mais ça fonctionne pas, je n'obtient pas la même chose :
a = average[21]
b = close [21]
c = (21/2+1)
d = a-c
return d-b
DPO = Cours de clôture - MMp (P/2 - 1)
Avec:
P comme période de temps choisie
MMp: moyenne mobile sur le période P que l'on appliquée sur un nombre x de jours
j'ai essayé ça mais ça fonctionne pas, je n'obtient pas la même chose :
a = average[21]
b = close [21]
c = (21/2+1)
d = a-c
return d-b
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
Salut -, merci beaucoup à toi de m'aider... j'ai testé ton code, ce n'est pas encore complètement ça, mais ça me fait avancer pas mal, je n'obtient pas la même chose, en fait je cherche à recréer le code de cet indicateur qui existe déjà dans prt, oui, je sais, ça peut paraitre idiot, mais je voudrais, le renommer et le modifier un peu une fois recréer, car PRO ORDER le refuse en trading automatique...
Ton code me fait avancer, mais je n'obtient pas encore la même chose, les périodes d'oscillations sont plus longues que sur l'original... et n'ont pas les mêmes amplitudes...
Si tu as d'autres suggestions... n'hésites pas et encore merci... !
Ton code me fait avancer, mais je n'obtient pas encore la même chose, les périodes d'oscillations sont plus longues que sur l'original... et n'ont pas les mêmes amplitudes...
Si tu as d'autres suggestions... n'hésites pas et encore merci... !
-
Ice.
- Apprenti Jedi
- Messages : 503
- Enregistré le : 12 juil. 2013 11:15
Re: Code du Detrended price Oscillator
"MMp: moyenne mobile sur le période P que l'on appliquée sur un nombre x de jours"
Tu peux préciser la différence entre P et X ?
DPO = Close - Average[P]*((P/2)-1) sinon
Tu peux préciser la différence entre P et X ?
DPO = Close - Average[P]*((P/2)-1) sinon
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
ben... justement... je ne capte pas tout dans cette définition...(en plus je pense qu'il y a une erreur, ce n'est pas : P/2-1 mais plutôt P/2+1 ... sinon en voici une autre :
Detrended Price Oscillator
Le Detrended Price Oscillator est un indicateur qui essaye d'éliminer la tendance dans les cours. En éliminant la tendance, il est possible d'identifier plus facilement les cycles et les niveaux de surachat et survente.
Méthode de calcul
Pour calculer le Detrended Price Oscillator, on choisit une période de temps P et on calcule la moyenne mobile des cours retardée de P / 2 + 1 jours. Cette moyenne est retranchée au cours de cloture. Les cycles plus longs que cette période sont éliminés des prix, et les cycles de plus courte période sont conservés. DPO = Cours de clôture – MMP(P / 2 – 1) où :
P : période de la moyenne mobile
MMP(n) : moyenne mobile de période P, appliquée n jours en arrière
Detrended Price Oscillator
Le Detrended Price Oscillator est un indicateur qui essaye d'éliminer la tendance dans les cours. En éliminant la tendance, il est possible d'identifier plus facilement les cycles et les niveaux de surachat et survente.
Méthode de calcul
Pour calculer le Detrended Price Oscillator, on choisit une période de temps P et on calcule la moyenne mobile des cours retardée de P / 2 + 1 jours. Cette moyenne est retranchée au cours de cloture. Les cycles plus longs que cette période sont éliminés des prix, et les cycles de plus courte période sont conservés. DPO = Cours de clôture – MMP(P / 2 – 1) où :
P : période de la moyenne mobile
MMP(n) : moyenne mobile de période P, appliquée n jours en arrière
-
Ice.
- Apprenti Jedi
- Messages : 503
- Enregistré le : 12 juil. 2013 11:15
Re: Code du Detrended price Oscillator
Haaaan d'accord ! C'est plus clair merci ahah (je crois que j'ai compris mais pas sur)
Du coup ce serait : DPO = Close - Average[P][Round(P/2)+1]
Sauf que prt est hyper rigide donc il ne t'autorisera pas à faire ça à mon avis, pour calculer la moyenne mobile il faudra donc que tu passes par une boucle du genre :
Période = P
PériodeMM = Round(P/2)+1
Total = 0
For X = PeriodeMM to X = PeriodeMM+P DO
Total = Close[x] + Total
Next
MM = Total/P
ect...
Un truc comme cela, je te laisse corriger et faire la suite
Du coup ce serait : DPO = Close - Average[P][Round(P/2)+1]
Sauf que prt est hyper rigide donc il ne t'autorisera pas à faire ça à mon avis, pour calculer la moyenne mobile il faudra donc que tu passes par une boucle du genre :
Période = P
PériodeMM = Round(P/2)+1
Total = 0
For X = PeriodeMM to X = PeriodeMM+P DO
Total = Close[x] + Total
Next
MM = Total/P
ect...
Un truc comme cela, je te laisse corriger et faire la suite
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
Du coup ce serait : DPO = Close - Average[P][Round(P/2)+1]
il ne manque pas un opérateur entre [p] et [round...?
il ne manque pas un opérateur entre [p] et [round...?
-
Ice.
- Apprenti Jedi
- Messages : 503
- Enregistré le : 12 juil. 2013 11:15
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
j'y suis presque... je dis presque car j’obtiens le même indicateur avec les mêmes oscillations et mesures mais en décalé... de 11 ou 12 bougies... voilà je n'ai plus "que" ce problème à régler.... !
voici le code que j'ai trouvé avec vos interventions qui m'ont été utiles... :
//Detrended price oscillator
a=average[21]
r=round(20/2)+1
b= close[r]
d= b-a
return d AS "DPO pass",0 as "Zero"
//FIN du code
et voici le décalage en question...
//Detrended price oscillator
a=average[21]
r=round(20/2)+1
b= close[r]
d= b-a
return d AS "DPO pass",0 as "Zero"
//FIN du code
et voici le décalage en question...
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
oui... j'ai remarqué le nombre de bougies qui correspond... comment on va chercher cette MM décalée...?!
-
Ice.
- Apprenti Jedi
- Messages : 503
- Enregistré le : 12 juil. 2013 11:15
Re: Code du Detrended price Oscillator
Si le tien c'est celui du bas : return d[11] ?
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
eheh... return d[11] me décale encore plus... et -11 ne fonctionne pas...! argh...! (oui le mien est celui du bas)
-
Ice.
- Apprenti Jedi
- Messages : 503
- Enregistré le : 12 juil. 2013 11:15
Re: Code du Detrended price Oscillator
Ah Oui donc obligation de prendre la moyenne mobile décalé apparemment. Tu peux reprendre mon exemple, il faut que tu la fasse toi même la mm en prenant chaque close durant P Bougie décale de round etc.. Bougie par rapport à celle actuelle
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
je ne comprend pas ...
-
Ice.
- Apprenti Jedi
- Messages : 503
- Enregistré le : 12 juil. 2013 11:15
Re: Code du Detrended price Oscillator
Par exemple P = 21
Il est 16h00, nous sommes en ut1
Nous devons aller chercher la moyenne mobile 21 d'il y a :
21/2 = 11.5 (on arrondi à 12)
Ensuite nous avons 12+1 = 13
Nous devons donc aller chercher la valeur de la moyenne mobile 21 d'il y a 13 minutes, soit à 15h47 !
Dis moi si c'est toujours pas clair ?
Il est 16h00, nous sommes en ut1
Nous devons aller chercher la moyenne mobile 21 d'il y a :
21/2 = 11.5 (on arrondi à 12)
Ensuite nous avons 12+1 = 13
Nous devons donc aller chercher la valeur de la moyenne mobile 21 d'il y a 13 minutes, soit à 15h47 !
Dis moi si c'est toujours pas clair ?
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
ok je commence à comprendre... mais comment coder ça...?
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
là je sèche... pas moyen décaler de 11 période mon indicateur... sniff...!
-
Fredo
- Ewok
- Messages : 69
- Enregistré le : 23 juin 2014 09:24
Re: Code du Detrended price Oscillator
Et le code de Sohocool : http://sohocool.over-blog.com/tag/d.p.o./
Vous convient il?
Vous convient il?
-
Ernesto
- Compagnon Jedi
- Messages : 1315
- Enregistré le : 18 févr. 2014 17:29
Re: Code du Detrended price Oscillator
Bonsoir Fredo... merci,mais helas il ne convient pas... j'ai déjà essayé...
-
Fredo
- Ewok
- Messages : 69
- Enregistré le : 23 juin 2014 09:24
Re: Code du Detrended price Oscillator
Désolé de ne pouvoir plus t'aider.
-
Ice.
- Apprenti Jedi
- Messages : 503
- Enregistré le : 12 juil. 2013 11:15
Re: Code du Detrended price Oscillator
Hello Ernesto, absolument pas le temps de t'apporter plus d'aide mais je t'ai déjà donné un exemple avec la boucle. Si tu ne comprends pas, regarde probuilder, code les exemples, essaye de comprendre comme cela fonctionne, essaye de comprendre comment une mm fonctionne et te la faire toi même
Parce qu'au pire tu peux toujours le faire sans boucle si tu gardes toujours la même période (21), moyennemobile21 = close[11]+close[12]+ etc....
Ou alors une dernière solution :
moyennemobile21 = average[21]
moyennedecale = moyennemobile21[11]
Parce qu'au pire tu peux toujours le faire sans boucle si tu gardes toujours la même période (21), moyennemobile21 = close[11]+close[12]+ etc....
Ou alors une dernière solution :
moyennemobile21 = average[21]
moyennedecale = moyennemobile21[11]
