投资者咨询:有一个稍微有点难度的策略烦请大咖指教! (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2019-4-22 9:22
我目前有一个定点均线策略,主代码部分是这样的(删掉了细节算法公式改用简单公式)
有没有办法,人为的筛选出最近N根K线之内的所有高低点(设定一个判别高低点的逻辑,比如自动筛选近3000根K线里的所有符合逻辑的高低点,并以他们为起点),然后以所有的这些高低点为起点,都画一条截止到最新K的均线呢?
我记得,有代码可以实现每个高低点画截止到最右K线的水平线的。如果这个能实现的话,上述的也能实现的吧?
技术人员回复
日期:2019-4-22 9:23
投资者咨询:有一个稍微有点难度的策略烦请大咖指教! (文华财经WH6赢顺V6.7)
来源:文华财经 日期:2019-4-22 9:22
谢谢欧阳,高低点定义,这种肉眼能分辨的相对高低点。我没在论坛上找到现成的类似的代码。可能是我搜的不对。
我想实现就是能筛选出近1000根K线里的比较清晰的高低点就行。最高价和最低价就ok。
N:=5;
A1:=REF(HIGH,N)=HHV(HIGH,2*N+1);
B1:=FILTER(A1,N);
C1:=BACKSET(B1,N+1);
D1:=FILTER(C1,N);
//{高点}
A2:=REF(LOW,N)=LLV(LOW,2*N+1);
B2:=FILTER(A2,N);
C2:=BACKSET(B2,N+1);
D2:=FILTER(C2,N);
//{低点}
E1:=(REF(LLV(LOW,2*N),1)+REF(HHV(HIGH,2*N),1))/2;
E2:=(HIGH+LOW)/2;
H1:=(D1 AND NOT((D2 AND E1>=E2))) OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
L1:=(D2 AND NOT((D1 AND E1<E2))),NODRAW;
H2:=D1 AND NOT((D2 AND E1>=E2));
X1:=REF(BARSLAST(H1),1)+1;
F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(LOW,X1)+1);
//LLVBARS(IF(L1,LOW,N000),X1)+1,NODRAW;
//DRAWTEXT(X1,L,'X1');
//DRAWTEXT(F1,H,'F1');
G1:=F1>REF(F1,1);
I1:=BACKSET(G1,1);
LD:=I1>REF(I1,1);
L2:=LD OR ISLASTBAR OR BARSCOUNT(CLOSE)=1;
X2:=REF(BARSLAST(L2),1)+1;
F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(H,X2)+1);
G2:=F2>REF(F2,1);
I2:=BACKSET(G2,1);
HD:=I2>REF(I2,1);
K1:=BACKSET(HD&&H>HV(H,BARSLAST(LD)),BARSLAST(LD));
K2:=BACKSET(LD&&L<LV(L,BARSLAST(HD)),BARSLAST(HD));
HH:=HD&&NOT(LD)&&REFX1(K1<>1,1);
LL:=LD&&NOT(HD)&&REFX1(K2<>1,1);
//{过滤后高点}
DRAWLINE1(LL,L,HH,H,0),COLORRED;