RxmParticipant
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.
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.
RxmParticipant
Junior
Bonjour merci de votre réponse. En effet l’image n’est pas passée, je la remet 
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?
RxmParticipant
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
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"
RxmParticipant
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
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.
RxmParticipant
Junior
Autant pour moi je n’avais pas compris, merci !
RxmParticipant
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.
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"
RxmParticipant
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!

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.
bonsoir,
la bande rouge et vert ,c’est la bande de TLB ?