MACD / Plus hauts plus bas

Viewing 15 posts - 1 through 15 (of 22 total)
  • Author
    Posts
  • #84507 quote
    finplus
    Participant
    Master

    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.

    Capture-d’écran-2018-11-09-à-19.16.52.png Capture-d’écran-2018-11-09-à-19.16.52.png
    #84624 quote
    finplus
    Participant
    Master

    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 "
    
    
    #84629 quote
    Nicolas
    Keymaster
    Master

    Ce que tu calcules à la main, c’est cette ligne à 0.0075 ?

    #84709 quote
    finplus
    Participant
    Master

    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”.

    #84772 quote
    Nicolas
    Keymaster
    Master

    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.

    #84826 quote
    finplus
    Participant
    Master

    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.

    #84858 quote
    Nicolas
    Keymaster
    Master

    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 "
    
    #84867 quote
    finplus
    Participant
    Master

    Merci. Je regarde.

    Bon après-midi.

    #84877 quote
    finplus
    Participant
    Master

    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.

    #84900 quote
    Nicolas
    Keymaster
    Master

    Si “periodSTD = 1000″, alors il faudrait à minima 1000 unités d’afficher pour faire le calcul, est-ce bien le cas ?

    #84903 quote
    Nicolas
    Keymaster
    Master

    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. 

    MACD-IMPULSE-ELDER.png MACD-IMPULSE-ELDER.png
    #84947 quote
    finplus
    Participant
    Master

    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.

    #84995 quote
    Nicolas
    Keymaster
    Master

    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 ?

    #85150 quote
    finplus
    Participant
    Master

    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)….

    #85267 quote
    Nicolas
    Keymaster
    Master

    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.

    unités-chandeliers-prorealtime.jpg unités-chandeliers-prorealtime.jpg
Viewing 15 posts - 1 through 15 (of 22 total)
  • You must be logged in to reply to this topic.

MACD / Plus hauts plus bas


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

This topic contains 21 replies,
has 2 voices, and was last updated by finplus
7 years, 3 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 11/09/2018
Status: Active
Attachments: 4 files
Logo Logo
Loading...