PureBytes Links
Trading Reference Links
|
Jose,
Thanks for sharing this. I played with the indicator a bit. With the
right entry and exit conditions this works well as a system by itself.
Preston
--- In equismetastock@xxxxxxxxxxxxxxx, "Jose" <josesilva22@xxxx>
wrote:
>
> I recently stumbled on an improvement to the basic trade binary
code,
> which allows the use of ValueWhen() instead of BarsSince()
MetaStock
> functions.
>
> Avoiding the BarsSince() function means that the indicator code now
> does not need to wait for the first entry signal before plotting an
> exit signal. This is best illustrated by plotting and comparing
the
> two trade signal indicators below.
>
>
> MetaStock -> Tools -> Indicator Builder -> New ->
> Copy and paste complete formulae between "---8<---" lines.
>
>
> ====================
> System trade signals
> ====================
> ---8<--------------------------
>
> { System trade signals - note: simultaneous
> Long/Short signals cancel each other }
> { http://www.metastocktools.com }
>
> { Signals reference example }
> entry:=C>Mov(C,21,E);
> exit:=C<Mov(C,10,E);
>
> { User inputs }
> plot:=Input("Signals: [1]Clean, [2]All, [3]Trade binary",1,3,1);
> delay:=Input("Entry and Exit delay",-1,5,0);
>
> { Clean signals }
> x:=ValueWhen(1,entry-exit<>0,entry-exit);
> long:=x=1
> AND (Alert(x<>1,2) OR Cum(IsDefined(x))=1);
> short:=x=-1
> AND (Alert(x<>-1,2) OR Cum(IsDefined(x))=1);
> signals:=long-short;
> binary:=ValueWhen(1,signals<>0,signals);
>
> { Plot in own window }
> Ref(If(plot=1,signals,
> If(plot=2,entry-exit,binary)),-delay)
>
> ---8<--------------------------
>
>
> ===============================
> System trade signals - original
> ===============================
> ---8<--------------------------
>
> { Original trade signals code }
> { BarsSince() function prevents first exit plot}
> { With thanks to Roy Larsen at
> http://www.metastocktips.co.nz }
>
> { Signals reference example }
> entry:=C>Mov(C,21,E);
> exit:=C<Mov(C,10,E);
>
> { User inputs }
> plot:=Input("Signals: [1]Clean, [2]All, [3]Trade binary",1,3,1);
> delay:=Input("Entry and Exit delay",-1,5,0);
>
> { Clean signals }
> Init:=Cum(entry+exit>-1)=1;
> entryInit:=Cum(entry)=1;
> flag:=BarsSince(Init OR entry)
> <BarsSince(Init OR exit)+entryInit;
> signals:=(entryInit AND Alert(entryInit=0,2)
> OR flag AND Alert(flag=0,2))
> -(flag=0 AND Alert(flag,2));
> binary:=ValueWhen(1,signals<>0,signals);
>
> { Plot in own window }
> Ref(If(plot=1,signals,
> If(plot=2,entry-exit,binary)),-delay)
>
> ---8<--------------------------
>
>
> jose '-)
> http://www.metastocktools.com
------------------------ Yahoo! Groups Sponsor --------------------~-->
What would our lives be like without music, dance, and theater?
Donate or volunteer in the arts today at Network for Good!
http://us.click.yahoo.com/Tcy2bD/SOnJAA/cosFAA/BefplB/TM
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/equismetastock/
<*> To unsubscribe from this group, send an email to:
equismetastock-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|