Just wondering if there's any software on the market (or free) for testing Forex strategies? MetaTrader 4 is too slow for my backtesting needs. I'm investing in a new PC soon, (Intel i7). I know this will run at least 10 times faster than what I have now but with some well-programmed C++ system, this could be potentially 1000's of times faster.
I downloaded NinjaTrader, and so far I can't make head nor tail of the interface. I dabbled a bit in Metatrader 5 / MQL5, which appears to be slightly faster than MQL4 (slightly isn't good enough)
The ideal thing would be a C++ / C library that I could provide with a callback function eg.
then code the callback function like:
My C++ is a little rusty but the basic concept would be to provide the functionality of Metatrader but with the speed of C++ so all the EA logic would be hard-coded instead of interpreted bytecodes.
It should also allow trades with multiple currency pairs. The runBackTests function would contain a loop that would continuously adjust the parameters until some condition(s) were met such as minimal % drawdown and/or maximal balance and/or minimum consecutive wins/losses or (even better) some formula involving these.
I downloaded NinjaTrader, and so far I can't make head nor tail of the interface. I dabbled a bit in Metatrader 5 / MQL5, which appears to be slightly faster than MQL4 (slightly isn't good enough)
The ideal thing would be a C++ / C library that I could provide with a callback function eg.
Inserted Code
void runBackTests(testParameters* params,void callBackFunc(testParameters* params,tick* t));
then code the callback function like:
Inserted Code
void onTick(testParameters* params,tick*t){ if (t->time->hour==0 && params->accountBalance>1000){ // do something } }
My C++ is a little rusty but the basic concept would be to provide the functionality of Metatrader but with the speed of C++ so all the EA logic would be hard-coded instead of interpreted bytecodes.
It should also allow trades with multiple currency pairs. The runBackTests function would contain a loop that would continuously adjust the parameters until some condition(s) were met such as minimal % drawdown and/or maximal balance and/or minimum consecutive wins/losses or (even better) some formula involving these.