![]() |
This website will be down for maintenance from Friday May 24th at 6PM MDT until Saturday May 25th at 11AM MDT. We apologize for the inconvenience. If you need assistance during this time, please email sales@ninjatrader.com
|
|||||||
| Suggestions And Feedback New feature suggestions and feedback. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Senior Member
Join Date: May 2012
Posts: 173
Thanks: 14
Thanked 7 times in 7 posts
|
Hi there,
I have been evaluating NinjaTrader for the last 5 weeks - in this relatively short lapse of time, I managed to become familiar with NinjaScript and port 2 of my existing systems - both of them at this point do backtest pretty much to identical financial performance as they do on my existing platform (1st one uses 1min timeframe, and gets the job done in about 300 lines ; 2nd one uses 2 timeframes, Volume-100 & Second-1, and is about 5,000 lines of code). One of my main motivations in evaluating NinjaTrader was R&D efficiency ... both ease & speed of coding, as well as speed of backtesting. I am not disappointed on either front, and actually pretty impressed by the speed of backtesting. I backtest my 2nd strategy on 2 1/2 years of tick data (CL), primary timeframe has about 1.6M bars in that timespan, 2nd timeframe about 21M bars. The dual-timeframe backtesting takes about 7min (Q6600 @ 3GHz, 4Gb RAM, no paging file), which is very good compared to what I am coming from (about 30min for 1 timeframe, and 1 week (!) for tick-by-tick replay of the 2 1/2 years of market data). Early evaluation of MarketReplay would indicate about 1 day for a complete replay of the 2 1/2 years, however I do not have the corresponding MarketReplay data (I would be just happy to replay tick-by-tick the historical database, if that was possible !). I found a few issues along the way, which I reported to the Support forum, and I have a few suggestions - but I will keep these for another post. At this point, I am starting to evaluate the real-time behavior of those 2 strategies, using MarketReplay. I have 2 others steps planned before making a commitment to NinjaTrader, but I am hopeful these will also be "pass". For the fun I attached the backtesting summary for those 2 strategies ... Cheers Dominique |
|
|
|
|
|
#2 |
|
Senior Member
Join Date: Aug 2010
Location: Washington, D.C.
Posts: 1,189
Thanks: 180
Thanked 302 times in 260 posts
|
|
|
|
|
|
|
#3 |
|
NinjaTrader Customer Service
Join Date: Sep 2008
Location: Germany
Posts: 22,420
Thanks: 252
Thanked 981 times in 963 posts
|
Thanks for the kind feedback Dominique and sharing your CL results with our forums. Good luck on the next set of steps needed to 'go live' with those.
Bertrand
NinjaTrader Customer Service |
|
|
|
|
|
#4 |
|
Senior Member
Join Date: May 2012
Posts: 173
Thanks: 14
Thanked 7 times in 7 posts
|
Actually, I managed to get this done in a fairly modular fashion ... I have one indicator that figures out swings high/low (about 1100 lines, including comments & ninja generated stuff), one indicator that uses those swings high/low to identify trend & signals a particular reversal pattern (about 2300 lines, again including comments & ninja generated stuff), a trade-manager component that I reuse across strategies (about 900 lines), and the strategy itself which job is to filter setups (as signaled by the indicator), define targets & initial stop, and do the trade-management once in the trade (about 1300 lines).
Each of these components is already or can be reused for other systems. I certainly like the flexibility & re-usability that C# & the NinjaScript framework offer. (of course, I have those 2 strategies already developed, validated & running live on another platform, so "all" I had to do was to port them to Ninja) |
|
|
|
|
|
#5 |
|
Member
Join Date: Apr 2012
Posts: 36
Thanks: 3
Thanked 4 times in 2 posts
|
When I read 5000 lines I think my face actually did look like that emoticon ... wow.
The modularity aspect is where I would like to get with my own initial attempts at coding, as I am just starting out learning C#. My goal is a fully automated trading system wherein different NT elements share outputs (e.g., an optimzer output is fed to MA to select stocks based on historical performance, which in turn are put into an instrument list and used to trade off of a separately optimized trading strategy). Glad to see that there are some very complex systems working well for others. Kevin |
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|