Backtesting on Renko Charts - futures io
futures io futures trading



Backtesting on Renko Charts


Discussion in MultiCharts

Updated
      Top Posters
    1. looks_one diverdan with 12 posts (7 thanks)
    2. looks_two RM99 with 5 posts (9 thanks)
    3. looks_3 Big Mike with 3 posts (1 thanks)
    4. looks_4 Jura with 3 posts (0 thanks)
      Best Posters
    1. looks_one RM99 with 1.8 thanks per post
    2. looks_two sptrader with 1 thanks per post
    3. looks_3 diverdan with 0.6 thanks per post
    4. looks_4 Big Mike with 0.3 thanks per post
    1. trending_up 18,832 views
    2. thumb_up 18 thanks given
    3. group 7 followers
    1. forum 25 posts
    2. attach_file 4 attachments




Welcome to futures io: the largest futures trading community on the planet, with well over 125,000 members
  • Genuine reviews from real traders, not fake reviews from stealth vendors
  • Quality education from leading professional traders
  • We are a friendly, helpful, and positive community
  • We do not tolerate rude behavior, trolling, or vendors advertising in posts
  • We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community.  It's free and simple.

-- Big Mike, Site Administrator

(If you already have an account, login at the top of the page)

 
Search this Thread
 

Backtesting on Renko Charts

(login for full post details)
  #1 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received

As noted in the "MC v7 Cool things" thread, MC now has Renko bars.

Now other platforms have had this and other more sophisticated bar types for a while and so have discovered the pitfalls with these types of bars. But being a MC user, I am unaware of these issues and have apparently very quickly fallen into some of them.

So, at the suggestion of BM and RM99, I have started a thread to discuss the pitfalls of using Renko bars on chart 1 and backtesting.

Visit my futures io Trade Journal Started this thread Reply With Quote

Journal Challenge February 2021 results:
Competing for $1500 in prizes from Topstep
looks_oneSBtrader82 's Trading Journalby SBtrader82
(173 thanks from 31 posts)
looks_twoJust BEING a Trader: Letting Go!!by iqgod
(120 thanks from 33 posts)
looks_3Wisdom is Emptinessby Mtype
(68 thanks from 25 posts)
looks_4Deetee’s DAX Trading Journal (time based)by Deetee
(35 thanks from 17 posts)
looks_5Journal for peanuts1956by peanuts1956
(23 thanks from 13 posts)
 
 
(login for full post details)
  #2 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received

Doing a search of futures.io (formerly BMT), I have found the following resources on Renko bars and backtesting:





Descriptions / information on Renko bars:






Lastly information on Renko strategies:

Visit my futures io Trade Journal Started this thread Reply With Quote
The following user says Thank You to diverdan for this post:
 
(login for full post details)
  #3 (permalink)
Austin, TX
 
Experience: Advanced
Platform: TradeStation
Trading: Futures
 
Posts: 882 since Mar 2011
Thanks: 124 given, 701 received


Most of the resources on futures.io (formerly BMT) in reference to Renko charts are for Ninja. Because we cannot backtest IOG and because the look inside function will not work, you're left to do as Big Mike stated and use multiple data streams.

The problem with renko is that the possible range of the next renko bar is 3 times the size of the bar increment.

So if you're using a trailing stop, then the increment of the trail must be at least 3 times the size of the bar.

additionally, if you don't use stops in increments of the bar, the backtest has no way of determining what happened during the bar....

When you compound the issue with the fact that renko's are not time based....then it becomes more of a challenge (i.e. the bar could continue in the direction of the last bar, up to a tick shy of creating a new bar, then reverse and go all the way back, nearly 3 bars worth just shy of creating a new bar in the opposite direction and then travel all the way back to the other end....there's no time limit).

What I have found is that renko bars "on average" penetrate approximately 40-45% of the bar increment. That is to say, if you use a trailing stop that has a trail the value of 3 bar increments.....on average (over many trades) you'll enjoy a 40% trail savings compared to simply using a fixed stop that's 2 bar increments.

These are the wicks and outside the plotted bar values that are not included historically.

