Here is the code adapted to Amibroker, please note that i did not
verified the result. The code for Metastock is a example of what a
skilled guy can do with Metastock (Jose Silva), however this is the
limit of metastock, with amibroker however you can do much more and
things like this much more easier. I dont have installed metastock
anymore so i could not check to see if the plot matches but it should
because the functions result is the same.
prm=Param("Plot",1,1,2,1);
start=TroughBars(C,5,1)==0;
end=PeakBars(C,5,1)==0;
value=V;
init=Cum(IsTrue(start+end))==1;
flag=ValueWhen(start-end!=0 OR init,start,1);
start=flag*(Hold(flag==0,2) OR start*Cum(start)==1);
end=(flag==0)*(Hold(flag==1,2) OR end*Cum(end)==1);
acc=Cum(flag*value);
accVal=acc-ValueWhen(end,acc,1);
Plot(IIf(prm==1,accVal,start-end),WriteIf(prm==1,"accVal","start-end"),colorRed);
--- In [email protected], sAThya� <prassat...@...> wrote:
>
> hi,,, it seem no one has reponded my requested
> or pls advise how to to write this syntax in AFL AB platform
> init:=Cum(IsDefined(start+end))=1;
> flag:=ValueWhen(1,start-end<>0 OR init,start);
> start:=flag*(Alert(flag=0,2) OR end*Cum(end)=1);
> end� :=(flag=0)*(Alert(flag,2)�� OR start*Cum(start)=1);
> value:=V;
> acc:=Cum(flag*value);
> accVal:=acc-ValueWhen(1,end,acc);
>
> Rgdz
> SAT
> �
> �
> { Signal/Value accumulator code in Metastock}
> Hi... Senior AFL Programer ,
> can anyone help me to convert this MS code to AB-AFL code.
> i ve tried but still found error.
>
> ------------------------------------------------
> { Start count signal }
> start:=TroughBars(1,C,5)=0;
> { End count signal }
> end:=PeakBars(1,C,5)=0;
> { Value to accumulate - Volume }
> value:=V;
> { Indicator output choice }
> plot:=Input("plot: [1]Accumulation, [2]Signals",1,2,1);
> { Remove redundant interim start/end signals }
> init:=Cum(IsDefined(start+end))=1;
> flag:=ValueWhen(1,start-end<>0 OR init,start);
> start:=flag*(Alert(flag=0,2)
> OR start*Cum(start)=1);
> end:=(flag=0)*(Alert(flag,2)
> OR end*Cum(end)=1);
> { Accumulate values }
> acc:=Cum(flag*value);
> accVal:=acc-ValueWhen(1,end,acc);
> { Plot in own window }
> If(plot=1,accVal,start-end)
> -------------------------------------------------
>
> Rgdz
> Sat
>