Hello,

I have loops built into my code and thus suppose that it´s running too slow.

I use a EMA crossover system (long side only at this point):

Buy= Cum(1)>=25 AND Cross(Fast_EMA(period1), Slow_EMA(period2))AND period1 < 
period2; 

Sell= Cross(Slow_EMA(period2), Fast_EMA(period1));

I coded Fast_EMA and Slow_EMA instead of using AB´s built-in EMA function to be 
able to use my own seed values.

Anyways, the code for both follows further below.

Would the rode run faster, if I stored the values for fast_MA and slow_EMA in a 
separate composite and then used these in the buy and sell rules?

Or is there another way to make my code faster? Are there some clues how to 
"pimp" my code when I "have" to use loops (for instance when coding proprietary 
stops instead of applystop etc.)???

Some other general guidelines what to look out for when trying to keep the code 
as fast as possible (or better: the execution thereof)??

Thanks 

Markus

function Fast_EMA( period1 ) 

{ local bar; 

for( bar = 0; bar < BarCount; bar++ ) 

{ if (bar < 1)

EMA_fast[ bar ] = Close[ 0 ];

else

EMA_fast[ bar ] =EMA_fast[bar-1]+(Close[bar]-EMA_fast[bar-1])*2/(period1+1); 

} 

return EMA_fast; 

} 

period1 = Optimize("period1", 25, 10, 50, 5);

Exp_MA_fast = Fast_EMA ( Period1 );



function Slow_EMA( period2 ) 

{ local bar;

for( bar = 0; bar < BarCount; bar++ ) 

{ if (bar < 1)

EMA_slow[ bar ] = Close[ 0 ];

else

EMA_slow[ bar ] =EMA_slow[bar-1]+(Close[bar]-EMA_slow[bar-1])*2/(period2+1); 

} 

return EMA_slow; 

} 

period2 = Optimize("period2", 840, 800, 900, 10);

Exp_MA_slow = Fast_EMA ( Period2 );






__________ Information from ESET Smart Security, version of virus signature 
database 4668 (20091207) __________

The message was checked by ESET Smart Security.

http://www.eset.com

Reply via email to