![]() |
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
|
|||||||
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Senior Member
Join Date: Jul 2007
Location: Fairfax, VA
Posts: 216
Thanks: 0
Thanked 0 times in 0 posts
|
NT guys:
I've spent the last week or so developing a custom optimizer to use instead of the default brute force one. Here's some feedback. I'd imagine enhancing this area is pretty low on the priority list so this is mostly FYI. 1. Most importantly, thanks for providing a great architecture that makes it possible to extend NT like this. I am continually blown away at how I can implement almost any idea I come up with after a little digging. 2. I get the impression the NT framework is doing a calculation to figure out the total number of iterations expected based on the min, max, and increment values, and using these to update the elapsed/remaining times. It would be nice if a custom optimizer could override this so that the times displayed would be accurate. For the time being I am just outputting the accurate timing info to the output window. 3. After you call RunIteration() from your optimizer, the Strategy.Performance collection is empty. I would expect this to contain the performance information from the run which just completed so I can rank the results and decide which ones to propagate. I worked around this for the time being by accessing a static member in my SQN optimizer type. 4. Related to #3, if you create a custom optimizer type, the value that you return, as far as I can tell, does not get stored in the data model anywhere, just in the results viewable by NT. It would be nice if that were stored as Strategy.Performance.AllTrades.TradesPerformance.P erformanceValue or something similar to avoid having to redo the calculation. 5. It would be very nice to be able to specify properties on the optimizer itself and have those settable in the UI. For example, once I select my optimizer I would be able to specify population size and max generations. I've worked around this for the time being by hijacking a couple of parameters from the strategy itself. 6. The optimizer and optimizer type classes should have a Print method. For the time being, I just call Strategy.Print. |
|
|
|
|
|
#2 |
|
Administrator
Join Date: Nov 2004
Location: Denver, CO, USA
Posts: 11,163
Thanks: 6
Thanked 45 times in 32 posts
|
Hi PeteS,
Thanks for taking the time to provide these insightful comments. NinjaTrader at its core is a framework which we use to build the NinjaTrader application. As we get more comfortable and gain experience supporting the "official" scope of what we call the NinjaScript layer, we will expand the circle of support to include more aspects of the underlying framework. Anyways, will take your points under advisement for future releases.
Ray
NinjaTrader Customer Service |
|
|
|
|
|
#3 |
|
Administrator
Join Date: Mar 2005
Location: Bamberg, Germany
Posts: 9,994
Thanks: 0
Thanked 6 times in 6 posts
|
Pete,
Please PM me at "dierk AT ninjatrader DOT com" for follow up. Thanks
Dierk
NinjaTrader Customer Service |
|
|
|
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| New "Introduction to NinjaScript Strategy Development" 8 Hour Online Seminar! | NinjaTrader_Ray | News and Announcements | 0 | 12-05-2007 06:35 PM |
| Tradestation indicator with ninja, and feedback to confirm we are in sync | kiwibird | Automated Trading | 5 | 09-27-2007 09:03 PM |
| about the optimizer | HelloHello | Strategy Development | 1 | 08-11-2007 03:07 AM |
| Chart Trading Feedback | NinjaTrader_Ray | Suggestions And Feedback | 30 | 10-21-2006 01:37 PM |
| Feedback and one request | TraderTony | Charting | 6 | 02-16-2006 02:18 PM |