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 );