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(CLOSE
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(CLOSE 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(CLOSE 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(CLOSE 公式: 泛指指标、模型。没有具体指向性。 指标: 指能够绘出图线但不发交易指令的公式。指标是一个技术分析范畴的概念。 24