You could use a 2 brick trail, but again, every once in a great while, the bar will advance, and then return all the way back and stop you out (thus something that seems like a long trend of continuous bricks....will stop you out infrequently unless you're using a 3 brick trail size).

In the end, tradestation is useless for renko strategies. It's really only useful for analysis and getting trend information (historically). You can use a renko modifier to show the wicks/tails, but that only updates live.

MC gives you an advantage of using multiple data streams, but even that takes some workarounds.

TS will probably never address the growing requests to supply renkos with tails. I saw from another thread where MC is aware that it's a popular request.

In my opinion, renko with tails is the cadillac of charting. You can glean the same information off range bars, but it's much more graphic friendly with renko (including the true highs and true lows).

In the end, the only REAL useful piece of advice I can give you when developing strategies on renko charts is to be sure that you forward test AT LEAST as much data as you've backtested, in order to verify potential pitfalls. Renko charts are usually VERY positively biased in backtests.

"A dumb man never learns. A smart man learns from his own failure and success. But a wise man learns from the failure and success of others."
Reply With Quote
The following user says Thank You to RM99 for this post:
 
(login for full post details)
  #4 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,760 since Jun 2009
Thanks: 32,301 given, 97,531 received

You can backtest with IOG.

The problem with Renko bars, on MultiCharts or NinjaTrader, is a design problem. The open of the bar is not "true" in relation to the prior bar close.

You can get around this problem by adding a second dataseries to your strategy. 'data1' is the execution dataseries, like a 1-range bar for example, and 'data2' is your renko series for generating signals.

Send orders to data1 for fills, and data2 is just for signal generation.

It is not too difficult to implement this in MultiCharts. Just be prepared that your magic money-making renko strategy will be less magical after a more accurate test

Mike

We're here to help -- just ask

For the best trading education, watch our webinars
Searching for trading reviews? Review this list

Follow us on Twitter, YouTube, and Facebook

Support our community as an Elite Member:
https://futures.io/elite/
Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
The following user says Thank You to Big Mike for this post:
 
(login for full post details)
  #5 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received

Hi RM99

Thanks for the information. Have you made the switch to MC yet? According to Mike, seems that, whilst there may not be a killer argument for making the switch, the small things that MC does better than TS may be enough?

Cheers,

Visit my futures io Trade Journal Started this thread Reply With Quote
 
(login for full post details)
  #6 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received


Big Mike View Post
Just be prepared that your magic money-making renko strategy will be less magical after a more accurate test

Mike

Thanks Mike

Looks like I'll be spending the weekend making the strategy less magical

Visit my futures io Trade Journal Started this thread Reply With Quote
 
(login for full post details)
  #7 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received

From one of the threads above, Aslan stated:


Quoting 
Totally agree. I love that time is removed from the chart, but you have to be careful. I actually run a BetterRenko and time based at the same time. My signals come off the BR, but I watch the time based chart for trendlines and other patterns. For example, a BR removes a lot of noise, which is great for seeing structure, but it can also work against you if you do not see that time is ticking away during a consolidation pattern.

Note: Don't use WickedRenko, it is flawed, BetterRenko replaced it.


Visit my futures io Trade Journal Started this thread Reply With Quote
 
(login for full post details)
  #8 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received


Big Mike View Post
You can get around this problem by adding a second dataseries to your strategy. 'data1' is the execution dataseries, like a 1-range bar for example, and 'data2' is your renko series for generating signals.

Send orders to data1 for fills, and data2 is just for signal generation.

Hey Mike

If I adopt this approach, in your opinion will this remove / negate the need for BetterRenko?

Dan

Visit my futures io Trade Journal Started this thread Reply With Quote
 
(login for full post details)
  #9 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,760 since Jun 2009
Thanks: 32,301 given, 97,531 received


diverdan View Post
Hey Mike

If I adopt this approach, in your opinion will this remove / negate the need for BetterRenko?

Dan

I've never looked at the BetterRenko code, but my understanding is that is (somehow) has a correct Open price in relation to the prior bar Close, which is the main backtesting "fault" of a traditional renko. Of course, that, and the wicks and tails to show more precisely the movement within the brick/bar.

That said, if you aren't using the wicks and tails to generate signals (High and Low in relation to Open and Close) then I believe adding the second dataseries should solve any other backtesting related "faults" with a traditional renko bar.

Mike

We're here to help -- just ask

For the best trading education, watch our webinars
Searching for trading reviews? Review this list

Follow us on Twitter, YouTube, and Facebook

Support our community as an Elite Member:
https://futures.io/elite/
Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #10 (permalink)
The Netherlands
 
Experience: None
Platform: MultiCharts, TradingView
Trading: ...
 
Jura's Avatar
 
Posts: 774 since Apr 2010
Thanks: 2,347 given, 688 received



RM99 View Post
[....] use multiple data streams.

The problem with renko is that the possible range of the next renko bar is 3 times the size of the bar increment.

[...]

additionally, if you don't use stops in increments of the bar, the backtest has no way of determining what happened during the bar....

When you compound the issue with the fact that renko's are not time based....then it becomes more of a challenge (i.e. the bar could continue in the direction of the last bar, up to a tick shy of creating a new bar, then reverse and go all the way back, nearly 3 bars worth just shy of creating a new bar in the opposite direction and then travel all the way back to the other end....there's no time limit).

