Need a bit of yoooou guys expertise in coding. Are there any simple ways of saying three
consecutive higher closes instead of C>Ref(C,-1) AND Ref(C,-1)> Ref(C,-2) AND Ref(C,-2) > Ref(C,-3)
Thanking you kindly
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Try this:
---8<-----------------------------
consecPds:=3;
Sum(C>Ref(C,-1),consecPds)=consecPds
---8<-----------------------------
jose '-)
http://www.metastocktools.com
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Oops, I means LLV for higher closes. Use HHV(C - ref(C,-1), 2) < 0 for lower closes.
Dave
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Dave is thinking outside the box with his solution:
---8<-----------------
pds:=3;
LLV(C-Ref(C,-1),pds)>0
---8<-----------------
This may be easier to follow for those of us still inside the box:
---8<-----------------
pds:=3;
Sum(C>Ref(C,-1),pds)=pds
---8<-----------------
jose '-)
http://www.metastocktools.com
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Hi Jose,
can't really take credit for the idea, just something I picked up.
Following on, how would I calculate the number of consecutive Up days (& conversely down downs) as an indicator. I have tried using some latch logic but just not getting it right.
Regards, David
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
David, try something like this indicator:
|
Consecutive Up/Down Days
{ Consecutive Up/Down Closes - v1.0
©Copyright 2005-2007 Jose Silva.
For personal use only.
http://www.metastocktools.com
Note: simultaneous Up/Down signals cancel
each other.}
{ Indicator/User inputs }
pds1:=Input("Consecutive Up bars",1,21,3);
pds2:=Input("Consecutive Down bars",1,21,2);
reverse:=Input("Reverse signals? [1]Yes, [0]No",0,1,0);
plot:=Input("Signals: [1]Clean, [2]All, [3]Trade binary",1,3,1);
delay:=Input("Entry and Exit delay",0,5,0);
{ Consecutive Up/Down signals }
entry1:=LLV(C-Ref(C,-1),pds1)>0;
exit1:=HHV(C-Ref(C,-1),pds2)<0;
{ Reverse signals? }
entry:=If(reverse,exit1,entry1);
exit:=If(reverse,entry1,exit1);
{ Clean signals }
init:=Cum(IsDefined(entry+exit))=1;
bin:=ValueWhen(1,entry-exit<>0 OR init,entry);
long:=bin*(Alert(bin=0,2)
OR entry*Cum(entry)=1);
short:=(bin=0)*(Alert(bin,2)
OR exit*Cum(exit)=1);
signals:=long-short;
{ Plot in own window }
0;
Ref(If(plot=2,entry,0),-delay);
Ref(If(plot=1,signals,
If(plot=2,-exit,bin)),-delay)
|