Hi --

You might also look at the AddToComposite function.  There is an excellent
document describing ATC written by Herman  van den Bergen:
http://www.amibroker.org/3rdparty/IntroToAtc.pdf

Also go to the AmiBroker Users Knowledge Base and search for ATC:
http://www.amibroker.org/userkb/

Thanks,
Howard
www.quantitativetradingsystems.com




On 11/6/07, dj9866 <[EMAIL PROTECTED]> wrote:
>
>   As the following scan executes, I would like to have two
> counters...BuyCnt and SellCnt tracking the number of buy/sell flags,
> so that I can generate a ratio of flags. I have tried a number of
> ways, with the last one being to use the 'while' statement and
> clearing the counters prior to the 'while'. Didn't gain anything...it
> seems that the counters are still being reset every time a new symbol
> is scanned. Will appreciate any assistance. Thank you.
>
> BuyCnt=0;
> SellCnt=0;
> PassCnt=1;
> while(PassCnt>=1)
> {
> PassCnt--;
> PrevSig=0;
> UpFlag=0;
> DnFlag=0;
> BCnt=BarCount-1;
>
> period = Param( "RSI Period", 13, 1, 100, 1 );
> MAperiod = Param( "MA Period", 5, 1, 100, 1 );
> StDevperiod = Param( "StDev Period", 8, 1, 100, 1 );
> upday=IIf(C>Ref(C,-1),C-Ref(C,-1),0);
> downday=IIf(Ref(C,-1)> C,Ref(C,-1)-C,0);
> Stda=MA(StDev(C,StDevperiod),MAperiod);
> V1=StDev(C,StDevperiod)/Stda;
> TD=int(period/V1);
> Su=Sum(upday,TD);
> Sd=Sum(downday,TD);
> M1=(Su-Sd);
> M2=abs(Su+Sd);
> DMI=50*(M1+M2)/M2;
> xs=Param("Smoothing",3,1,10,1);
> xs1=Param("Trigger Line",5,1,10,1);
> Buy=Cross(EMA(DMI,xs),MA(DMI,xs1));
> Sell=Cross(MA(DMI,xs1),EMA(DMI,xs));
>
> if (Buy[BCnt])
> {
> PrevSig=BarsSince(Sell);
> BuyCnt++;
> IIf(Close>Ref(Close,-1),UpFlag=1,DnFlag=0);
> }
> if (Sell[BCnt])
> {
> PrevSig=BarsSince(Buy);
> SellCnt++;
> IIf(Close<Ref(Close,-1),UpFlag=0,DnFlag=1);
> }
>
> Filter = (MarketID(0)==1 OR MarketID(0)==2 OR MarketID(0)==3)
> //Dow Jones,American Echange,NASDAQ AND UpFlag OR DnFlag
> AND Buy AND UpFlag
> OR Sell AND DnFlag
> AND PrevSig>5
> AND Close > 3
> AND MA(V,30) > 250*1000
> ;
> AddColumn( Close,"Close");
>
> AddColumn(V/1000,"Vol*1000",format=6.0
> ,colorDefault,colorDefault,width=75);
>
> AddColumn(Buy,"Buy",format=1.0
> ,colorDefault,IIf(Buy,colorGreen,colorDefault));
> AddColumn(UpFlag,"UpFlag");
>
> AddColumn(Sell,"Sell",format=1.0
> ,colorDefault,IIf(Sell,colorRed,colorDefault));
> AddColumn(DnFlag,"DnFlag");
> AddColumn(PrevSig,"PrevSig/Days
> Ago",format=3.0,colorDefault,colorDefault,width=125);
> AddColumn(BuyCnt,"BuyCnt",format=3.0);
> AddColumn(SellCnt,"SellCnt",format=3.0);
> }
>
>  
>

Reply via email to