[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EquisMetaStock Group] magic code



PureBytes Links

Trading Reference Links


MetaStock generally reads and processes data from left to right.

MS signals are plotted sequentially in this West-East direction, and 
once any data is plotted on a chart, there is no way to coerce 
MetaStock to go back and erase past signals.

Or is there...?

By nesting a couple of hindsight functions such as ZigZag() and Peak()
, this is now possible.

One of the holy grails of MetaStock coding has been to be able to 
modify past signals, such as (for pattern-recognition purposes):
"Plot last Friday only if following Monday's Close is up".

Here is some magic MS code that will do just that:

---8<-----------------

{ Friday signal }
signal:=DayOfWeek()=5;

{ Monday up on Friday's Close }
confirm:=DayOfWeek()=1 AND C>Ref(C,-1);

{ Extend signal & confirmation }
x:=ValueWhen(1,signal OR confirm,signal-confirm);

{ Magic: forget last Friday if Monday is down }
hindsight:=PeakBars(1,Zig(x,1,$),1)=0;

{ Plot in own window }
hindsight

---8<-----------------


And here is another bit of magic - detecting and plotting true end-of-
week signals:

==========
Week's end
==========
---8<---------------------

{ Signals true end of week:
   confirms signal at start of following week,
   and signals end of week in retrospect }
{ http://www.metastocktools.com }

day:=DayOfWeek();
WeekStart:=day<Ref(day,-1);
WeekEnd:=PeakBars(1,-Zig(WeekStart-.5,1,$),1)=0;

WeekEnd

---8<---------------------


jose '-)
http://www.metastocktools.com








------------------------ Yahoo! Groups Sponsor --------------------~--> 
Has someone you know been affected by illness or disease?
Network for Good is THE place to support health awareness efforts!
http://us.click.yahoo.com/Rcy2bD/UOnJAA/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/