Channel
prd1:=Input("MA periods",1,100,10);
ma1:=Input("MA Type 1-EMA 2-SMA",1,2,1);
shift:=Input("Channel width %",0,100,2)/100;
x:=if(ma1=1,mov(C,prd1,e),mov(C,prd1,s));
UL:=x+(x*shift);
LL:=x-(x*shift);
x;
UL;
LL;
In the explorer
Filter
C>FmlVar("Channel",UL)
will return those stocks where the Close price has escaped out the top of the channel.
Modify as you like. Any problems, just shout.
Hope this helps.
wabbit :D
P.S. UNTESTED CODE written off the cuff - with she-who-must-be-obeyed nagging me over my shoulder.
"The question of whether a computer can think is no more interesting than the question of whether a submarine can swim."
Edsgar W. Dijkstra
MS: 6.52 EOD, 7.x EOD, 8.0 PRO, 9.2 PRO w/QC, 10 PRO w/QC C, 11 PRO w/QC & MDK
For custom MetaStock programming : http://www.wabbit.com.au
My SkyPE status : 
My SkyPE account : wabbit.com.au