What I have found is that renko bars "on average" penetrate approximately 40-45% of the bar increment. That is to say, if you use a trailing stop that has a trail the value of 3 bar increments.....on average (over many trades) you'll enjoy a 40% trail savings compared to simply using a fixed stop that's 2 bar increments.

These are the wicks and outside the plotted bar values that are not included historically.

This question is just showing my ignorance on this subject matter, but I don't follow this. If I plot Renko bars in MultiCharts, each has the same range and the open is at most one "box size" away from the preceding close. Also when using "PlayBack" mode, I don't see this behaviour that a new bar can be three "box sizes" away from the preceding bar.

Or are you saying that real-time Renko charts have different 'plotting rules' than the one based on historical tick data?

Thanks for any insights,

Reply With Quote
 
(login for full post details)
  #11 (permalink)
Austin, TX
 
Experience: Advanced
Platform: TradeStation
Trading: Futures
 
Posts: 882 since Mar 2011
Thanks: 124 given, 701 received


Jura View Post
This question is just showing my ignorance on this subject matter, but I don't follow this. If I plot Renko bars in MultiCharts, each has the same range and the open is at most one "box size" away from the preceding close. Also when using "PlayBack" mode, I don't see this behaviour that a new bar can be three "box sizes" away from the preceding bar.

Or are you saying that real-time Renko charts have different 'plotting rules' than the one based on historical tick data?

Thanks for any insights,

let's say your box size is 10 ticks. And the last bar is a down bar that closes at 100.00

The new bar "opens" at 100.00, if that new bar runs to 99.91, it still has not created a new down box, additionally, it can then go all the way from 99.91 back North, all the way until it reaches 100.19, because at 100.20 is when it will make a new green/higher bar.

So the range for the bar is really 30 ticks (100.20 down to 99.90)

So if you backtested and had a trailing stop of 2 box increments, it's possible, that in our example, the trail was activated if the price then retraced BACk to the downside and made a new bar opening at 99.90.

What BigMike was saying, that the openings don't line up, is because if the last bar was a down bar and to stick with our example...closed at 100.00

if the bar retraces and begins to climb and hits 100.20 and closes a "green" or up bar, the historical chart will actually show the open at 100.10 (not 100.00) NOR will it show if the price actually went lower than the true open of the bar.

If you actually run a live strategy on renko, with tick/tick entries or exits, you'll begin to notice transactions that ocurr OUTSIDE the actual bars...because the bar only plots new bricks up or downs, it doesn't plot the rest of the story.

That's the original intent of a renko chart, that it removes all the "noise" of the price action and that's why you see these nice, beautiful strings of same colored bars in trends....

When in actuality, there was most likely, a lot of price movement around some of the bars during a trend...you just don't see it, because renko removes all the excess information.

