Bonsoir,
je voudrais à partir des 3 ou 4 plus hauts et plus bas enregistrés par le MACD en faire un moyenne et tirer un trait horizontal qui matérialiserait cette moyenne. Jusqu’à présent, je le fais à la main mais je souhaiterais que cela se fasse en automatique. j’ai fais une copie écran du MACD que j’utilise (je l’ai pris sur ce site) qui permet de visualiser ma demande.
merci.
J’utilise cette formule trouvée sur ce site comme indiqué précédemment.
//PRC_BB MACD CCT | indicator
//16.10.2017
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
//converted from MT4 version
/////////////////MACD IMPULSE ELDER////
// variables
// pc, fast ma, 12
// pl, slow ma, 26
// ps, signal, 9
// p, exp ma EIS, 18
// set first three as histograms
pc=12
pl=26
ps=9
p=13//periodos EIS
aa=exponentialaverage[p](close)
cc=MACD[pc,pl,ps](close)
if aa > aa[1] and cc>cc[1] Then
dd =cc*2
else
dd=0
endif
if aa<aa[1] and cc < cc[1] then
ee=cc*2
else
ee=0
endif
if ( aa <aa[1] and cc > cc[1]) or (aa>aa[1] and cc<cc[1]) then
ff=cc*2
else
ff=0
endif
REM MACD
hh=exponentialaverage[pc](close) - exponentialaverage[pl](close)
REM Signal
hh1=exponentialaverage[ps](hh)
return dd*pipsize COLOURED(0,255,0) as "elder impulsebuy", ee*pipsize COLOURED(255,0,0) as "elder impulsesell", ff*pipsize coloured(0,0,255) as "elder impulsechange", hh*pipsize as "macd", hh1*pipsize as "signal macd", 0 as " zero "
Ce que tu calcules à la main, c’est cette ligne à 0.0075 ?
oui je l’ai tracé à la main en prenant comme point les plus hauts et les plus bas effectués par la courbe donnée par “hh”.
Ok mais comme ces points hauts ont été considérés visuellement, comment les détecter par le code ? En considérant un point haut comme un pic ? Je vois ce que tu cherches à faire, en général dans les oscillateurs on utilise un écart type avec un coefficient, un peu comme une bande de bollinger, mais sans tendance (detrented).
Donc en gros, faire une STD sur 1000 périodes de l’ensemble de ton oscillateur, et l’ajouter / soustraire à ton niveau 0.
oui il faudrait repérer les 3 ou 4 pics sur une période à définir (je travaille sur 3 UT : daily / 1 heure et 15 minutes).
Sur du daily, il faudrait prendre comme période les 12 derniers mois.
sur du 1 heure, ce serait les 3 derniers mois
sur du 15 minutes, ce serait les 10 derniers jours.
Ci-dessous le code tel que je le décrivais dans mon précédent message, à savoir l’ajout d’un écart type de période au choix (periodSTD) et multiplier par un coefficient (coeffSTD). Cette valeur est ajouté , soustraite à la ligne 0. Cela est bien plus significatif à mon sens 😉
/////////////////MACD IMPULSE ELDER////
// variables
// pc, fast ma, 12
// pl, slow ma, 26
// ps, signal, 9
// p, exp ma EIS, 18
// set first three as histograms
pc=12
pl=26
ps=9
p=13//periodos EIS
aa=exponentialaverage[p](close)
cc=MACD[pc,pl,ps](close)
// --- nicolas
periodSTD = 1000
coeffSTD = 2
// --- fin nicolas
if aa > aa[1] and cc>cc[1] Then
dd =cc*2
else
dd=0
endif
if aa<aa[1] and cc < cc[1] then
ee=cc*2
else
ee=0
endif
if ( aa <aa[1] and cc > cc[1]) or (aa>aa[1] and cc<cc[1]) then
ff=cc*2
else
ff=0
endif
REM MACD
hh=exponentialaverage[pc](close) - exponentialaverage[pl](close)
REM Signal
hh1=exponentialaverage[ps](hh)
stdu = std[periodSTD](dd*pipsize)*coeffSTD
stdd = std[periodSTD](ee*pipsize)*coeffSTD
return stdu,0-stdd, dd*pipsize COLOURED(0,255,0) as "elder impulsebuy", ee*pipsize COLOURED(255,0,0) as "elder impulsesell", ff*pipsize coloured(0,0,255) as "elder impulsechange", hh*pipsize as "macd", hh1*pipsize as "signal macd", 0 as " zero "
Je dois avoir un problème car je ne vois pas apparaître les lignes relatives aux indicateurs STDU et STDD. Pourriez vous SVP joindre le graphique du rendu ? Merci.
Si “periodSTD = 1000″, alors il faudrait à minima 1000 unités d’afficher pour faire le calcul, est-ce bien le cas ?
Ci-joint l’exemple du rendu (lignes blanches en haut et bas). Elles s’adaptent automatiquement, un multiplier de 2 n’est peut être pas suffisant, on peut le faire varier avec “coeffSTD = 2″ à la ligne 16 de mon précédent code.
J’ai essayé en modifiant le coefficient et les lignes n’apparaissent toujours pas (y compris sur le DAX comme sur le graphique donné en exemple). Une idée du problème ? merci. Sinon c’est exactement ce que je voulais.
Il faut suffisamment de chandeliers affichés pour que le calcul se fasse, as-tu essayé d’étendre le nombre d’unités du graphique ?
Rien n’y fait. J’ai modifié periodSTD (à 5000) et coeffSTD (à 40) et je n’ai toujours rien (ni sur les indices ni sur le forex)….
Je parlai de la quantité de bougies affichées sur l’écran (voir image). Pour une période STD à 5000, il faut à minima cette quantité de bougies pour qu’il se calcul, par exemple.