Quote from MCslowdown:
FYI, using this code
Code:fa = Optimize( "MACD Fast", 12, 1, 50, 1 ); sa = Optimize("MACD Slow", 26, 1, 50, 1 ); sig = Param( "Signal average", 9, 5, 9, 1 ); Buy = Cross( MACD( fa, sa ) , Signal( fa, sa, sig ) ); Sell = Cross( Signal( fa, sa, sig ), MACD( fa, sa ) );
and using 22 years of S&P500 daily data it took AB 60 seconds to do the optimization
Using below code and same data it took AB 50 minutes
Code:fa = Optimize( "MACD Fast", 12, 1, 50, 1 ); sa = Optimize("MACD Slow", 26, 1, 50, 1 ); sig = Optmize( "Signal average", 9, 1, 50, 1 ); Buy = Cross( MACD( fa, sa ) , Signal( fa, sa, sig ) ); Sell = Cross( Signal( fa, sa, sig ), MACD( fa, sa ) );
Again pretty old PC has been used for this. 6 years old Dual Core, XP 32-bit, max possible RAM. So besides using VM I have no idea what else you did to get 30 hours for such simple system. So far I have not seen any of the usual suspects of software vendors being faster than AB.
Here is my code:
Buymacdsmall = Optimize( "buy macd small", 19, 1, 50, 1 );
Buymacdbig = Optimize( "buy macd big", 39, 1, 50, 1 );
Sellmacdsmall = Optimize( "sell macd small", 19, 1, 50, 1 );
Sellmacdbig = Optimize( "sell macd big", 39, 1, 50, 1 );
Buy = Cross( MACD(Buymacdsmall, Buymacdbig), Signal(Buymacdsmall, Buymacdbig) );
Sell = Cross( Signal(Sellmacdsmall, Sellmacdbig ), MACD(Sellmacdsmall, Sellmacdbig));
SetPositionSize( 100, spsPercentOfEquity );
I just install amibroker 5.2 in my computer and not use virtual machine. Actually it says it take around 12 hours to complete it. Amibroker just use maximum 50% of my dual cores in general, look like it can only use one core when doing backtesting.
My computer main components:
E6500 overclocked to 3.66Ghz:
http://ark.intel.com/products/42805/Intel-Pentium-Proc65essor-E6500-(2M-Cache-2_93-GHz-1066-FSB)
2GB 667 ram
windows XP 32 bits professional