Like I said, Renko is useful (in it's original form) for identifying overall/higher time frame trends and also it's very useful for visualizing support/resistance points (if you see a double top where the brick highs are equal, or a triple top).

You actually have the ability to run 2 data streams. (with MC). TS has the ability to use workarounds such as globaldictionary and globalvariables...but you still cannot backtest (even end of bar, no IOG). I'd be satisfied simply backtesting with the true ranges/tails/wicks included.

Renko is also very useful for identifying trend reversals/pivot points.

IF you can plot the improved Renko with tails/wicks, you can notice some pretty strong entry points where there are a reversal bar with a very long tail/wick. You'll begin to notice that reversals always feature a wick that's the length of a bar (at least) but sometimes, the wick can be almost 2x the brick increment...those are stronger entry and exit points.

"A dumb man never learns. A smart man learns from his own failure and success. But a wise man learns from the failure and success of others."
Reply With Quote
The following 5 users say Thank You to RM99 for this post:
 
(login for full post details)
  #12 (permalink)
Austin, TX
 
Experience: Advanced
Platform: TradeStation
Trading: Futures
 
Posts: 882 since Mar 2011
Thanks: 124 given, 701 received

One thing I forgot to add is that the inherent nature of Renko is to remove the time aspect....so a bar might form in any time frame imagineable...might be 1 minute, 1 hour, 1 day, etc.

THAT is why the range is so prolific.

With regular time based bars, you see an "inversion" where the bar is an up bar, but instead of the normal OLHC order, you see an inversion order of OHLHC (which gets plotted as OLHC). This doesn't happen very often, but it does happen (because the time is limited, it's not as often). With Renko, there's no time limit, so price wonders however it wants, for as long as it wants before moving far enough to create a new bar.

This type of "inversion" bar really throws trailing stops and anything that's tick/tick or IOG for a loop, because unless the stop and profit limits are larger than the bar, the backtest engine either has to assume "best case" or "worst case" with respect to OHLC.

Obviously the remedy to this is to backtest "look inside" or tick/tick, but with TS, that's not always available. (IOG strategies, DLL strategies, etc).

"A dumb man never learns. A smart man learns from his own failure and success. But a wise man learns from the failure and success of others."
Reply With Quote
The following user says Thank You to RM99 for this post:
 
(login for full post details)
  #13 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received

Hi RM99

Thanks for the explanation.

I can understand the points about wicks not showing, and I have now plotted a 5Range chart and 5 Renko chart together and can very clearly see some of the price action you are talking about.


RM99 View Post
What BigMike was saying, that the openings don't line up, is because if the last bar was a down bar and to stick with our example...closed at 100.00

if the bar retraces and begins to climb and hits 100.20 and closes a "green" or up bar, the historical chart will actually show the open at 100.10 (not 100.00) NOR will it show if the price actually went lower than the true open of the bar.

However I still don't get the point above. If the Renko plots like you explain, surely you would see a gap from the bar that closed at 100.00 and the one which opened at 100.20.

Cheers,

Dan

Visit my futures io Trade Journal Started this thread Reply With Quote
 
(login for full post details)
  #14 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received

I thought I would post my cool strategy which started me off on this thread and see if I can improve as per the suggestions.

I ran it on the eur/usd 5 Renko and seemed to test very well.

 
Code
                            
Inputs:
    
ccilength 14 ), turningpoint 100 ), strength ),
    
Lookback(2), BarSize(5),
    
TimeOffset(100), MaxLosingTrades(4), DailyProfitTargetPips(50), TimeStop(20),
    
ProfitTarget1(20), BreakEven(20), Offset(2), AccountSize(10000), RiskPerTrade(0.01);
Vars:
    
cciv(0), up(0), down(0), 
    
SessionTime (0), TimeToTrade(0), Triggered(0),
    
ind(1), SessionHi(-999999), SessionLo (+999999), 
    
TradeChart(1), TrendChart(2), Penetrated(false), LongTrigger(False), ShortTrigger(false),
    
AvgMaxExtension(0), MaxExtension(0), MaxHiLo(0),
    
NoLosingTrades(0), Pips4Day (0), PipsThisTrade(0), 
    
enterprice(0), stoploss(0), stopsize(0), BE(0), PT(0), ts(0), 
    
RiskAmount(0), Quantity(0), oneTick(0), OffsetTick(0), trend(0);

if 
CurrentBar 1 Then begin    
    cleardebug
;
    
oneTick MinMove PriceScale;
    
OffsetTick = (BarSize Offset) * oneTick;
    
AvgMaxExtension 0;
end;

trend 0;

cciv CCI(ccilength);

if 
cciv crosses below turningpoint and L then up Highest(Highstrength);
if 
cciv crosses above -turningpoint and H then down Lowest(Lowstrength);

//Work out session time
SessionTime CalcSessionTime;
TimeToTrade CalcLondonOpen;

