Hello, can someone help me, I have recovered an imbalance code that I have modified a little but I can’t get to the end. in this code only the next candlestick can close imbalance(gray rectangle) I would like the rectangles to disappear if the price crosses them regardless of the candlestick.
Bonjour, quelqu’un peut-il m’aider, j’ai récupéré un code d’imbalance que j’ai un peu modifié mais je n’arrive pas à aller au bout. Dans ce code, seul le chandelier suivant peut fermer le déséquilibre (rectangle gris) Je voudrais que les rectangles disparaissent si le prix les croise quel que soit le chandelier. Merci
TopImbalance = low[2] <= open[1] and high[0] >= close[1]
TopImbalancesize = low[2] -HIGH[0]
if TopImbalance and TopImbalancesize > 0 then
drawRECTANGLE(BARINDEX+10, low[2], BARINDEX[1], high[0]) coloured(255,255,250,30)BORDERCOLOR(255,255,250,100)
endif
BottomInbalance = high[2] >= open[1] and low[0] <= close[1]
BottomInbalancesize = LOW[0] - HIGH[2]
if BottomInbalance and BottomInbalancesize > 0 then
drawRECTANGLE(BARINDEX+10, low[0], BARINDEX[1], high[2]) coloured(255,255,250,30)BORDERCOLOR(255,255,250,100)
endif
return
Il n’existe aucun moyen de supprimer des objets graphiques tracés. La solution consiste donc à stocker toutes vos données d’imbalance dans un tableau et à les vérifier dans le passé à partir des chandeliers actuels pour les tracer ou non en fonction de votre condition de franchissement des prix. Je dois dire que c’est un peu délicat mais faisable à coup sûr.
Ainsi, de nombreux rectangles pourraient durer longtemps (voire indéfiniment), en attendant que le prix les dépasse.
Quand pensez-vous qu’un rectangle ne doit pas être tracé ? Quand le prix touche un des côtés du rectangle seulement (avec haut ou bas) ou juste si un chandelier se ferme à l’intérieur du rectangle ou éventuellement s’ouvre au-dessus/en-dessous et se ferme en-dessous/au-dessus ?
Je l utilise plus pour une prise de profit partiel, je trace aussi des zone offre demande mais pour moi ce ne sont pas les memes zone que l imbalance.
@nicolas Merci pour ta reponse c est ce que je pensais , mais je ne maitrise pas encore les tableaux, si quelqu un pouvez m aider,
pour le rectangle il se fermerait au fur est mesur du prix (HIGH OU LOW)
bonsoir
si un codeur peut aider.
projeter une ombre de la zone imbalance au dela de la bougie actuelle.
Merci, cordialement.
Bonjour,
J’ai codé un détecteur d’imbalance qui ressemble à celui-ci :
https://www.tradingview.com/v/7GES9cXf/
Je le trouve plus lisible que la plupart, car les bougies « mitigated » ne sont plus affichées.
Attention, en timeframe inférieure à 10s, ça mouline trop, donc à éviter.
Bonjour,
voilà le lien traité par nicolas
Imbalances indicator
Pour ma part, je préfère utiliser un code simple qui me dessine un rectangle, puis je le trace manuellement à l’infini et
le corrige ou le supprime . Car avec le temps, le code ne garde pas l’antériorité.
TopImbalance = high<low[2]
if TopImbalance then
drawcandle(low[2], low[2], high[0], high[0]) coloured("yellow")
endif
BottomInbalance = high[2]<low
if BottomInbalance then
drawcandle(low[0], low[0], high[2], high[2]) coloured ("yellow")
endif
return
Voir graphique
en jaune imbalance
en rouge single print
C’est une façon de voir en effet. Mon indicateur est ultra simple, il montre juste les zones d’imbalance encore actives.
La version de Nicolas est très bien, mais pour moi bien trop lourde visuellement.
Et pour le passé, il suffit de noter les zones d’imbalance qu’on a travaillé. On peut aussi ne pas les effacer.
correction du code car si vous aver une open ou close en extreme sa ne marche pas ( high= close ou low=close)
TopImbalance = (low[2] <= open[1] and high[0] >= close[1]) or (close[2] = low[2])
TopImbalancesize = low[2] - high[0]
if TopImbalance and TopImbalancesize > 0 then
drawcandle(low[2], low[2], high[0], high[0]) coloured(255,255,0)
endif
BottomInbalance = (high[2] >= open[1] and low[0] <= close[1]) or (close[2] = low[2])
BottomInbalancesize = low[0] - high[2]
if BottomInbalance and BottomInbalancesize > 0 then
drawcandle(low[0], low[0], high[2], high[2]) coloured(255,255,0)
endif
return
je revien un fois encore, car si on a un gap en la [1] et [0] ca napparait pas non plus
code corriger
TopImbalance = (low[2] <= open[1] and high[0] >= close[1]) or (close[2] = low[2]) or (close[1] > open[0] and open[0] > close[0])
TopImbalancesize = low[2] - high[0]
if TopImbalance and TopImbalancesize > 0 then
drawcandle(low[2], low[2], high[0], high[0]) coloured(255,255,0)
endif
BottomInbalance = (high[2] >= open[1] and low[0] <= close[1]) or (close[2] = high[2]) or (open[1] > close[0] and close[0] < low[0])
BottomInbalancesize = low[0] - high[2]
if BottomInbalance and BottomInbalancesize > 0 then
drawcandle(low[0], low[0], high[2], high[2]) coloured(255,255,0)
endif
return
Bonjour
blade106, serait-il possible d’envisager un indicateur d’alerte sonore et/ou Screener lorsqu’une zone d’imbalance est en train d’être travaillée ? Je pourrais préciser plus en détail si vous donniez signe de vie… Bonne journée
J’ai arrêté de coder sur PRT (mais aussi de trader… il y a un lien :-D), je ne savais même pas qu’on avait des alertes sonores.
Mais ça peut certainement être converti en screener, d’ailleurs en général je fais un appel de sous-fonction pour que mon code fonctionne à la fois en screener et en indicateur. Même si « c’est mal ». Ça permet de voir l’indicateur, et donc ensuite d’en créer un screener qui normalement répond à l’identique.
Ci-joints l’exemple d’un détecteur de biseau (je ne sais plus si le code fonctionne bien ou pas), mais c’est pour l’exemple du contenu normalement il doit y avoir le même code dans les 3, mais à des fins différentes (screener/affichage).
Bonjour
blade106, c’est très dommage que vous ne codiez plus… Dans tous les cas un grand merci pour votre précédent travail, que j’utilise tous les jours !