Discussion re Pure Renko strategy

Viewing 15 posts - 316 through 330 (of 346 total)
  • Author
    Posts
  • #130283 quote
    GraHal
    Participant
    Master

    but its stopping sometimes and I dont know why

    What stop message is IG showing you?

    Usually the Renko’s stop due to Stop Loss being less than minimum stop allowed by IG?

    #130285 quote
    deleted23092025
    Participant
    New

    Well I havent checked I though prorealtime did that.

    #130289 quote
    Paul
    Participant
    Master

    I got that problem too. Posted in an existing (old) topic this problem. No info at the rejected/canceled  tab. Annoying, since it makes the results unstable.

    #130295 quote
    deleted23092025
    Participant
    New

    Im running 1s on both demo and live they are doing so many different trades. Sometimes live doesnt take the trade demo does and vice versa. Thats wierd.

    #130363 quote
    Paul
    Participant
    Master

    This is what i’am testing. It provided some nice profits before, now it doesn’t look good in a backtest.

    Goal is more to have consistent opening-trades from the backtest & live.

    I removed a few lines which defined renkomax/min and didn’t expect it would work but it did.

    //-------------------------------------------------------------------------
    // Hoofd code : Renko dji   5s A3.1
    //-------------------------------------------------------------------------
    
    defparam cumulateorders = false
    defparam preloadbars    = 1000
    defparam flatbefore     = 080000
    defparam flatafter      = 173000
    
    once tradetype        = 1 // [1]long&short;[2]long;[3]short
    
    boxsizeL=40
    boxsizeS=30
    
    // strategy
    ctime= time>=080000 and time<150000
    
    if close > renkomax + boxsizeL  and not (close < renkomin - boxsizeS) then
    renkomax = renkomax + boxsizeL
    renkomin = renkomin + boxsizeL
    endif
    if close < renkomin - boxsizeS and not (close > renkomax + boxsizeL) then
    renkomax = renkomax - boxsizeS
    renkomin = renkomin - boxsizeS
    endif
    
    // conditions
    condbuy=high > (renkomax + boxsizeL)
    condbuy=condbuy and open<>close and low<>close and open<>high
    
    condsell=low < (renkomin - boxsizeS)
    condsell=condsell and open<>close and high<>close and open<>low
    
    // entry
    if ctime then
    If (tradetype=1 or tradetype=2) then
    if condbuy and not longonmarket then
    buy 1 contract at market
    endif
    endif
    if (tradetype=1 or tradetype=3) then
    if condsell and not shortonmarket then
    sellshort 1 contract at market
    endif
    endif
    endif
    
    // trailing atr stop
    once trailingstoptype     = 1    // trailing stop - 0 off, 1 on
    
    once steps     = 0.1             // set to 0 to ignore steps
    once minatrdist= 1.0
    
    once atrtrailingperiod    = 14   // atr parameter
    once minstop              = 10   // minimum trailing stop distance
    
    once sensitivityts        = 0    // [0]close;[1]high/low
    
    if trailingstoptype then
    if barindex=tradeindex then
    trailingstoplong     = 3   // trailing stop atr distance
    trailingstopshort    = 3   // trailing stop atr distance
    else
    if longonmarket then
    if newsl>0 then
    if trailingstoplong>minatrdist then
    if newsl>newsl[1] then
    trailingstoplong=trailingstoplong
    else
    trailingstoplong=trailingstoplong-steps
    endif
    else
    trailingstoplong=minatrdist
    endif
    endif
    endif
    
    if shortonmarket then
    if newsl>0 then
    if trailingstopshort>minatrdist then
    if newsl<newsl[1] then
    trailingstopshort=trailingstopshort
    else
    trailingstopshort=trailingstopshort-steps
    endif
    else
    trailingstopshort=minatrdist
    endif
    endif
    endif
    endif
    //
    atrtrail=averagetruerange[atrtrailingperiod]((close/10)*pipsize)/1000
    tgl=round(atrtrail*trailingstoplong)
    tgs=round(atrtrail*trailingstopshort)
    
    if not onmarket or ((longonmarket and shortonmarket[1]) or (longonmarket[1] and shortonmarket)) then
    maxprice=0
    minprice=close
    newsl=0
    endif
    //
    if sensitivityts then
    sensitivitytslong=high
    sensitivitytsshort=low
    else
    sensitivitytslong=close
    sensitivitytsshort=close
    endif
    //
    if longonmarket then
    maxprice=max(maxprice,sensitivitytslong)
    if maxprice-tradeprice(1)>=tgl*pointsize then
    if maxprice-tradeprice(1)>=minstop then
    newsl=maxprice-tgl*pointsize
    else
    newsl=maxprice-minstop*pointsize
    endif
    endif
    endif
    //
    if shortonmarket then
    minprice=min(minprice,sensitivitytsshort)
    if tradeprice(1)-minprice>=tgs*pointsize then
    if tradeprice(1)-minprice>=minstop then
    newsl=minprice+tgs*pointsize
    else
    newsl=minprice+minstop*pointsize
    endif
    endif
    endif
    //
    if longonmarket then
    if newsl>0 then
    sell at newsl stop
    endif
    if newsl>0 then
    if low crosses under newsl then
    sell at market //when stop is rejected
    endif
    endif
    endif
    //
    if shortonmarket then
    if newsl>0 then
    exitshort at newsl stop
    endif
    if newsl>0 then
    if high crosses over newsl then
    exitshort at market //when stop is rejected
    endif
    endif
    endif
    endif
    
    set stop %loss .4
    Francesco and thanked this post
    Screenshot-2020-05-07-at-03.10.29.jpg Screenshot-2020-05-07-at-03.10.29.jpg Screenshot-2020-05-07-at-03.10.16.jpg Screenshot-2020-05-07-at-03.10.16.jpg
    #130394 quote
    GraHal
    Participant
    Master

    Goal is more to have consistent opening-trades from the backtest & live.

    Do you start the System on both Backyest and Live at same time?

    If No … might differences between Backtest  and Live be due to brick size being counted / measured from different starting points??

    #130395 quote
    Paul
    Participant
    Master

    yeah understand what y’re saying and you are right. This version is a bit different and give me somewhat hope 🙂 Here’s today so far.

    What I see now in the screenshot, left it’s defined as exit at 9.06.55 and on the right as entry. Why is that?  There was no market position before that.

    Screenshot-2020-05-07-at-10.37.19.jpg Screenshot-2020-05-07-at-10.37.19.jpg Screenshot-2020-05-07-at-10.36.20.jpg Screenshot-2020-05-07-at-10.36.20.jpg
    #130407 quote
    Francesco
    Participant
    Veteran

    @Paul why did u decided to operate between that time frame? Higher volatility or what?

    #130408 quote
    deleted23092025
    Participant
    New

    Are there someone who is running anyone of thoose renko strategys and getting good results?

    #130412 quote
    Paul
    Participant
    Master

    @Francesco  biggest reason is different market behaviour as to when the market opens. When it opens its seems harder to get good results, maybe indeed one cause is volatility.

    Francesco thanked this post
    #131320 quote
    deleted23092025
    Participant
    New

    @Paul You still getting good results out there in the jungle? 😀

    #131398 quote
    Paul
    Participant
    Master

    Hi

    It’s tough. Yesterday I did, today not so much!

    With removing some parts defining “once” the renkoboxes, It seems to have stable results for the entry live compared to the backtest (when the system wasn’t stopped). That was the goal.

    It’s running from 26 april and still +/-500 profit. While it doesn’t show in the backtest, for the moment it didn’t break down completely, which is often the case on fast timeframes.

    But it’s not good enough.  New idea’s are welcome!

    thanked this post
    #131672 quote
    Paul
    Participant
    Master

    profits are gone. A really bad day!

    Still every entry is the same as the entry in the backtest. So maybe there’s a basis for ML.

    Screenshot-2020-05-14-at-15.53.24.jpg Screenshot-2020-05-14-at-15.53.24.jpg
    #131796 quote
    AlgoAlex
    Participant
    Master

    I wanna share my own version of an automated renko system: it’s a breakout system based on a Nicolas’ code and using ATR trailing stop seen here.

    These are the result in live demo and in the first week of real account, on Dow 5s…

    GraHal and Paul thanked this post
    renko-breakout-demo.jpg renko-breakout-demo.jpg renko-breakout-real.jpg renko-breakout-real.jpg Renko-breakout-5s-dow.itf
    #132269 quote
    Paul
    Participant
    Master

    There doesn’t seem much interest in a fast timeframe anymore.

    One part in your code I didn’t like and that’s using the average renkobox. Somehow it slows down backtesting a lot or is doesn’t load. I removed that part.

    I inserted a breakeven do lower the maximum losses and the more recent atr trailingstop. Maybe somehow pivots can be used here. Thanks for posting your version!

Viewing 15 posts - 316 through 330 (of 346 total)
  • You must be logged in to reply to this topic.

Discussion re Pure Renko strategy


ProOrder: Automated Strategies & Backtesting

New Reply
Author
Summary

This topic contains 345 replies,
has 24 voices, and was last updated by bertrandpinoy
5 years, 7 months ago.

Topic Details
Forum: ProOrder: Automated Strategies & Backtesting
Language: English
Started: 02/25/2020
Status: Active
Attachments: 149 files
Logo Logo
Loading...