Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
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 for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
I use Renko bars religiously in all my strategies, and here is what I've found works for me after many many horrid automated trading experiences. Account killers and 10's of thousands of dollars of losses. But Keep reading, I do this for a living now.....
1. Write your strat - (I like the idea of limits orders mentioned above)
2. Back-test. (2 or 3) tick slippage so you don't get too excited.
3. Genetic Optimization
now here is where it really gets important -----
4. Learn how to properly do walk forward optimization. I cannot stress this enough. And not just once - learn your strategies' ratio of Optimization Period and Test Period. Especially with a strat involving a lot of parameters. And limit dynamic params as much as possible. Know what your indicators are doing as only optimize the absolutely necessary prams. This is the only chance you'll get an out of sample test without a live market.
5. If you are still happy - you MUST do Monte Carlo simulations. This is the most under utilized tool and prob the most important thing NT has for testing. You WANT your strategies to run in noisy unexpected markets and fail. Read everything you can about how this works behind the scenes so you do it properly. And ALWAYS remove at least 5-10% of your best and worse trades. If that probability curve if out of whack, go back to the drawing board.
6. If things still check out - download a couple years of market replay and let er rip all night. This is the closest thing you'll get to building the bars likea live feed does (it's not, but close).
7. Then test in realtime - as this is really the only way to make sure your logic is solid (other than with actual $$)
8. repeat #4-5 every Sunday in volatile markets if you have too. Especially if you're trading craziness like the GC.
Look, I may be completely wrong..lol. But the workflow above works for me financially (after losing for eh, 8 years now, I'm finally in the black). Again, 4 and 5 - are an absolute must.
Also, if you're new at this, learn that your risk management & exit strategy code is more important that your entry signal. And don't always use trails --- think bigger. Especially with Renkos. The options are endless, Depending on market conditions i utilize 6 exit strats (beyond a set tick or $$ profit take)
1. EMA Trail
2. https://nexusfi.com/download/ninjatrader-7/indicators/1207-download.html?view Fat Tails awesome super trend trail.
3. I have a custom MA that adapts to fake reversals - and exit when the slope changes <- this is my prize winner
4. Fast markets i use the slope change of this beauty anaZeroLagHATEMA again thank you @Fat Tails
5. For longer holds i'll use the trend change of my Adaptive Laguerre filter <- this rocks.
6. and sometimes anaADXVMA. and again @Fat Tails you rock.
(I'm actually almost finished with a chart trader add on that utilizes these seamlessly - i'll post when finished but it's a ton of code and I'm finally testing on the live markets)
Of course, proper entries are important, but if you're not netting a 3+ profit factor, you'll eventually blow your account. I've done it too many times.
There is my 2 cents for the for the eve - time to grab a beer.
I have found that submitting market orders, via EnterLong() or EnterShort() in backtesting yields a different result than EnterLongLimit(Close[0]),"Buy") on the same backtest. When the exit strategy is to exit on conditions on the Renko chart, these appear to be ignored; and the entry and exit appears on the same Renko bar. Using EnterLong(), however, these enter on the new bar, as highlighted by others in this thread, and the rules appear to be followed.
What is a work-around for this in live testing? Live testing with the EnterLong()- ExitLong() sees eventual order rejections due to market movements within the Renko bar (Buy stops below the market/ sell stops above the market)...How could one then submit market orders on Renko charts in live testing without this occurring? Otherwise, how could one submit limit orders in strategy testing without also exiting on the same entry Renko bar?
I have found that submitting market orders, via EnterLong() or EnterShort() in backtesting yields a different result than EnterLongLimit(Close[0]),"Buy") on the same backtest. When the exit strategy is to exit on conditions on the Renko chart, these appear to be ignored; and the entry and exit appears on the same Renko bar. Using EnterLong(), however, these enter on the new bar, as highlighted by others in this thread, and the rules appear to be followed.
What is a work-around for this in live testing? Live testing with the EnterLong()- ExitLong() sees eventual order rejections due to market movements within the Renko bar (Buy stops below the market/ sell stops above the market)...How could one then submit market orders on Renko charts in live testing without this occurring? Otherwise, how could one submit limit orders in strategy testing without also exiting on the same entry Renko bar?
Quite a lot has changed since my original post - there have been many new renko implementations with real open and close - search for Beter Renko on this board.
First of all, thanks for all your tips and sharing your experience here.
I'm actually backtesting a strategy on GBPUSD using a Renko based charts.
Unfortunately I'm having some issue concerning exact opening/closing price position.
For exemple my long strategy is simply based on a direction change between two following Renko bars, here's my script
if (Open[0] < Close[0])
&& (Open[1] > Close[1])
{
EnterLong(Convert.ToInt32(DefaultQuantity), @"Long");
}
Here's a snapshot for illustration in attachment.
On renko #1 we notice a open > close, and on renko #2 a open < close, so my entry condition is triggered as soon as renko #2 is closed.
The issue remain here : opening position price is the open of renko #3 (red triangle) instead of closing of renko #2 (green triangle).
Hence my strategy tester remain on false price entry.
NB : obviously this issue ain't encountered on candlestick chart, as close from previous bar equals open of following. But renko chart are constructed totally different.
How NinjaTrader could to manage this error ?
Is there some code to implement in the strategy script to solve it ?
Live testing is not equal to replay
replay is not equal to fast forward
I will post some more evidence,
and I am sure that some folks will completely freak out on the findings
If you replay the data at real-time speed, you get what is supposed to be near real live results
(who has that patience ?)
If you fast forward replay the data, you get very different results..
result that will not be in relation to what you can expect in a real market
When you ask a computer to calculate something
and you ask the computer to do it slowly
or you ask the computer to do it fast
you expect the results to be the same
If you do something in Ninjatrader,
that logic does not work..
slow is not equal to fast
and i'm not talking about the comm's delay
you can put the delay to 0
Even worse
if you have more than 500 historical trades
this issue even gets worse
a lot worse..
stay tuned, i'll post some findings in the next days
it will show that a live working strategy,
in back testing completely fails
and vice-versa
if you are a gold digger
still trying to find a holy grail ?
you should be aware of these things
if not, it will sting you badly..