Guppy – Moyenne des haut et des bas

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #147814 quote
    finplus
    Participant
    Master

    Bonjour,

     

    J’ai réalisé un petit indicateur sur la base de celui du Guppy afin qu’il me donne l’écart entre la moyenne du guppy “court terme” et celui du guppy “long terme” (code joint).

    J’aimerai le compléter par deux informations : je souhaiterais quand les écarts > 0 (donc guppy CT > guppy LT) avoir la moyenne de ces écarts positifs sur (par exemple) les 50 dernières périodes et que cette moyenne soit matérialisé par une ligne qui changerait de couleur si la nouvelle moyenne calculée toutes les 15 minutes (si nous sommes en UT 15 minutes) : si la nouvelle moyenne calculée est supérieure à la précédente, alors la ligne est de couleur bleue, si la nouvelle moyenne calculée est inférieure à la précédente, la ligne serait rouge. Et l’inverse quand les écarts sont négatifs.

    J’ai essayé avec ce code mais ça ne donne rien : a = average(high)[50]

    Merci.

    Ecart-GuppyMoy-LT-CT-15-min.itf
    #147819 quote
    Nicolas
    Keymaster
    Master

    Cela ressemble à un MACD tout simplement, je vais regarder ton code. Merci de le poster en clair la prochaine fois, c’est plus rapide.

    #147822 quote
    Nicolas
    Keymaster
    Master

    Ci-joint le code modifié, j’ai utilisé un histogramme. Je ne suis pas certain pour les couleurs par contre ?

    a = close
    c1 = ExponentialAverage[3](a)
    c2 = ExponentialAverage[5](a)
    c3 = ExponentialAverage[8](a)
    c4 = ExponentialAverage[10](a)
    c5 = ExponentialAverage[12](a)
    c6 = ExponentialAverage[15](a)
    
    GuppyCTMoy = (c1 + c2 + c3 + c4 + c5 + c6)/6
    
    c7 = ExponentialAverage[30](a)
    c8 = ExponentialAverage[35](a)
    c9 = ExponentialAverage[40](a)
    c10 = ExponentialAverage[45](a)
    c11 = ExponentialAverage[50](a)
    c12 = ExponentialAverage[60](a)
    
    GuppyLTMoy = (c7 + c8 + c9 + c10 + c11 + c12)/6
    
    Ecart = (GuppyCTMoy - GuppyLTMoy)
    
    
    moy = average[50](ecart) //moyenne des ecarts
    
    //choix de la couleur selon conditions 
    if moy>0 then 
    if moy>moy[1] then 
    r=0
    b=255
    else
    r=255
    b=0
    endif
    else
    if moy<moy[1] then
    r=255
    b=0
    else
    r=0
    b=255
    endif
    endif 
    
    Return moy coloured(r,0,b) style(histogram)
    
    guppy-moyenne.png guppy-moyenne.png
    #147824 quote
    finplus
    Participant
    Master
    a = close
    c1 = ExponentialAverage[3](a)
    c2 = ExponentialAverage[5](a)
    c3 = ExponentialAverage[8](a)
    c4 = ExponentialAverage[10](a)
    c5 = ExponentialAverage[12](a)
    c6 = ExponentialAverage[15](a)
    
    GuppyCTMoy = (c1 + c2 + c3 + c4 + c5 + c6)/6
    
    c7 = ExponentialAverage[30](a)
    c8 = ExponentialAverage[35](a)
    c9 = ExponentialAverage[40](a)
    c10 = ExponentialAverage[45](a)
    c11 = ExponentialAverage[50](a)
    c12 = ExponentialAverage[60](a)
    
    GuppyLTMoy = (c7 + c8 + c9 + c10 + c11 + c12)/6
    
    Ecart = (GuppyCTMoy - GuppyLTMoy)
    
    
    Return Ecart as "Ecart", GuppyCTMoy as "GyppyCTMoy", GuppyLTMoy as "GuppyLTMoy"
    #147825 quote
    finplus
    Participant
    Master

    Attention les courbes du MACD se croisent. Dans ma demande, je souhaiterais deux lignes distinctes qui seraient presque parallèles en fait : une ligne représentant la moyenne des écarts uniquement > 0 (guppy CT > guppy LT) et une autre représentant la moyenne des écarts uniquement < 0 (guppy CT < guppy LT).

    merci.

    #147827 quote
    Nicolas
    Keymaster
    Master

    Bien, mais si on a que 10 périodes au dessus de 0 dans les 50 dernières ?

    #147828 quote
    finplus
    Participant
    Master

    et bien on prend ce que l’on a, donc les 10.

    Merci.

    #147830 quote
    Nicolas
    Keymaster
    Master

    La somme des écarts négatifs étant forcément négatives, j’utilise une valeur absolue pour cette moyenne, sinon les courbes ne se croiseront jamais. Par contre, impossible de les différencier avec les couleurs bleus/rouge pour toutes les deux ?

    period = 50
    
    a = close
    c1 = ExponentialAverage[3](a)
    c2 = ExponentialAverage[5](a)
    c3 = ExponentialAverage[8](a)
    c4 = ExponentialAverage[10](a)
    c5 = ExponentialAverage[12](a)
    c6 = ExponentialAverage[15](a)
    
    GuppyCTMoy = (c1 + c2 + c3 + c4 + c5 + c6)/6
    
    c7 = ExponentialAverage[30](a)
    c8 = ExponentialAverage[35](a)
    c9 = ExponentialAverage[40](a)
    c10 = ExponentialAverage[45](a)
    c11 = ExponentialAverage[50](a)
    c12 = ExponentialAverage[60](a)
    
    GuppyLTMoy = (c7 + c8 + c9 + c10 + c11 + c12)/6
    
    Ecart = (GuppyCTMoy - GuppyLTMoy)
    
    sumplus=0
    summinus=0
    for i = 0 to period-1 do 
    if ecart[i]>0 then 
    sumplus=sumplus+ecart[i]
    else
    summinus=summinus+ecart[i]
    endif
    next
    
    plus = sumplus/period //moyenne des ecarts +
    minus = abs(summinus/period) //moyenne des ecarts -
    
    ////choix de la couleur selon conditions 
    if plus>plus[1] then
    pr=0
    pb=255
    elsif plus<plus[1] then
    pr=255
    pb=0
    endif
    
    if minus>minus[1] then
    mr=0
    mb=255
    elsif minus<minus[1] then
    mr=255
    mb=0
    endif
    
    Return plus coloured(pr,0,pb)style(line),minus coloured(mr,0,mb)style(line)
    
    difference-moyennes-des-buppy.png difference-moyennes-des-buppy.png
    #147833 quote
    finplus
    Participant
    Master

    Juste une remarque : le code proposé calcule une moyenne sur les écarts. je voudrais en fait deux moyennes : une sur les écarts positifs et une sur les écarts négatifs ce qui aboutit à deux moyennes distinctes (une positive et une négative).

    Merci.

    #147834 quote
    finplus
    Participant
    Master

    Merci de ne pas tenir compte de mon dernier post. je n’avais pas vu votre dernière publication.

    #147835 quote
    Nicolas
    Keymaster
    Master

    C’est bien le cas dans ce dernier code 🙂 Je teste si l’écart est positif ou négatif aux lignes 27 et 29 et en tire 2 moyennes distinctes “plus” et “minus”.

    #147836 quote
    finplus
    Participant
    Master

    C’est top/ j’ai juste enlever la valeur absolue. C’était ce que je voulais. Merci et bonne journée.

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

Guppy – Moyenne des haut et des bas


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by finplus
5 years, 4 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 10/20/2020
Status: Active
Attachments: 3 files
Logo Logo
Loading...