Bonjour,
Je fais appel à la communauté qui j’espère pourra éclairer ma lanterne. 😁 J’ai cherché sur le forum s’il y avait un sujet similaire mais je n’ai pas trouvé.
Je souhaite coder un indicateur sous forme de ligne qui correspond à la clôture des briques Renko. Après plusieurs tentatives et modifications je pense que je suis pas loin du but mais il y a toujours des bugs que je ne m’explique pas 🤔 :
- dès la deuxième brique, l’indicateur reste au même niveau au lieu de monter d’un cran, ce qui décale ensuite toute la courbe,
- au niveau de la dernière brique avant un changement de couleur, l’indicateur reste au même niveau,
- lorsqu’une brique d’une autre couleur apparait, l’indicateur reste au même niveau également.
Dans mon code, j’ai détaillé les 4 configurations possibles :
- brique verte après une brique verte,
- brique verte après une brique rouge,
- brique rouge après une brique rouge,
- brique rouge après une brique verte.
Voici le code correspondant :
pas = 20 //taille de bloc
once cbloc = close //cbloc = clôture du bloc
once obloc = close - pas //obloc = ouverture du bloc
if close > cbloc + pas and cbloc[1] > obloc[1] then //bloc haussier après bloc haussier
cbloc = cbloc + pas
obloc = obloc + pas
r=0
g=200
b=0
elsif close > cbloc + pas*2 and cbloc[1] < obloc[1] then //bloc haussier après bloc baissier
cbloc = cbloc + pas*2
obloc = obloc
r=0
g=200
b=0
elsif close < cbloc - pas and cbloc[1] < obloc[1] then //bloc baissier après bloc baissier
cbloc = cbloc - pas
obloc = obloc - pas
r=200
g=0
b=0
elsif close < cbloc - pas*2 and cbloc[1] > obloc[1] then //bloc baissier après bloc haussier
cbloc = cbloc - pas*2
obloc = obloc
r=200
g=0
b=0
endif
return cbloc coloured(r,g,b)
Voilà, j’espère que mes explications et annotations du code sont claires.
Merci par avance pour votre aide 🙂
La nuit porte conseil…j’ai trouvé la solution 🙂
Bonsoir,
Bonne nouvelle ! Dans ce cas partagez.
Cela peut sûrement ouvrir des perspectives à d’autres personnes.
Merci. 🙂
La nuit porte conseil…
Je confirme, ça m’arrive très souvent 🙂 En effet, ce serait sympa de partager ! A+
Bonjour,
Oui bien sûr pour le partage. Voici le code :
pas = 100 //taille de bloc
once ubloc = close
once dbloc = close - pas
once renkoline = ubloc
if close > ubloc + pas then
ubloc = ubloc + pas
dbloc = dbloc + pas
renkoline = ubloc
r=0
g=200
else
ubloc = ubloc - pas
dbloc = dbloc - pas
renkoline = dbloc
r=200
g=0
endif
return renkoline coloured (r,g,0)
C’est finalement beaucoup plus simple que celui que j’ai partagé initialement.
Bonjour et merci.
Donc c’est ce résultat que tu voulais obtenir ?
Voir graphique 1 Nasdaq Renko taille 100 sur 40 000 unités.
Mais si je passe en taille 10 pour de l’intra-day, ça donne le second graphique. Pas évident à traiter.
Peut être est-ce pour du Forex ?
Bonne soirée.
Je pense que stratobast voulait appliquer cet indicateur au graphique du prix classique en chandelier japonais et ainsi obtenir les deux représentations du prix sur le même graphique.
Oui Choliver, c’est le résultat que je voulais obtenir, mais je nuancerais avec deux points :
- il faut modifier directement la taille des briques dans le code pour qu’elle soit identique à celle du graphique renko affiché,
- indépendamment de la taille des briques il vaut mieux utiliser une unité de temps courte pour que le renko et l’indicateur que j’ai créé soit plus précis.
Pas tout à fait Nicolas, je voulais juste coder le renko sous une autre forme pour mieux m’approprier cette représentation graphique. Si tu utilises mon code sur un graphique en chandelier, ça donne un peu le même résultat que le deuxième graphique de Choliver.
Ce code peut aussi aider les personnes qui voudraient utiliser le renko basé sur l’ATR dans la version 10 de PRT. Dans la cette version il n’est possible de paramétrer la taille des boîtes qu’avec une valeur fixe en points/pips ou avec un pourcentage de l’instrument. Dans la version 11, le calcul des briques avec l’ATR est disponible en natif. Du coup en remplaçant dans mon code la taille de boîte par la formule de l’ATR, cela permet d’avoir le renko basé sur l’ATR dans la version 10.
OK Merci pour tes précisions importantes.
A suivre… 🙂
Voici l’indicateur Renko reproduit avec choix ATR ou valeur et un flechage à chaque changement de direction:
// Variables de choix entre ATR ou Valeur
if Type = 1 then// type = variable 1 ou autre
Boxsize = Box
else
Boxsize = AverageTrueRange[ATR]
endif
// variables à établir: Boxsize et periode ATR “ATR”
once renkoMax = round(close/boxSize) * boxSize
once renkoMin = renkoMax – boxSize
if close > (renkoMax + boxSize) then
renkoMax = renkoMax + boxSize
renkoMin = renkoMin + boxSize
upR = upR+1
dnR = 0
endif
if close < (renkoMin - boxSize) then
renkoMax = renkoMax - boxSize
renkoMin = renkoMin - boxSize
dnR = dnR+1
upR = 0
endif
//Dessin des flêches 1 fois par changement de position
if time > 090000 and time < 173000 and renkomax > renkomax[1] and upR < 2 then// dessine seulement dans cete plage horaire
drawarrowup(barindex+1,renkomin-10) coloured(204,51,255)
elsif renkomin < renkomin[1] and dnR < 2 then
drawarrowdown(barindex+1,renkomax+10) coloured(204,51,255)
endif
return renkoMax as "Renko UP", renkoMin as "Renko DN"