MACD / Plus hauts plus bas
Forums › ProRealTime forum Français › Support ProBuilder › MACD / Plus hauts plus bas
- This topic has 21 replies, 2 voices, and was last updated 5 years ago by finplus.
-
-
11/09/2018 at 7:20 PM #84507
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.
11/11/2018 at 5:06 PM #84624J’utilise cette formule trouvée sur ce site comme indiqué précédemment.
123456789101112131415161718192021222324252627282930313233343536373839404142//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 histogramspc=12pl=26ps=9p=13//periodos EISaa=exponentialaverage[p](close)cc=MACD[pc,pl,ps](close)if aa > aa[1] and cc>cc[1] Thendd =cc*2elsedd=0endifif aa<aa[1] and cc < cc[1] thenee=cc*2elseee=0endifif ( aa <aa[1] and cc > cc[1]) or (aa>aa[1] and cc<cc[1]) thenff=cc*2elseff=0endifREM MACDhh=exponentialaverage[pc](close) - exponentialaverage[pl](close)REM Signalhh1=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 "11/11/2018 at 5:45 PM #8462911/12/2018 at 8:07 PM #8470911/13/2018 at 4:49 PM #84772Ok 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.
11/14/2018 at 11:13 AM #84826oui 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.
11/14/2018 at 2:36 PM #84858Ci-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 😉
123456789101112131415161718192021222324252627282930313233343536373839404142434445/////////////////MACD IMPULSE ELDER////// variables// pc, fast ma, 12// pl, slow ma, 26// ps, signal, 9// p, exp ma EIS, 18// set first three as histogramspc=12pl=26ps=9p=13//periodos EISaa=exponentialaverage[p](close)cc=MACD[pc,pl,ps](close)// --- nicolasperiodSTD = 1000coeffSTD = 2// --- fin nicolasif aa > aa[1] and cc>cc[1] Thendd =cc*2elsedd=0endifif aa<aa[1] and cc < cc[1] thenee=cc*2elseee=0endifif ( aa <aa[1] and cc > cc[1]) or (aa>aa[1] and cc<cc[1]) thenff=cc*2elseff=0endifREM MACDhh=exponentialaverage[pc](close) - exponentialaverage[pl](close)REM Signalhh1=exponentialaverage[ps](hh)stdu = std[periodSTD](dd*pipsize)*coeffSTDstdd = std[periodSTD](ee*pipsize)*coeffSTDreturn 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 "11/14/2018 at 3:19 PM #8486711/14/2018 at 6:11 PM #8487711/15/2018 at 9:12 AM #8490011/15/2018 at 9:21 AM #84903Ci-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.
11/15/2018 at 7:37 PM #8494711/16/2018 at 10:23 AM #8499511/18/2018 at 5:13 PM #8515011/20/2018 at 9:16 AM #85267 -
AuthorPosts
Find exclusive trading pro-tools on