conception d’un Canal simple

Viewing 15 posts - 1 through 15 (of 18 total)
  • Author
    Posts
  • #163965 quote
    Rxm
    Participant
    Junior

    Bonjour à tous,

    Etant débutant dans le codage d’indicateurs, je viens demander de l’aide.

    Je souhaite créer un indicateur très simple, il consiste à créer un “canl” autour du prix. Lorsque la tendance est baissière la bande du bas correspondrait au point bas (à la cloture) et la bande haute correspondrait au plus haut des 5 dernières bougie (cloture). Le canal se retournerait lorsqu’il y a une clôture au dessus de la bande supérieur. Et ça serait l’inverse de la tendance baissière, la bande haute serait matérialiser par les plus haute clôture et la bande du bas par le plus bas des 5 dernières bougies.. Je joins une image pour facilité la compréhension ^^

    Merci par avance si vous pouvez m’aider.

    #163987 quote
    Rxm
    Participant
    Junior

    #163990 quote
    JC_Bywan
    Moderator
    Master

    Bonjour, merci de reposter l’image, elle ne semble pas être passée (mettre un peu de texte dans le message pour être sûr que ce n’est ça qui bloque). En effet il risuqe d’y avoir une ambiguité entre “5 dernières” ou “5 précédentes” qui ne se code pas pareil, et l’image permettra de trancher. Merci.

    #163992 quote
    Rxm
    Participant
    Junior

    Bonjour merci de votre réponse. En effet l’image n’est pas passée, je la remet

    Bandeau.png Bandeau.png
    #163996 quote
    JC_Bywan
    Moderator
    Master

    Ok, ce coup ci on voit l’image (et du coup ça a remis celle du post d’avant aussi – note pour Nicolas).

    La bande basse en tendance baissière serait le plus bas entre bande basse à la bougie d’avant et clôture, soit:

    bandebasse=min(close,bandebasse)

    La bande haute en tendance haussière serait de façon similaire:

    bandehaute=max(close,bandehaute)

     

    Par contre la bande haute en tendance baissière et la bande basse en tendance haussière ne semblent pas correspondre à la description?

    #163998 quote
    Rxm
    Participant
    Junior

    L’image représente a peu près ce que j’avais dans l’idée, mais en effet elle ne correspond pas totalement à la description.

    Je ne sais pas comment elle est calculée et je n’ai pas trouvé bcp d’éléments sur l’image donc j’ai donné une description qui me semblait s’en rapprocher.

    Merci

    #163999 quote
    JC_Bywan
    Moderator
    Master

    Le code partiel serait ainsi avec les bandes manquantes à compléter:

    if baisse then
      bandebasse=min(close,bandebasse)
      bandehaute=//à compléter
    elsif hausse then
      bandebasse=//à compléter
      bandehaute=max(close,bandehaute)
    endif
    
    if close>bandehaute then
     baisse=0
     hausse=1
    elsif close<bandebasse then
     hausse=0
     baisse=1
    endif
    
    return bandebasse as "bande basse", bandehaute as "bande haute"
    #164000 quote
    Rxm
    Participant
    Junior

    Merci beaucoup pour votre aide!

    Une dernière question, comment je pourrais caractérisé la baisse/hause ?

    Des clôtures négatives sur les N dernières périodes ? Le prix en dessous une moyenne ?

    Merci encore

    #164001 quote
    JC_Bywan
    Moderator
    Master

    Pour les booléens “baisse” dans le if de la ligne 1, et “hausse” dans le if de la ligne 4, j’ai juste pris la description donnée de traversée de bande, codée dans les lignes de 9 à 15 pour faire alterner baisse et hausse.

    #164002 quote
    Rxm
    Participant
    Junior

    Autant pour moi je n’avais pas compris, merci !

    #164011 quote
    Rxm
    Participant
    Junior

    Rebonjour, je reviens vers vous si vous avez encore un peu de temps à m’accorder car je n’arrive pas à faire fonctionner l’indicateur correctement.

    J’ai essayer d’adapter un petit peu le code que vous m’avez donner :

    if baisse then
    bandebasse1=min(close,bandebasse1)
    bandehaute1=high[5]
    elsif hausse then
    bandebasse2=low[5]
    bandehaute2=max(close,bandehaute2)
    endif
    
    if close>bandehaute1 then
    baisse=0
    hausse=1
    elsif close<bandebasse2 then
    hausse=0
    baisse=1
    endif
    
    
    return bandebasse1 COLOURED(250,0,0) as "bandebasse1" , bandehaute1 COLOURED(50, 250, 50) as "bandehaute1", bandebasse2 COLOURED(50,50,50) as "bandebasse2" , bandehaute2 COLOURED(50, 50, 200) as "bandehaute2"

    L’indicateur me retourne 2 bande (bandebasse1 et bandehaute1) égales à 0 tout le temps.

    Merci par avance.

    #164040 quote
    JC_Bywan
    Moderator
    Master

    L’échantillon de données dans l’image est un peu trop bas pour deviner la logique derrière les bandes manquantes, mais aucun cas simple de highest ou lowest ne semble correspondre. De plus, il est probable que ces bandes manquantes ne bougent pas en l’absence d’un nouveau high/low à l’opposé depuis le début de leur bout de tendance.
    Je suppose que tu as voulu faire des « 1 » et « 2 » pour recréer la zone de couleur rouge ou verte selon la tendance comme dans l’image. Je t’ai mis juste une bande1 et une bande2, qui alternent leurs positions entre bande haute et bande basse, pour qu’elles se croisent afin de créer ta zone de couleur vert/rouge selon que bande1 > ou < à bande2.

    once newhigh=high
    once newlow=low
    
    if baisse then
     bandebasse=min(close,bandebasse)
     if low<newlow then
      bandehaute=//à compléter
      newlow=low
     endif
     bande1=bandebasse
     bande2=bandehaute
    elsif hausse then
     bandehaute=max(close,bandehaute)
     if high>newhigh then
      bandebasse=//à compléter
      newhigh=high
     endif
     bande1=bandehaute
     bande2=bandebasse
    endif
    //
    if close>bandehaute then
     baisse=0
     hausse=1
     newhigh=high
     bande1=close
     bande2=bandehaute
     //DRAWTEXT(">", barindex, high+5)
    elsif close<bandebasse then
     hausse=0
     baisse=1
     newlow=low
     bande1=close
     bande2=bandebasse
     //DRAWTEXT("<", barindex, low-5)
    endif
    
    return bande1 as "bande1", bande2 as "bande2"
    #164047 quote
    Rxm
    Participant
    Junior

    Merci pour ton retour, oui c’est exactement ce que je voulais faire. Le code correspond tout à fait à ce que j’avais en tête.

    J’ai réussi à trouver une image de l’indicateur avec plus d’historique, mais je ne comprends toujours pas la logique qu’il y a derrière.. Si tu as une idée je suis preneur 😀

    Merci pour ton temps!

    #164048 quote
    JC_Bywan
    Moderator
    Master

    J’essaierai d’y jeter un oeil demain, mais à première vue du nouvel échantillon, l’hypothèse avec le premier échantillon que la bande opposée manquante ne bougerait qu’en cas de nouveau high (resp low) n’est pas bonne non plus. Les changements de bande opposée semblent être des ex-niveaux de la bande de tendance, reste à trouver ce qui déclenche le passage d’un ex niveau à l’autre malgré la non-régularité apparente dans le rythme des changements. Si tu as un lien vers le site internet d’où vient l’image, ça pourrait donner des indications supplémentaires. Bonne soirée.

    #164049 quote
    fifi743
    Participant
    Master

    bonsoir,

    la bande rouge et vert ,c’est la bande de TLB ?

    JC_Bywan thanked this post
Viewing 15 posts - 1 through 15 (of 18 total)
  • You must be logged in to reply to this topic.

conception d’un Canal simple


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Rxm @r3spect Participant
Summary

This topic contains 17 replies,
has 4 voices, and was last updated by Nicolas
4 years, 12 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 03/12/2021
Status: Active
Attachments: 1 files
Logo Logo
Loading...