un autre lissage de courbes

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #213250 quote
    7tonjamais
    Participant
    New

    Toutes les moyennes mobiles ne représentent plus la réalité des prix.

    Pour avoir un tableau de prix à la fermeture, il suffit de programmer :

    mm1 = average[1](close)

    mais comment remplir average[1](close) sur une condition de période pour tracer des segments.

    Sur du 1 minute, mm1 se remplirait des valeurs A,B,C,D,E.

    mais sur du 5 minutes, mm1 se remplrait de A et de E.

    comment remplire mm1-modifié par :

    • A
    • B = A+ (A-E)/4
    • C= A+ 2*((A-E)/4)
    • D= A+ 3*((A-E)/4)
    • E= E

    pour réaliser ce que je veux, faut-il utiliser des tableaux ?

    peut etre existe t-il déjà un sujet qui répond à ma question.

     

    Merci de vos réponses.

    bye.

    #213271 quote
    Nicolas
    Keymaster
    Master

    Inutile de programmer une moyenne mobile, la constante du prix à sa fermeture est Close[0] et cette constante est déjà accessible sous forme de tableau, on accède aux autres colonnes (valeurs du passé) avec un décalage de X: Close[X]

    Pour obtenir le prix dans un autre timeframe, on peut utiliser l’instruction timeframe:

    timeframe(5 minutes, updateonclose)
    closeM5 = close

    avec l’option “updateonclose” dans cette instruction on update la valeur de la variable à la fermeture de la bougie, donc ici on obtient la valeur de la dernière bougie M5 clôturée. ex: si il est 11h58, closeM5 = valeur de 11h55
    J’espère avoir été clair 🙂

    #220325 quote
    7tonjamais
    Participant
    New

    Voici une programmation d’un autre lissage de prix ! J’utilise des tableaux, mais ceux-ci, en proreal code sont difficile à comprendre. Je pense que c’est ma programmation le fond du probleme!

    Je n’obtiens pas la même représentation par RETURN $TprixHaut QUE PAR drawsegement DRAWSEGMENT(x1, y1, x2, y2)

    J’aurais aimé mettre une image, mais je ne sais comment ajouter une image dans ce forum….

    Je ne comprends pas pourquoi $TPRIXhAUT n’affiche que les prix en courbe sur la moitié de la période…

    Quelle erreeur de programmation est faite ???

    MERCI SI VOUS POUVEZ ME DIRE

    DEFPARAM DRAWONLASTBARONLY=true
    mmHAUTE=average[1](High )
    
    Periode = 48// variable de période
    $Ttemps[barindex] = BarIndex
    $Tprix[barindex] = high
    $Tprixhaut [barindex] = high
    Nb=ROUND((LastSet($Tprix )/ Periode))
    
    For i=Nb downto 0 do
    if i>=1 then
    for j=0 TO Periode-1 DO
    u=i*periode-j
    prixInt = ($Tprix[i*periode]-$Tprix[i*periode-periode])/periode
    $Tprixhaut[i*periode-j] = $Tprix[i*periode]-j*prixInt
    DRAWPOINT($Ttemps[i*periode-j], $Tprixhaut [i*periode-j],1)
    x1=$Ttemps[i*periode-j+1]
    y1=$Tprixhaut [i*periode-j+1]
    x2=$Ttemps[i*periode-j]
    y2=$Tprixhaut [i*periode-j]
    DRAWSEGMENT(x1, y1, x2, y2)
    next
    ENDIF
    next
    For i=LastSet($Tprix ) downto 0 do
    //DRAWPOINT($Ttemps[i], $Tprix[i],2) coloured(255,0,255)
    //DRAWTEXT("i=#i#", $Ttemps[i], $Tprix[i]+5)coloured(255,0,255)
    //v=$Ttemps[i]
    //DRAWTEXT("barindex=#v#", $Ttemps[i], $Tprix[i]-25)coloured(255,0,255)
    next
    RETURN mmHAUTE , $Tprix[barindex], $Tprixhaut[barindex] coloured (250,0,0)
    DEFPARAM DRAWONLASTBARONLY=true
    mmHAUTE=average[1](High )
    
    Periode = 48// variable de période
    $Ttemps[barindex] = BarIndex
    $Tprix[barindex] = high
    $Tprixhaut [barindex] = high
    Nb=ROUND((LastSet($Tprix )/ Periode))
    
    For i=Nb downto 0 do
    if i>=1 then
    for j=0 TO Periode-1 DO
    u=i*periode-j
    prixInt = ($Tprix[i*periode]-$Tprix[i*periode-periode])/periode
    $Tprixhaut[i*periode-j] = $Tprix[i*periode]-j*prixInt
    DRAWPOINT($Ttemps[i*periode-j], $Tprixhaut [i*periode-j],1)
    x1=$Ttemps[i*periode-j+1]
    y1=$Tprixhaut [i*periode-j+1]
    x2=$Ttemps[i*periode-j]
    y2=$Tprixhaut [i*periode-j]
    DRAWSEGMENT(x1, y1, x2, y2)
    next
    ENDIF
    next
    For i=LastSet($Tprix ) downto 0 do
    //DRAWPOINT($Ttemps[i], $Tprix[i],2) coloured(255,0,255)
    //DRAWTEXT("i=#i#", $Ttemps[i], $Tprix[i]+5)coloured(255,0,255)
    //v=$Ttemps[i]
    //DRAWTEXT("barindex=#v#", $Ttemps[i], $Tprix[i]-25)coloured(255,0,255)
    next
    RETURN mmHAUTE , $Tprix[barindex], $Tprixhaut[barindex] coloured (250,0,0)
    #220368 quote
    Nicolas
    Keymaster
    Master

    Tout cela m’a l’air bien compliqué 🙂 Désolé j’ai du mal à comprendre ce que tu cherches à faire. Pourrais-tu simplement l’expliquer de manière exhaustive en quelques lignes ?

    J’arrive à faire fonctionner ton code (voir image jointe). Pour attacher une image à un post, tu cliques sur “select” dans la section Attachments (en dessous de l’éditeur de texte).

    NASDAQ-5-minutes.png NASDAQ-5-minutes.png
    #220527 quote
    7tonjamais
    Participant
    New

    Bonjour Nicolas et merci de votre intérêt.
    Comme l’indique le titre de ce sujet, je cherche un moyen de lisser le signale du prix, pour une utilisation de celui-ci comme indicateur.
    Je reconnais que c’est compliquer d’utiliser les tableaux, surtout dans le futur. Mais ils se remplissent d’une information qui donne une variation du prix en fonction du temps. Quand le prix ne varie pas de plus de 0.25 point minute, il ne faut rien faire, et si au contraire cela varie de 10 points par minute, il faut prendre position. Les hauts et les bas deviennent visibles, mais pas forcément en retard.
    Le principe est simple, entre une période, il y a le prix A qui est retranché au prix B d’arrivé, et cette différence de prix divisé par le nombre de la période, permet de segmenter la courbe du prix. C’est une forme de moyennage du prix sur une période.

    Le problème, c’est que j’affiche bien mes segment (sauf le futur et l’attente de fin de période).
    Par contre, en rouge, j’affiche sur une moitié de période le prix, et l’autre moitié de période, j’ai une ligne droite…. Que contient vraiment le tableau $TprixHaut ???
    Mon code peut-il s’améliorer ?
    Quelle astuce utiliser pour détecter les plus hauts des plus bas, pour avoir une période flottante ? Encore que mon résultat puisse se passer d’exactitude, car parfois j’aurais un signal qui serait un peux en avance….

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

un autre lissage de courbes


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
7tonjamais @7tonjamais Participant
Summary

This topic contains 4 replies,
has 2 voices, and was last updated by 7tonjamais
2 years, 6 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 04/13/2023
Status: Active
Attachments: 2 files
Logo Logo
Loading...