Renko Oscilator
Forums › ProRealTime forum Français › Support ProBuilder › Renko Oscilator
- This topic has 28 replies, 4 voices, and was last updated 1 year ago by YvesRobert.
-
-
08/21/2023 at 12:37 PM #219419
Ci-dessous le code d’une stochastique appliqué à un graphique Renko, le rendu est identique à celui de la plateforme :
12345678910// https://en.wikipedia.org/wiki/Stochastic_oscillator//// settings for Stochastic 10,5,3)Periods = 14Kline = 3Dline = 3AvgType = 0 //SmaK = average[Kline,AvgType](((close - lowest[Periods](low)) / (highest[Periods](high) - lowest[Periods](low))) * 100)D = average[Dline,AvgType](K)Return K AS "%K",D AS "%D"Il n’y a pas de notion de temps, mais de période, soit 1 période = 1 chandelier japonais ou 1 brique renko, c’est pareil 🙂
08/21/2023 at 4:32 PM #219444Bonjour Nicolas,
En fait pas vraiment, parce que le renko de mon graphe n’est pas lié du tout au temps c’ets du price action pur, or celui de la plateforme est lié au temps, car si on remarque bien chaque cube a un horaire de création dans l’axe des abcisses.
Voici une autre image ou on voit bien que les bougies japonaises sont décalées vers la droite en UT5.
Sur le même graphique celui du renko est compressé vers la gauche et l’indicateur stochastique en dessous. Pourquoi il ne s’arrête pas à la fin du dernier cube ?
Merci pour ton aide
08/23/2023 at 9:27 AM #219522Très bien, je comprends maintenant que cette représentation renko sur ton graphique est un indicateur, un code personnel. Il n’utilise pas d’axe en abscisse et est donc décalé avec l’axe de la plateforme. Dans ce cas, hormis utiliser les données de ce code pour créer la stochastique, on ne peut rien faire de “l’extérieur”.
08/23/2023 at 1:27 PM #219543Bonjour Nicolas,
Si tu as un code pour visualiser avec du Renko avec l’axe des abcisses (en temps non linéaire), je suis preneur.
En fait, j’ai créé cet indicateur pour pouvoir l’utiliser en trading automatique puisqu’on ne peut pas le faire avec le graphique renko de la platefome, ni lancer un backtest, avec du Renko ou du Heiken-Ashi plateforme, etc, ce qui est vraiment dommage. Ca limite les posibilités.
Bonne journée
08/23/2023 at 2:44 PM #219547On peut faire un backtest sur un graphique renko de la plateforme (ou même Heikin Ashi), par contre le trading temps réel n’est pas possible.
Pour faire du trading temps réel avec un graphique en renko, je sais que c’est possible avec cet indicateur de la marketplace: https://market.prorealcode.com/product/prt-renko/?lang=fr
08/30/2023 at 7:44 AM #220040Bonjour Nicolas,
J’ai deux questions.
1) J’essaie de lancer un backtest avec le graphique en Renko de la plateforme mais il ne fait rien. Par contre lorsque je le remets en prix ca marche. Comment faut il faire ?
2) Avec ce produit là (https://market.prorealcode.com/product/prt-renko/?lang=fr) est il possible d’afficher un RSI, un stochastique, une MACD en dessous du graphique Renko, et ainsi pouvoir les utiliser dans le code en même temps que les données du produit (close, open, low, high, etc des box renko) ? Parce qu’il y a aussi les bougies japonaises qui sont affichées en même temps sur le graphique et j’espère que les RSI et autres ne sont pas calculés sur ces bougies là mais sur les box renko.
Merci pour ton aide
Bonne journée
08/30/2023 at 4:16 PM #2200701/ Quel est le code de ce backtest ? Il est possible qu’une des conditions ne soient pas adaptés.
2/ Non, puisque les informations de ces bougies renkos simulées sont décorrélés du temps, les indicateurs de la plateforme ne peuvent pas savoir qu’une bougie renko peut prendre 10 périodes pour se former par exemple et donc se calculer en conséquence.
Pour calculer des indicateurs techniques sur une série de données non corrélés au temps, il faut les recréer complétement en tenant compte, que ce soit une simple moyenne mobile ou un RSI, ce qui est logique comme expliqué en point 2.
08/30/2023 at 6:31 PM #220086Voici mon code. Il consiste à prendre une position si on passe en dessous ou au dessus de la MM20.
C’est un début, car je n’ai pas mis de stop loss. Mais je voulais juste le tester tel quel dans un premie temps.
En te remerciant
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149//////////////////////////////////////////////defparam preloadbars=10000defparam cumulateorders=falsetimeframe(5 minutes)once n1=20once dec=0once t=0once i=0once boxsize=8once compteur1=0once compteur2=0once k=0once EMA20=0once renkoMax = round(close/boxSize) * boxSizeonce renkoMin = renkoMax - boxsizeonce lastbox1=0once last1=0//BOX POUR HAUSSEIF close > (renkoMax + boxSize) THENWHILE close > (renkoMax + boxSize)lastbox=(renkomax+renkomin)/2lastbox1=lastboxcompteur1=compteur1+1compteur2=0renkomin2=renkomin1renkomin1=renkominrenkomax2=renkomax1renkomax1=renkomaxEMA202=EMA201EMA201=EMA20renkoMax = (renkoMax + boxSize)renkoMin = (renkoMin + boxSize)bar=bar+1// Calcul de la MM20count1=0sum1=0for i = 0 to bar doif((renkomax[i]+renkomin[i])/2)<>lastbox1 thenlastbox1=((renkomax[i]+renkomin[i])/2)count1=count1+1median1=((renkomax[i]+renkomin[i])/2)sum1=sum1+median1if count1=n1+1 thensum1=sum1-lastbox1breakendifendifnextif lastbox1<>lastbox1[1] thenEMA20 = sum1/n1endifok2=renkomin-(8*dec) crosses over EMA20if ok2 and (k=2 or k=0) thengo1=1go2=0k=1ok1=0endifWEND//BOX POUR BAISSEELSIF close < (renkoMin - boxSize) THENWHILE close < (renkoMin - boxSize)lastbox=(renkomax+renkomin)/2lastbox1=lastboxcompteur1=0compteur2=compteur2+1renkomin2=renkomin1renkomin1=renkominrenkomax2=renkomax1renkomax1=renkomaxEMA202=EMA201EMA201=EMA20bar=bar+1renkoMax = (renkoMax - boxSize)renkoMin = (renkoMin - boxSize)// Calcul de la MM20count1=0sum1=0for i = 0 to bar doif ((renkomax[i]+renkomin[i])/2)<>lastbox1 thenlastbox1=((renkomax[i]+renkomin[i])/2)count1=count1+1median1=((renkomax[i]+renkomin[i])/2)sum1=sum1+median1if count1=n1+1 thensum1=sum1-lastbox1breakendifendifnextif lastbox1<>lastbox1[1] thenEMA20 = sum1/n1endifok1=renkomax+(8*dec) crosses under EMA20if ok1 and (k=1 or k=0) thengo2=1go1=0k=2ok2=0endifWENDendif // du ELSIFtimeframe(default)if go1=1 thenif shortonmarket thenEXITSHORT 1 CONTRACTS AT MARKETendifIF NOT LongOnMarket thenBUY 1 CONTRACTS AT MARKETendifendifif go2=1 thenif longonmarket thenSELL 1 CONTRACTS AT MARKETendifIF NOT ShortOnMarket THENSELLSHORT 1 CONTRACTS AT MARKETENDIFendif08/31/2023 at 12:57 PM #220127Il y a incompréhension je pense. Ce code crée lui même ses propres bougies renko, donc pourquoi vouloir l’utiliser sur un graphique en renko? Ce code va prendre les données du renko plateforme pour créer ses propres renko, donc un double renko!
Si tu veux trader ces bougies simulés, alors ton code le fait très bien sur un graphique ordinaire, comme tu l’as constaté, puisque on a forcément besoin du VRAI prix pour calculer ces nouvelles bougies.
J’espère avoir été clair.
09/01/2023 at 1:31 PM #220183Bonjour Nicolas,
Oui effectivement, je créé les box renko via le code directement et une mm20 simple également.
Mais alors, peut on lancer en backtest avec un graphique en renko plateforme ? J’ai essayé et rien ne se passe. Par exemple j’ai écrit un code simple avec un test sur la MM20 et avec les renko de la plateforme. J’ai donc un timeframe 5mn avec mes conditions et la déclaration des variables, et un TF default à partir duquel je le lance (en 1 seconde) et ou j’ai mes ordres d’achats et de ventes. Lorsque j’essaie de lancer le backtest, rien ne se passe. Pas possible non plus avec les renko plateforme ?
Merci et bonne journée
10/11/2023 at 7:20 PM #222302Bonjour Nicolas, j’ai un problème avec le calcul de la moyenne mobile exponentielle 50 périodes sur mon graphe en renko en trading automatique.
Sur le graphe dans mon code tout s’affiche correctement, c’est rès bien, en backtest j’affiche grace à grapheonprice la valeur de EMA50 et c’est la même
que celle sur la graphique dans mon code de l’indicateur, ok. Mais quand je lance le trading auto, il me calcul la MA50 avec 600 points d’écarts en dessous !!
J’ai exactement le même code dans la stratégie que celui dans mon indicateur avec EMA50 = (alpha*renkomax) + ((1-alpha)*EMA50[1]) avec alpha=2/51
Avec alpha=2/21 pour la EMA20 ca fonctionne bien, il calcul bien la bonne valeur mais dès qu’on passe à 2/51, il calcul une EMA50 beauoup plus basse alors que sur le graphique les box renko sont près de la EMA20 et 50. Incroyable ! je ne comprends pas.
Merci de ton aide et bonne journée
10/12/2023 at 9:06 AM #222315Désolé je ne comprends pas 🙂
Si la EMA50 est correctement calculé et que tu visualises la même avec GRAPHONPRICE, comment peut elle être à 600 points d’écart ?
Sinon, pour que la EMA50 se calcule aussi bien qu’une EMA plus courte, assure toi d’avoir suffisamment d’historique pour ce calcul d’EMA puisse se faire aussi bien que l’indicateur.
10/12/2023 at 11:44 AM #222349Bonjour Nicolas, voici une partie de mon code lors de la création d’une box en plus à la hausse.
once boxsize=5once EMA20=0once EMA201=0once EMA501=0once EMA50=0once renkoMax = round(close/boxSize) * boxSizeonce renkoMin = renkoMax – boxsizeIF close > (renkoMax + boxSize) THENEMA501=EMA50EMA201=EMA20alpha=2/21EMA20=(alpha*renkomax) + (1-alpha)*EMA201alpha=2/51EMA50=(alpha*renkomax) + (1-alpha)*EMA501renkoMax = (renkoMax + boxSize)renkoMin = (renkoMin + boxSize)endif
C’est le même code en tant qu’indicateur ou il affiche les deux EMA sur le graphe correctement. Or, en lancant la stratégie en automatique en démo, l’EMA20 est correcte car j’ai fait un test par exemple en faisant
if EMA20>x et EMA20<y then
BUY 1 CONTRACTS AT MARKET
endif
J’obtiens en resserant x et y la bonne valeur de EMA20 (instrument NASDAQ100). Je suis en 1 seconde et 100k sur le graphe et il m’affiche les deux EMA très bien en tant “qu’indicateurs”, OK.
En faisant la même chose pour l’EMA50, lorsque je ressere l’écart entre x et y, il est à 600 points (instrument NASDAQ100) en dessous !
Lors d’un backtest et comme les renko sont hors temps affichés complètement à gauche du graphe, avec grapheonprice EMA50 en fin de code je vais voir la valeur de EMA50 complètement à droite du graphique à la fin de la dernière bougie temps. La aussi la valeur est correcte. Ce n’est qu’au lancement de la stratégie en automatique (1 seconde, 100k) que EMA50 est différente. pourquoi, je ne sais pas.
10/14/2023 at 7:00 AM #222419Bonjour Nicolas, serait il possible de vous envoyer mon code (en trading auto) libre à vous ensuite de le mettre sur le forum, pour que vous puissiez voir qu’effectivement il y a une différence ? M’envoyer alors une adresse mél dans ma boite aux lettres perso. Merci
-
AuthorPosts