- Katılım
- 23 Eki 2020
- Mesajlar
- 1,826
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 '-) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 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 '-) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 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. 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) |
jose '-) http://www.metastocktools.com | |
| |
Source / From: |