If 
time >= SessionTime and SessionTime time[1then begin     
    NoLosingTrades 
0;
    
Pips4Day 0;
end;

//Session Performance Analysis
if marketposition and Triggered 1 then begin
    Triggered 
0;
    if 
positionprofit(1) < 0 then NoLosingTrades NoLosingTrades 1;
    
PipsThisTrade positionprofit(1) / maxcontracts(1) / oneTick;
    
Pips4Day Pips4Day PipsThisTrade;
    if 
Pips4Day DailyProfitTargetPips then messagelog(NumToStr(date,0) + " # Pips 4 Day: " NumToStr(pips4day0) + " # Losing Trades: " NumToStr(NoLosingTrades0));
    
MaxExtension MaxExtension oneTick;
    
AvgMaxExtension MaxExtension AvgMaxExtension;
end;

LongTrigger close[1]  > open[1];
ShortTrigger close[1] < open[1];

if 
marketposition and NoLosingTrades MaxLosingTrades and time TimeToTrade and 
     
Pips4Day DailyProfitTargetPips then begin
    
if LongTrigger and close up then begin
        enterprice 
up OffsetTick;
        
stoploss up OffsetTick;
        
ts stoploss OffsetTick;
        
MaxExtension enterprice;
        
MaxHiLo enterprice;
        
stopsize = (enterprice stoploss) / oneTick;    
        
RiskAmount = (AccountSize i_ClosedEquity) * RiskPerTrade;
        
Quantity RiskAmount stopsize 10000;
        
Buy Quantity contracts Next Bar at enterprice stop;
    
end 
    
else if ShortTrigger  and close down then begin
        enterprice 
down OffsetTick;
        
stoploss down OffsetTick;    
        
ts stoploss OffsetTick;    
        
MaxExtension enterprice;    
        
MaxHiLo enterprice;
        
stopsize = (stoploss enterprice) / oneTick;
        
RiskAmount = (AccountSize i_ClosedEquity) * RiskPerTrade;
        
Quantity RiskAmount stopsize 10000;
        
sellshort Quantity Contracts Next Bar At enterprice stop;    
    
end;
end;


if 
marketposition 1 then begin
    Triggered 
1;
    
PT entryprice ProfitTarget1 oneTick;
    
BE entryprice BreakEven oneTick;
    
    
ts iff(ts close  offsettickclose  offsettickts);
    
Sell ("Long Target 1"Quantity contracts next bar At PT limit// Profit Target 1 

    
SetStopPosition// Forces the built-in stop functions to be applied on the entire position basis (all open contracts) 
    
Sell ("StopLoss L"All Contracts next Bar At stoploss Stop// initial stop 
    
Sell ("Trailing L")All Contracts next Bar At ts Stop// trailing stop 
    //Sell ("Trailing Stop") All Contracts next Bar At ts Stop; // trailing stop 
    
    
if high MaxHiLo then MaxHiLo high;
    
MaxExtension maxhilo enterprice;    
end
else if marketposition = -1 then begin
    Triggered 
1;
    
    
PT entryprice ProfitTarget1 oneTick;
    
BE entryprice BreakEven oneTick;

    
ts iff(ts close  offsettickclose offsettickts);

    
Buytocover ("Short Target 1"Quantity contracts next bar At PT limit// Profit Target 1

    
SetStopPosition// Forces the built-in stop functions to be applied on the entire position basis (all open contracts) 
    
Buytocover ("StopLoss S"All Contracts next Bar At stoploss Stop// initial stop
    
Buytocover ("Trailing S"All Contracts next Bar At ts Stop// trailing stop
    
    
if low MaxHiLo then MaxHiLo low;
    
MaxExtension enterprice maxhilo;
end

Visit my futures io Trade Journal Started this thread Reply With Quote
The following 5 users say Thank You to diverdan for this post:
 
(login for full post details)
  #15 (permalink)
Austin, TX
 
Experience: Advanced
Platform: TradeStation
Trading: Futures
 
Posts: 882 since Mar 2011
Thanks: 124 given, 701 received


diverdan View Post
Hi RM99

Thanks for the explanation.

I can understand the points about wicks not showing, and I have now plotted a 5Range chart and 5 Renko chart together and can very clearly see some of the price action you are talking about.



However I still don't get the point above. If the Renko plots like you explain, surely you would see a gap from the bar that closed at 100.00 and the one which opened at 100.20.

Cheers,

Dan

If bar[1] is red (or a down bar) and the current bar closes up (green bar) yes, you see a void gap, but the open/close values do not account for this.

If you click on the green bar (that's preceded by a red) the open for the green bar is reported as the actual price of the bottom of the green bar (not the close of the red bar or the bottom of the red bar).

Historically, those values throw everything off.

When TS is plotting renkos in real time, they turn different colors when they're in "no man's land" i.e. the range of the bar preceding.

when a new bar reverses from previous, it doesn't take into account the close of the last bar as it's open. the open/close value for renko bricks is always a fixed preset amount.

"A dumb man never learns. A smart man learns from his own failure and success. But a wise man learns from the failure and success of others."
Reply With Quote
 
(login for full post details)
  #16 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received

In the middle of updating the strategy to have Renko on chart 2 and Range as the trading chart 1.

Have to go out with wife, will post later on...

Visit my futures io Trade Journal Started this thread Reply With Quote
 
(login for full post details)
  #17 (permalink)
The Netherlands
 
Experience: None
Platform: MultiCharts, TradingView
Trading: ...
 
Jura's Avatar
 
Posts: 774 since Apr 2010
Thanks: 2,347 given, 688 received


RM99 View Post
let's say your box size is 10 ticks. And the last bar is a down bar that closes at 100.00

The new bar "opens" at 100.00, if that new bar runs to 99.91, it still has not created a new down box, additionally, it can then go all the way from 99.91 back North, all the way until it reaches 100.19, because at 100.20 is when it will make a new green/higher bar.

So the range for the bar is really 30 ticks (100.20 down to 99.90)

So if you backtested and had a trailing stop of 2 box increments, it's possible, that in our example, the trail was activated if the price then retraced BACk to the downside and made a new bar opening at 99.90.


RM99 View Post
With regular time based bars, you see an "inversion" where the bar is an up bar, but instead of the normal OLHC order, you see an inversion order of OHLHC (which gets plotted as OLHC). This doesn't happen very often, but it does happen (because the time is limited, it's not as often). With Renko, there's no time limit, so price wonders however it wants, for as long as it wants before moving far enough to create a new bar.

Ah I see, thanks a lot RM99 for your thorough reply. I haven't been able to locate examples of this '3x range occurrence', but did find in my data/instrument examples when the price when 1 tick higher or lower than the Renko bar, which with a box size of 2 would be half of the box range, which is already big and that's even with a "slow" instrument with low ATR. Thanks again for bringing up this important point RM99. I've attached a screenshot for other readers which show 2 of these cases (see red arrow).


RM99 View Post
IF you can plot the improved Renko with tails/wicks, you can notice some pretty strong entry points where there are a reversal bar with a very long tail/wick. You'll begin to notice that reversals always feature a wick that's the length of a bar (at least) but sometimes, the wick can be almost 2x the brick increment...those are stronger entry and exit points.

MultiCharts currently can't plot the wicks of Renko bars (right?). At first thought I assumed this could be coded in a custom indicator, by plotting vertical lines which would be the wicks for the Renko bar, based on a lower resolution time frame. But, to accurately plot these wicks, they'd had to be matched with a 1 Tick resolution. However, that screws up the distance between the Renko bars (missing feature MultiCharts Project Management - Issue MC-377 - Keep X Scale of Data1 when 'hidden' Data2 is in different time frame [Feature Request]). Perhaps someone knows a way how to keep the Renko bars usable when adding a 1 Tick data series as Data2? Then we can code an indicator which draws these custom wicks, which would be a great help to visually see the "quality" of the Renk chart and the chosen 'box size'-settings for a particular instrument.

Attached Thumbnails
Click image for larger version

Name:	renkoDifference.png
Views:	200
Size:	46.8 KB
ID:	44353  
Reply With Quote
 
(login for full post details)
  #18 (permalink)
Austin, TX
 
Experience: Advanced
Platform: TradeStation
Trading: Futures
 
Posts: 882 since Mar 2011
Thanks: 124 given, 701 received

 
Code
//=================================================================================================================
 Input: HighWickColor   (Green);
 Input: LowWickColor       (Red);
 var: IntraBarPersist True_High (0);
 var: IntraBarPersist True_Low  (0);
 var: IntraBarPersist T_High_L (0);
 var: IntraBarPersist T_Low_H  (0);
 var:      Brick_Dir  (0);
 
// BRICK DIRECTION
 If BarStatus(1) = 2 then begin
  If High > Open then Brick_Dir =  1;
  If Low  < Open then Brick_Dir = -1;
 End;
// TRACK THE BRICK HIGH AND THE BRICK LOW
 If Brick_Dir = -1 then begin 
  If Close <= Open[1] and Close >= Open then begin  T_High_L = Close; T_Low_H = Close; End;
  If Close <  Open    then begin T_Low_H = Close;   T_High_L = Open;  End;
  If Close >  Open[1] then begin T_Low_H = Open[1]; T_High_L = Close; End;
 End; 
 If Brick_Dir = 1 then begin 
  If Close >= Open[1] and Close <= Open then begin   T_High_L = Close;T_Low_H = Close; End;
  If Close >  Open    then begin T_High_L = Close;   T_Low_H = Open;  End;
  If Close <  Open[1] then begin T_High_L = Open[1]; T_Low_H = Close; End;
 End;
// TRACK THE TRUE HIGH AND THE YRUE LOW
 If True_High < High then True_High = High;
 If True_Low  > Low  then True_Low  = Low;
 
   Plot1(True_High, "BarHigh",HighWickColor ,0,0);
   Plot2(T_High_L , "BarLow ",HighWickColor ,0,0);
   Plot3(T_Low_H  , "BarHigh",LowWickColor  ,0,0);
   Plot4(True_Low , "BarLow ",LowWickColor  ,0,0);
 
// RESET
 If BarStatus(1) = 2 then begin
  True_High = Close;
  True_Low  = Close;
  T_High_L  = Close;
  T_Low_H   = Close;
 End;
//=================================================================================================================

"A dumb man never learns. A smart man learns from his own failure and success. But a wise man learns from the failure and success of others."
Reply With Quote
The following 2 users say Thank You to RM99 for this post:
 
(login for full post details)
  #19 (permalink)
The Netherlands
 
Experience: None
Platform: MultiCharts, TradingView
Trading: ...
 
Jura's Avatar
 
Posts: 774 since Apr 2010
Thanks: 2,347 given, 688 received


diverdan View Post
I thought I would post my cool strategy which started me off on this thread and see if I can improve as per the suggestions.

I ran it on the eur/usd 5 Renko and seemed to test very well.

 
Code
                            
[....] 


Thanks for sharing Diverdan. Is it correct that this strategy generates roughly one trade per day in EUR/USD? Can you tell what ...
 
Code
                            
//Work out session time
SessionTime CalcSessionTime;;
TimeToTrade CalcLondonOpen
are? (Since I don't have those functions).


diverdan View Post
In the middle of updating the strategy to have Renko on chart 2 and Range as the trading chart 1.

Will be interesting to hear what your further studies uncovered.

Attached Thumbnails
Click image for larger version

Name:	renkoExample.png
Views:	186
Size:	38.6 KB
ID:	44664  
Reply With Quote
 
(login for full post details)
  #20 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received


Jura View Post
Can you tell what ...
 
Code
                            
//Work out session time
SessionTime CalcSessionTime;;
TimeToTrade CalcLondonOpen
are? (Since I don't have those functions).

Hi Jura

Sorry for the delay in responding, but I have been in Switzerland all week for work and have just got back.

Those two functions are ones I developed. My data is in local PC time and as I switch around time zones (Australia and Singapore) I developed those functions to work out when the London Session opened according to my time zone (taking into account Day Light Saving) and when the FX Session Time started.

You can remove these functions and set them to whatever time you want.

Cheers,

Daniel

Visit my futures io Trade Journal Started this thread Reply With Quote
 
(login for full post details)
  #21 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received


Jura View Post
Is it correct that this strategy generates roughly one trade per day in EUR/USD?

I get approximately 6 to 10 trades per day, I set the daily max profit target to 100 pips and Profit Target to 100 instead of the 20 defaults.

Cheers,

Daniel

Visit my futures io Trade Journal Started this thread Reply With Quote
 
(login for full post details)
  #22 (permalink)
Singapore
 
Experience: Beginner
Platform: Multicharts, R
Trading: EUR / USD
 
Posts: 185 since Feb 2010
Thanks: 106 given, 98 received

So I have made some progress with the Strategy, getting it converted in a very basic way to use a 5R on chart 1 and 5Renko on Chart 2.

Here are the entries identified on the original strategy:


whilst here is the same period using the revised strategy:


As you can see, I have included both data series on the one chart, which helps me identify how price moves against the Renko bars.

Entries are approximately the same, however I need to do some more on the exits...

Visit my futures io Trade Journal Started this thread Reply With Quote
The following user says Thank You to diverdan for this post:
 
(login for full post details)
  #23 (permalink)
Site Administrator
Swing Trader
Data Scientist & DevOps
Manta, Ecuador
 
Experience: Advanced
Platform: My own custom solution
Trading: Emini Futures
 
Big Mike's Avatar
 
Posts: 49,760 since Jun 2009
Thanks: 32,301 given, 97,531 received

For those interested in automated trading with MultiCharts, there will be a webinar this Thursday @ 4:30PM Eastern with a demonstration of how a hedge fund uses MultiCharts in their systematic trading approach.

Trading Webinars, Trading Videos - Big Mike Trading Forum

Mike

We're here to help -- just ask

For the best trading education, watch our webinars
Searching for trading reviews? Review this list

Follow us on Twitter, YouTube, and Facebook

Support our community as an Elite Member:
https://futures.io/elite/
Follow me on Twitter Visit my futures io Trade Journal Reply With Quote
 
(login for full post details)
  #24 (permalink)
Singapore
 
 
Posts: 1 since Dec 2011
Thanks: 0 given, 0 received


diverdan View Post
I get approximately 6 to 10 trades per day, I set the daily max profit target to 100 pips and Profit Target to 100 instead of the 20 defaults.

Cheers,

Daniel

Hi Daniel, I'm from Singapore too .. If you could help me with Multicharts as i'm trying to learn how to use it .. migrating from MT4 .. could you PM me your email address so that I can contact you personal if you are alright with it.

I can't PM you as i've just joined the forum.

Look forward to your reply. A Merry Christmas and Happy New Year to everyone!

Reply With Quote
 
(login for full post details)
  #25 (permalink)
Brazil
 
Experience: Intermediate
Platform: NinjaTrader, Metatrader
Trading: Forex
 
Posts: 3 since Oct 2014
Thanks: 1 given, 0 received


Big Mike View Post
You can backtest with IOG.

The problem with Renko bars, on MultiCharts or NinjaTrader, is a design problem. The open of the bar is not "true" in relation to the prior bar close.

You can get around this problem by adding a second dataseries to your strategy. 'data1' is the execution dataseries, like a 1-range bar for example, and 'data2' is your renko series for generating signals.

Send orders to data1 for fills, and data2 is just for signal generation.

It is not too difficult to implement this in MultiCharts. Just be prepared that your magic money-making renko strategy will be less magical after a more accurate test

Mike

I read elsewhere that the recent versions of MC have corrected this. Is it true?

Sorry for bringing up such an old topic, but I want to develop a strategy based on Renko and I don't know if I should choose MC or NT for that.

Thank you.

Reply With Quote
 
(login for full post details)
  #26 (permalink)
Colorado
 
Experience: Advanced
Platform: MultiCharts
Broker: IB & Iqfeed
Trading: ES , CL
 
sptrader's Avatar
 
Posts: 543 since Apr 2010
Thanks: 1,094 given, 696 received

DudaoRJ: MC now has the "true" Open option for Renko bars AND now they include "Flex Renko bars", with many options to customize to taste. I haven't had time to do any system testing with them though, I'm a discretionary trader.
Try to get a free trial for both MC and NT and see which "feels" most natural for your trading-programming style.

Reply With Quote
The following user says Thank You to sptrader for this post:


futures io Trading Community Platforms and Indicators MultiCharts > Backtesting on Renko Charts


Last Updated on October 29, 2017


Upcoming Webinars and Events
 

NinjaTrader Indicator Challenge!

Ongoing
 

Journal Challenge w/$1500 prizes from Topstep!

February
 

Battlestations! Show us your trading desk - $1,500 in prizes!

March
 

Call Option Buying: The New Pain Trade? w/Carley Garner

Elite only
     



Copyright © 2021 by futures io, s.a., Av Ricardo J. Alfaro, Century Tower, Panama, +507 833-9432, info@futures.io
All information is for educational use only and is not investment advice.
There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
no new posts