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?
Well I havent checked I though prorealtime did that.
PaulParticipant
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.
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.
PaulParticipant
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
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??
PaulParticipant
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.
@Paul why did u decided to operate between that time frame? Higher volatility or what?
Are there someone who is running anyone of thoose renko strategys and getting good results?
PaulParticipant
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.
@Paul You still getting good results out there in the jungle? 😀
PaulParticipant
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
PaulParticipant
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.
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…
PaulParticipant
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!