有一个稍微有点难度的策略烦请大咖指教! (文华财经WH6赢顺V6.7)

投资者咨询:有一个稍微有点难度的策略烦请大咖指教! (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2019-4-22 9:22
我目前有一个定点均线策略,主代码部分是这样的(删掉了细节算法公式改用简单公式)
周期长:=BARSLAST(TIME=T1 AND DATE=190000+T2)+2,NODRAW:
高价均线:sum(h,周期长)/周期长;
低价均线:sum(L,周期长)/周期长;
虽然好用,但是想要修改起点的话,每次都需要修改T1和T2的参数(我用在1分钟周期图上)
每次选择起点,也都是选择行情爆发点,或者相对最高最低点
为了免去每次选点的麻烦并且可以观察不同线之间的粘合情况
有没有办法,人为的筛选出最近N根K线之内的所有高低点(设定一个判别高低点的逻辑,比如自动筛选近3000根K线里的所有符合逻辑的高低点,并以他们为起点),然后以所有的这些高低点为起点,都画一条截止到最新K的均线呢?


我记得,有代码可以实现每个高低点画截止到最右K线的水平线的。如果这个能实现的话,上述的也能实现的吧?
技术人员回复
日期:2019-4-22 9:23
可以实现

不过您需要提供下高低点的定义
投资者咨询:有一个稍微有点难度的策略烦请大咖指教! (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2019-4-22 9:22
谢谢欧阳,高低点定义,这种肉眼能分辨的相对高低点。我没在论坛上找到现成的类似的代码。可能是我搜的不对。
我想实现就是能筛选出近1000根K线里的比较清晰的高低点就行。最高价和最低价就ok。


我这里帖一个自己觉得比较合适的代码,但是我完全不知道要怎么改。参数用100,标的用螺纹,1分钟图。

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;
DRAWLINE1(HH,H,LL,L,0),COLORGREEN;

按此在新窗口浏览图片
文件名:1.png