最新文华期货自动化交易模型编写教程 下载本文

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); J:=3*K-2*D;

CROSS(K,D),BK;//K向上穿越D,发出买开交易指令 CROSS(J,100),SP;//J向上穿越100,发出卖平交易指令 CROSS(D,K),SK;//K向下穿越D,发出卖开交易指令 CROSS(0,J),BP;//J向下穿越0,发出买平交易指令 //”//”后为文字说明,编写模型时不用写出

⑵如何把自编变色K线转换成交易模型?

模型说明:第一根K线变红时买,第一根K线变蓝时卖 指标源码:

HH1:=IF(HREF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0); HH2:=VALUEWHEN(HH1>0,HH1); LL2:=VALUEWHEN(LL1>0,LL1);

K1:=IF(CLOSE>HH2,-3,IF(CLOSE0,K1); G:=IF(K2=1,HH2,LL2);

G1:=VALUEWHEN(ISLASTBAR,G); //以上是在定义变量,转换成模型时直接引用 DRAWNUMBER(L>0,G1,G1,0,COLORCYAN); //以上是在编著数值,转换成模型时直接删除 W1:=K2;

W2:=OPEN-CLOSE;

HT:=IF(OPEN>CLOSE,OPEN,CLOSE); LT:=IF(OPEN

21

DRAWLINE(W1=1,HIGH,W1=1,HT,COLORCYAN); DRAWLINE(W1=1,LOW,W1=1,LT,COLORCYAN); DRAWLINE(W1=-3,HIGH,W1=-3,HT,COLORRED); DRAWLINE(W1=-3,LOW,W1=-3,LT,COLORRED); STICKLINE(W1>0,OPEN,CLOSE,COLORCYAN,1); STICKLINE(W1<=0,OPEN,CLOSE,COLORRED,1);

STICKLINE(W2>0&&W1<=0,OPEN,CLOSE,COLORRED,0); STICKLINE(W2>0&&W1>0,OPEN,CLOSE,COLORCYAN,0);

DRAWLINE(W1=1&&REF(W1,1)=1,G,W1=1&&REF(W1,1)=1,REF(G,1),COLORGREEN);

DRAWLINE(W1=-3&&REF(W1,1)=-3,G,W1=-3&&REF(W1,1)=-3,REF(G,1),COLORYELLOW);

DRAWSL(K2=1,G,0,1,0,COLORGREEN); DRAWSL(K2=-3,G,0,1,0,COLORYELLOW);

//以上是在绘图,转换成模型时直接删除,只保留判断k线颜色的逻辑语句。例如:STICKLINE(W1>0,OPEN,CLOSE,COLORCYAN,1);则保留W1>0,再加上交易指令即可改写为交易模型

修改为交易模型如下:

HH1:=IF(HREF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0); HH2:=VALUEWHEN(HH1>0,HH1); LL2:=VALUEWHEN(LL1>0,LL1);

K1:=IF(CLOSE>HH2,-3,IF(CLOSE0,K1); G:=IF(K2=1,HH2,LL2);

G1:=VALUEWHEN(ISLASTBAR,G); W1:=K2;

22

W2:=OPEN-CLOSE;

CROSS(W1,0)||(CROSS(W2,0)&&CROSS(W1,0)),BPK; CROSS(0,W1)||(CROSS(W2,0)&&CROSS(0,W1)),SPK; //从上面看,编写交易模型要比编写指标简单得多。

⑶如何合并两个不同的交易模型?

在两个模型方向相同时才开仓,两个模型指令不同时就平仓 参数N: 最小值 0 最大值 100 缺省值 8 源码: 模型A

X:=BARSLAST(HIGH=HHV(HIGH,N));

LL:=MIN(REF(LOW,X+3),MIN(REF(LOW,X+2),MIN(REF(LOW,X),REF(LOW,X+1))));

Y:=BARSLAST(LOW=LLV(LOW,N));

HH:=MAX(REF(HIGH,Y+3),MAX(REF(HIGH,Y+2),MAX(REF(HIGH,Y),REF(HIGH,Y+1))));

A:=BARSLAST(CLOSE>=HH); B:=BARSLAST(CLOSE<=LL); AB:=IF(A>B,HH,LL); CROSS(AB,CLOSE),SPK; CROSS(CLOSE,AB),BPK; 模型B

HH1:=IF(HREF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0); HH2:=VALUEWHEN(HH1>0,HH1); LL2:=VALUEWHEN(LL1>0,LL1);

K1:=IF(CLOSE>HH2,-3,IF(CLOSE0,K1);

23

K2=1,SPK; K2=-3,BPK;

利用并且(&&)和或者(||)这些逻辑语句,将A、B模型合并为模型C: X:=BARSLAST(HIGH=HHV(HIGH,N));

LL:=MIN(REF(LOW,X+3),MIN(REF(LOW,X+2),MIN(REF(LOW,X),REF(LOW,X+1))));

Y:=BARSLAST(LOW=LLV(LOW,N));

HH:=MAX(REF(HIGH,Y+3),MAX(REF(HIGH,Y+2),MAX(REF(HIGH,Y),REF(HIGH,Y+1))));

A:=BARSLAST(CLOSE>=HH); B:=BARSLAST(CLOSE<=LL); AB:=IF(A>B,HH,LL);

HH1:=IF(HREF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0); HH2:=VALUEWHEN(HH1>0,HH1); LL2:=VALUEWHEN(LL1>0,LL1);

K1:=IF(CLOSE>HH2,-3,IF(CLOSE0,K1); CROSS(AB,CLOSE)&&K2=1,SK; CROSS(AB,CLOSE)||K2=1,SP; CROSS(CLOSE,AB)&&K2=-3,BK; CROSS(CLOSE,AB)||K2=-3,BP; (二)、基础指标编写示范和注意事项 1、学习编写前学要明确注意的几个概念

公式:

泛指指标、模型。没有具体指向性。 指标:

指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。

24