Renko Oscilator

Viewing 14 posts - 16 through 29 (of 29 total)
  • Author
    Posts
  • #219419 quote
    Nicolas
    Keymaster
    Master

    Ci-dessous le code d’une stochastique appliqué à un graphique Renko, le rendu est identique à celui de la plateforme :

    // https://en.wikipedia.org/wiki/Stochastic_oscillator
    //
    // settings for Stochastic 10,5,3)
    Periods = 14
    Kline   = 3
    Dline   = 3
    AvgType = 0     //Sma
    K       = 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 🙂

    comparaison-renko-stochastique.png comparaison-renko-stochastique.png
    #219444 quote
    YvesRobert
    Participant
    Junior

    Bonjour 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

    Image10.jpg Image10.jpg
    #219522 quote
    Nicolas
    Keymaster
    Master

    Trè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”.

    #219543 quote
    YvesRobert
    Participant
    Junior

    Bonjour 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

    #219547 quote
    Nicolas
    Keymaster
    Master

    On 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

    #220040 quote
    YvesRobert
    Participant
    Junior

    Bonjour 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

    #220070 quote
    Nicolas
    Keymaster
    Master

    1/ 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.

    #220086 quote
    YvesRobert
    Participant
    Junior

    Voici 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

    //////////////////////////////////////////////
    
    defparam preloadbars=10000
    defparam cumulateorders=false
    
    timeframe(5 minutes)
    once n1=20
    once dec=0
    once t=0
    once i=0
    once boxsize=8
    once compteur1=0
    once compteur2=0
    once k=0
    once EMA20=0
    once renkoMax = round(close/boxSize) * boxSize
    once renkoMin = renkoMax - boxsize
    once lastbox1=0
    once last1=0
    
    //BOX POUR HAUSSE
    IF close > (renkoMax + boxSize) THEN
    
    WHILE close > (renkoMax + boxSize)
    lastbox=(renkomax+renkomin)/2
    lastbox1=lastbox
    
    compteur1=compteur1+1
    compteur2=0
    
    renkomin2=renkomin1
    renkomin1=renkomin
    renkomax2=renkomax1
    renkomax1=renkomax
    
    EMA202=EMA201
    EMA201=EMA20
    
    renkoMax = (renkoMax + boxSize)
    renkoMin = (renkoMin + boxSize)
    
    bar=bar+1
    
    // Calcul de la MM20
    
    count1=0
    sum1=0
    
    for i = 0 to bar do
    if((renkomax[i]+renkomin[i])/2)<>lastbox1 then
    lastbox1=((renkomax[i]+renkomin[i])/2)
    count1=count1+1
    median1=((renkomax[i]+renkomin[i])/2)
    sum1=sum1+median1
    if count1=n1+1 then
    sum1=sum1-lastbox1
    break
    endif
    endif
    next
    
    if lastbox1<>lastbox1[1] then
    EMA20 = sum1/n1
    endif
    
    ok2=renkomin-(8*dec) crosses over EMA20
    
    if ok2 and (k=2 or k=0) then
    go1=1
    go2=0
    k=1
    ok1=0
    endif
    WEND
    
    //BOX POUR BAISSE
    ELSIF close < (renkoMin - boxSize) THEN
    WHILE close < (renkoMin - boxSize)
    lastbox=(renkomax+renkomin)/2
    lastbox1=lastbox
    
    compteur1=0
    compteur2=compteur2+1
    
    renkomin2=renkomin1
    renkomin1=renkomin
    renkomax2=renkomax1
    renkomax1=renkomax
    
    EMA202=EMA201
    EMA201=EMA20
    
    bar=bar+1
    renkoMax = (renkoMax - boxSize)
    renkoMin = (renkoMin - boxSize)
    
    // Calcul de la MM20
    
    count1=0
    sum1=0
    
    for i = 0 to bar do
    if ((renkomax[i]+renkomin[i])/2)<>lastbox1 then
    lastbox1=((renkomax[i]+renkomin[i])/2)
    count1=count1+1
    median1=((renkomax[i]+renkomin[i])/2)
    sum1=sum1+median1
    if count1=n1+1 then
    sum1=sum1-lastbox1
    break
    endif
    endif
    next
    if lastbox1<>lastbox1[1] then
    EMA20 = sum1/n1
    endif
    
    ok1=renkomax+(8*dec) crosses under EMA20
    
    if ok1 and (k=1 or k=0) then
    go2=1
    go1=0
    k=2
    ok2=0
    endif
    WEND
    endif // du ELSIF
    
    
    
    
    timeframe(default)
    if go1=1 then
    if shortonmarket then
    EXITSHORT 1 CONTRACTS AT MARKET
    endif
    IF NOT LongOnMarket then
    BUY 1 CONTRACTS AT MARKET
    endif
    endif
    
    if go2=1 then
    if longonmarket then
    SELL 1 CONTRACTS AT MARKET
    endif
    IF NOT ShortOnMarket THEN
    SELLSHORT 1 CONTRACTS AT MARKET
    ENDIF
    endif
    #220127 quote
    Nicolas
    Keymaster
    Master

    Il 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.

    #220183 quote
    YvesRobert
    Participant
    Junior

    Bonjour 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

    #222302 quote
    YvesRobert
    Participant
    Junior

    Bonjour 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

    #222315 quote
    Nicolas
    Keymaster
    Master

    Dé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.

    #222349 quote
    YvesRobert
    Participant
    Junior

    Bonjour Nicolas, voici une partie de mon code lors de la création d’une box en plus à la hausse.

    once boxsize=5
    once EMA20=0
    once EMA201=0
    once EMA501=0
    once EMA50=0
    once renkoMax = round(close/boxSize) * boxSize
    once renkoMin = renkoMax boxsize
    IF close > (renkoMax + boxSize) THEN
    EMA501=EMA50
    EMA201=EMA20
    alpha=2/21
    EMA20=(alpha*renkomax) + (1-alpha)*EMA201
    alpha=2/51
    EMA50=(alpha*renkomax) + (1-alpha)*EMA501
    renkoMax = (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.

    #222419 quote
    YvesRobert
    Participant
    Junior

    Bonjour 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

Viewing 14 posts - 16 through 29 (of 29 total)
  • You must be logged in to reply to this topic.

Renko Oscilator


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
atazi @atazi Participant
Summary

This topic contains 28 replies,
has 4 voices, and was last updated by YvesRobert
2 years, 5 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 08/14/2020
Status: Active
Attachments: 4 files
Logo Logo
Loading...