O.T: I NEED POWER !

 
Hi, This post doesn't really have much to do with mql4, but here it goes anyway:

I've spent a month developing the latest EA, and this puppy does seem to have some potential...

I get roughly the same result testing with Ticks and ControlPoints, and the results are very nice on backtest,

and this thing works really well on all pairs I've tested (most of them are better than EURUSD).

The attached BT is done on EURUSD @ a conservative 3.0 pips spread, at lower spreads (1.6) the results

are obviously even better. Only very minimal optimization has been done (almost none), and the reason is

that it takes a LONG time.

Just a BT over 15months takes about 1 hour, now imagine optimization runs! I just can't do it...

So I need lotsa proc power. The PC I use is a Core i7 950 @ 3Ghz running Win7/64, so this box is clearly in the 'upper range'.

But I would like something like 100 times(!) more speed for the backtest/optimization.

I'm sure there are some computer gurus in here... do I have ANY options, that are within the price range for an individual ?

And how about MT5, I've read that it would be significantly faster than MT4... anyone know about the BT speed on MT5 vs. MT4 ?
Files:
nybmappe.zip  206 kb
 

The early days of computerized weather forecasting went something like "we can tell you what the weather will be like in 3 days...you've just got to give us 2 weeks to compute the forecast". Lol. good luck.

 

I would focus on optimizing the code rather than getting more HW power. It's likely to be cheaper, faster and more effective.

Regrading MQL5 - it's supposed to be faster but I haven't seen any 3rd party checks yet; I would do some tests if I were you. As a platform MT5 seems to consume a lot more resources though.

 

DT

I've often thought my EA's were optimized for lowest possible system overhead...

Then you leave it for a week or two, read it through again and...

You notice that you dont need to do that every tick and you dont need to do the other thing more often than once per bar etc

-BB-

 

BB

I know. I've already gone trough the code and imporved it several times, and there are still some minor imporovements that can be done.

But the real problem I suspect is the indicators, there are about 70 of them (!). Yeah I know its crazy, but look at the results...

I dunno if there is all that much that can be done about them (they're called every tick), the obvious thing is to start skipping some ticks

in the Start function (skip every 2nd tick and the speed is doubled)... but this is really nothing other than slowly heading towards a ControlPoint test.

What I'd really like to see was that the indicators (iMA, iWPR, etc...) had bar parameter associated with them because in many or most cases

one does not need to calculate more bars than the indicator periods...

so its pretty wastefull to have the terminal calculate 25000 bars for a 12 period iMA when just 12 - 20 bars would have been enough.

 

70 indicators are certainly not going to help. Many indicators available on the web are quite badly written in terms of efficiency - a common cause as you have found out is utilizing too many bars in the calculations than it needs to. But you need the source code to fix that.

The indicators provided with the installation are not really an issue - it is the "others" that you need to worry about. A properly written indicator don't need the "bar parameter" as it would all be taken care of in the code. For eg, the number of indicators I've seen that doesn't know how to use IndicatorCounted() properly is just astonishing.

When calling the indicators from the EA, there are also a number of things you can do. Like comparing the tick value and if the change from the last tick is less than X, then don't bother calling the indicator again. Like storing the indicator value in a variable and using the variable rather than calling the indicator again and again with the same parameters. Lots of little things like that... And last but not least, do you really really need all 70 indicators?

 


blogzr3,

great idea introducing a price deadband window... practically no overhead and a couple of pips deadband would most likely increase the speed several hundred percent. I'll check it out.

All the indicators used are the std ones (3 types), no customs, and there are a plethora of'em... each with different TF and other settings.

70 is the bare minimum, and under some conditions (pair and price pattern) up to 140 std indicators run at once. Yes I know this all sounds crazy, but that alone is no reason to drop it

because the (BT) performance of this EA blows away anything and everything else I've seen in my 3 years in the FX biz.

It looks extremely good and it does so running with tight stops and low DD. PF is a little low but I'm sure it could be improved a lot with some BT and adjustments.

Reason: