Ligne de tendance renko
Forums › ProRealTime forum Français › Support ProBuilder › Ligne de tendance renko
- This topic has 4 replies, 2 voices, and was last updated 4 years ago by stratobast.
-
-
09/17/2020 at 1:50 PM #144544
Bonjour,
J’ai un souci avec le code d’un indicateur sur un graphique renko et je n’ai pas trouvé de sujets existants traitant de cette question. Je souhaiterais tracer une ligne qui suivrait le mouvement des briques seulement si l’écart entre cette ligne et les briques dépasse une certaine valeur. Un schéma vaut mieux qu’un long discours, alors j’ai tracé à la main ce que j’aimerais obtenir dans l’image jointe (voir première image).
Dans cet exemple, la taille des briques est de 10 points. La ligne est initialement placée 2 briques sous la première brique (20 points en dessous donc). Quand une nouvelle brique à la hausse apparait, la ligne monte d’une taille de brique pour conserver un écart maximum de 2 briques. Lorsque les premières briques rouges apparaissent, la ligne reste au même niveau car l’écart entre renko et la ligne est inférieur à 2 briques. Il faut attendre qu’il y ait une brique rouge 4 niveaux en dessous de la ligne pour que celle-ci décale à la baisse d’une taille de brique et ainsi revenir à un écart de 2 briques. Etc.
J’ai codé deux versions de l’indicateur. La première version est basique et se base sur la clôture (voir deuxième image).
Première version1234567891011121314DEFPARAM DRAWONLASTBARONLY = truedelta = boxsize*Offsetonce LT = close - deltawhile close-LT>delta doLT=LT+boxsizewendwhile close-LT<-delta doLT=LT-boxsizewendreturn LT as "ligne tendance"La seconde tentative est plus complexe et se base sur le code pour recréer les briques renko à partir du cours “normal” de l’actif (voir 3e image).
Deuxième version12345678910111213141516171819202122232425262728293031323334353637DEFPARAM DRAWONLASTBARONLY = trueonce renkoMax = ROUND(close / boxSize) * boxSizeonce renkoMin = renkoMax - boxSizeonce renkoline = renkomaxIF close >= renkoMax + boxSize THENWHILE close >= renkoMax + boxSizerenkoMax = renkoMax + boxSizerenkoMin = renkoMin + boxSizeWENDELSIF close <= renkoMin - boxSize THENWHILE close <= renkoMin - boxSizerenkoMax = renkoMax - boxSizerenkoMin = renkoMin - boxSizeWENDENDIF//---renkolineif renkomax > renkomax[1] thenrenkoline = renkomaxelsif renkomax < renkomax[1] thenrenkoline = renkominendifdelta = boxsize*Offsetonce LT = renkoline - deltawhile renkoline-LT>delta doLT=LT+boxsizewendwhile renkoline-LT<-delta doLT=LT-boxsizewendreturn LT as "ligne tendance"Aucune de ces deux versions de code ne permet d’obtenir la bonne ligne. Je ne comprends pas ce qui ne va pas. Est-ce que l’un de vous aurait une idée ?
Merci par avance pour votre aide 🙂
09/17/2020 at 2:26 PM #144553Si j’ai bien compris, il suffit de garder la ligne éloigné de X points de la bougie actuelle, selon sa direction :
123456789size = 20if close>open thenrline = max(rline,open-size*pointsize)elserline = min(rline,open+size*pointsize)endifreturn rline09/17/2020 at 3:30 PM #144566Mille mercis Nicolas 🙏 C’est exactement ça !
Par contre il y a une chose que je ne comprends pas. Lorsque je mets l’indicateur sur un graphique future ça fonctionne très bien, mais si je le mets sur un graphique CFD, il y a un décalage (voir image jointe). Saurais-tu ce qui pourrait expliquer cette différence et comment faire en sorte pour que ça fonctionne bien en CFD ?
09/17/2020 at 4:01 PM #144573La construction des bougies Renko a été complètement refaite en v11 pour permettre une comptabilité parfaite avec les codes persos, je ne suis pas étonné qu’il y ai une différence en v10.3 avec un indicateur personnalisé appliqué dessus.
09/17/2020 at 4:58 PM #144578Ah OK, merci pour cette info précieuse. Ça va m’éviter de chercher pendant des heures une solution (inexistante) à ce problème.
Du coup j’ai testé mes deux codes sur un graphique futures et les deux fonctionnent bien. Le problème venait donc de la plateforme en elle-même, pas du code.
Encore merci pour ton aide toujours aussi efficace 👍
-
AuthorPosts
Find exclusive trading pro-tools on