以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请老师给看看  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=95034)

--  作者:楚门
--  发布时间:2016/3/22 21:02:12
--  请老师给看看
请问老师如果已经定义了高点A和低点B,能不能用函数求出AB之间的K线根数呢?
--  作者:jinzhe
--  发布时间:2016/3/23 8:58:35
--  
怎么定义的?代码是什么?
--  作者:楚门
--  发布时间:2016/3/23 10:50:54
--  
A1:=REF(HIGH,3)=HHV(HIGH,2*3+1);
B1:=FILTER(A1,3); 
C1:=BACKSET(B1,3+1); 
D1:=FILTER(C1,3);{高点}
A2:=REF(LOW,3)=LLV(LOW,2*3+1); 
B2:=FILTER(A2,3); 
C2:=BACKSET(B2,3+1); 
D2:=FILTER(C2,3);{低点}
E1:=(REF(LLV(LOW,2*3),1)+REF(HHV(HIGH,2*3),1))/2; 
E2:=(HIGH+LOW)/2;{高低点出现在同一K线上时可作取舍}
H1:=(D1 AND NOT(D2 AND E1>=E2)) OR BARSTATUS=2 OR BARSCOUNT(CLOSE)=1;
H2:=D1 AND NOT(D2 AND E1>=E2);
L1:=D2 AND NOT(D1 AND E1=E2);
X1:=REF(BARSLAST(H1),1)+1; 
F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,LOW,10000),X1));
G1:=F1>REF(F1,1); 
I1:=BACKSET(G1,2); 
LD:I1>REF(I1,1);{过滤后低点}
L2:=LD OR BARSTATUS=2 OR BARSCOUNT(CLOSE)=1;
X2:=REF(BARSLAST(L2),1)+1; 
F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,HIGH,0),X2));
G2:=F2>REF(F2,1); 
I2:=BACKSET(G2,2); 
HD:I2>REF(I2,1);{过滤后高点}
--  作者:jinzhe
--  发布时间:2016/3/23 10:52:19
--  
这么多变量里面,哪个是高点,哪个是低点?
--  作者:楚门
--  发布时间:2016/3/23 11:03:48
--  
LD:I1>REF(I1,1);{过滤后低点}

HD:I2>REF(I2,1);{过滤后高点}


--  作者:jinzhe
--  发布时间:2016/3/23 11:09:33
--  
这两个是条件,并没有表示出高低点的意思
--  作者:楚门
--  发布时间:2016/3/23 11:11:35
--  
那我直接写HD LD可以吗?
--  作者:楚门
--  发布时间:2016/3/23 11:12:34
--  
A:=HD   B:=LD这样写可以吗
--  作者:jinzhe
--  发布时间:2016/3/23 11:15:37
--  
这个你还是问一下写这段代码的人吧,你把两个条件当做高低点肯定不对的
[此贴子已经被作者于2016/3/23 11:15:45编辑过]

--  作者:楚门
--  发布时间:2016/3/23 11:20:01
--  
为什么不对呢?我已经改过能求出高低点的点数差了,就是不知道怎么求几根K线,我觉得既然能求点数差就应该能求几根K线啊。不知道这样想对不对?