Mettre une moyenne spécifique dans le code d'un indicateur

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #6040 quote
    Katia_Paris_75
    Participant
    Average

    Bonjour,

    Etant une utilisatrice débutante sur Prorealtime, je suis confrontée à un casse-tête en souhaitant créer un indicateur qui comprend le code de 2 indicateurs distincts, j’explique :

    J’utilise un 1er indicateur qui est une combinaison de plusieurs STO, et qui se trouve sous mon graphique des prix.

    Je souhaiterais appliquer sur chacun de mes STO une moyenne spécifique qui ferait office de signal.

    Or cette moyenne spécifique pourrait être soit une moyenne mobile de hull, soit une moyenne triangulaire multi-types, mais dans tous les cas, ces moyennes font partie d’un second indicateur distinct.

    Voici par exempme le code de la moyenne triangulaire multi-types :  http://sohocool.over-blog.com/article-moyenne-mobile-triangulaire-v1-102935946.html. Elle est un peu + complexe qu’une moyenne ordinaire contenant notamment 2 variables, mais je vous laisse regarder le code à l’aide du lien.

    L’idée finale est d’avoir un indicateur unique qui donne les  STO avec leurs moyennes triangulaires multi-types (ou leurs moyennes de hull) qui feront office de signal, le tout dans un code unique.

    Pouvez vous m’indiquer comment l’on peut fusionner les 2 ou “appeler” la moyenne triangulaire multi-types  dans le 1er indicateur (autant de fois qu’il y a de STO), peut être avec la fonction Call car j’ai vu que cette fonction existait dans le langage mais je ne connais pas bien ses possibilités.

    Merci pour votre aide.

    #6042 quote
    Nicolas
    Keymaster
    Master

    Bonjour Katia,

    La ligne de signal d’un oscillateur stochastique est en effet une simple moyenne mobile de l’oscillateur. Pour lisser la stochastique on peut utiliser n’importe quel type de moyenne en y injectant sa valeur au lieu du Close du prix par exemple.

    Pour utiliser une moyenne simple, on ferait :

    mySTO = STOCHASTIC[14,3](close)
    signal = average[5](mySTO)
    
    RETURN mySTO, signal

    Pour utiliser la moyenne triangulaire du site de SOHOCOOL, rien de plus simple, il faut remplacer la ligne 2 par :

    if  p MOD 2  = 1 then
    signal = average[(ROUND(p/2)),t](average[(round(p/2)),t](mySTO))
     else
    signal = average[(p/2)+1,t](average[p/2,t](mySTO))
    endif

    avec p=5 en variable et t en variable MMtype. On a donc ici remplacé le ‘customclose’ du code d’origine par mySTO qui est l’oscillateur stochastique ou la valeur sur laquelle on souhaite réaliser un signal.

    Est-ce que cela répond à ton attente?

    #6048 quote
    Katia_Paris_75
    Participant
    Average

    Je te remercie, cela semble répondre à mon attente.

    Peux tu me donner les mêmes éléments mais cette fois çi avec le code de la MM de Hull au lieu de la MM triangulaire ?

    Pour info pour le code de la MM de Hull j’ai les éléments çi-dessous, mais je ne suis pas certaine à 100% du code que j’ai récupéré sur un site.

    
    price=customclose
    demiP = round(P/2)
    temp = 2*WeightedAverage[demiP](price) - WeightedAverage[P](price)
    racineP = round(SQRT(P))
    MMHULL = WeightedAverage[racineP](temp)
    return MMHULL as "MM HULL"
    
    

    Merci

    #6055 quote
    Nicolas
    Keymaster
    Master

    Je viens justement de l’utiliser pour le développement d’un client, j’utilise ce code qui tient en une ligne :

    //Hull moving average
    MMhull = WeightedAverage[round(SQRT(p))]( 2*WeightedAverage[round(p/2)](close)-WeightedAverage[p](close))

    Donc pour lisser la stochastique et ainsi en faire sa ligne de signal, il faut remplacer le “close” par les valeurs de la STO, c’est tout :

    mySTO = STOCHASTIC[14,3](close)
    
    //Hull moving average STO
    p = 5
    MMhullSTO = WeightedAverage[round(SQRT(p))]( 2*WeightedAverage[round(p/2)](mySto)-WeightedAverage[p](mySto))
    
    RETURN mySTO, MMhullSTO
    
    #6078 quote
    Katia_Paris_75
    Participant
    Average

    Merci pour votre célérité à répondre.

    Je regarde cela attentivement ce soir

    #6081 quote
    Katia_Paris_75
    Participant
    Average

    Et pour compliquer un peu les choses (désolée) 🙂

    Pourriez vous me dire quel serait votre code en 1 ligne pour une MM de Hull multiple, en remplacement d’une mm de hull classique ?

    Ci dessous le code initial de la MM Hull multiple

    // MM Hull multiple
    demiP = round(P/2)
    temp = 2*Average[demiP,s](customclose) - Average[P,s](customclose)
    racineP = round(SQRT(P))
    Mhm = Average[racineP,s](temp)
    RETURN Mhm1 as "MM Hull multiple"

    Merci à vous.

    #6094 quote
    Nicolas
    Keymaster
    Master

    Voilà le code pour utiliser la méthode de calcul de type Hull sur n’importe quel type de moyenne mobile et non seulement sur une WeightedAverage:

    mySTO = STOCHASTIC[14,3](close)
    
    //Hull multiple moving average STO
    
    p = 5
    MMhullmultiple = average[round(SQRT(p)),t]( 2*average[round(p/2),t](mySto)-average[p,t](mySto))
    
    RETURN mySTO, MMhullmultiple

     

    Toujours appliquer au stochastique avec p=5 et t en type de moyenne mobile à mettre en paramètre externe.

    Cela fait beaucoup de type de moyenne mobiles pour générer des signaux sur un stochastique 🙂 Que vas-tu faire avec tout cela ?

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

Mettre une moyenne spécifique dans le code d'un indicateur


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
Summary

This topic contains 6 replies,
has 2 voices, and was last updated by Nicolas
9 years, 9 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 04/26/2016
Status: Active
Attachments: No files
Logo Logo
Loading...