开仓条件:前一个十五分钟k线为阳线,现价在上一个15分k线的中线以下,出现第一个一分钟阳线,当成交价低于1分K线实体中线以下时,在中线划买入线,回抽经过买入线成交,向下突破1分K线最低价删除买入线。成交后向下止损画线1分K线最低价下0.4个点,向上止损画线1分k线最高价,且每隔0.6点画一根止损线。
编程如下:
//中间变量
A1:="CLOSE#MIN15";
B1:="OPEN#MIN15";
C1:=REF(A1,1)>REF(B1,1);//15分K线收阳
D1:="HIGH#MIN15";
E1:="LOW#MIN15";
F1:=(REF(D1,1)+REF(E1,1))/2;//15分K线的中间价
C2:=REF(A1,1)<REF(B1,1);//15分K线收阴
//交易条件
AA:=REF(OPEN,1)<REF(CLOSE,1) ;//前一分钟K线收阳
BB:=BARSLAST(AA)>BARSLAST(C1) AND BARSLAST(C1)>0 AND REF(HIGH,1)<=F1;//一分钟K线低于15分K线中间价
CC:=REF(OPEN,1)>REF(CLOSE,1) ;//前一分钟K线收阴
DD:=BARSLAST(BB)>BARSLAST(C2) AND BARSLAST(C2)>0 AND REF(LOW,1)>=F1;//一分钟K线高于15分K线中间价
KD:=TIME>=091500 AND TIME<=145900 AND BB AND CLOSE>REF((H+L)/2,1);//最新价大于前一K线中间价开多
PD:=(CLOSE<REF(L,1)-3*MINDIFF) OR TIME=151200; //最新价低于前一K线最低价减0.6点平多
KK:=TIME>=091500 AND TIME<=145900 AND BB AND CLOSE<REF((H+L)/2,1);//最新价小于前一K线中间价开空
PK:=(CLOSE>REF(H,1)+3*MINDIFF) OR TIME=151200; //最新价高于前一K线最高价加0.6点平空
平空:SELLSHORT(PK,1,THISCLOSE); //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE); //开多信号
平多:SELL(PD,1,THISCLOSE); //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号
但是没有交易信号,请各位高手给指点一下?
代码前几行引用的要加上被引用品种的代码,例如
A1:="if00$CLOSE#MIN15";
A1:="CLOSE#MIN15";
B1:="OPEN#MIN15";
C1:=REF(A1,1)>REF(B1,1);//15分K线收阳
D1:="HIGH#MIN15";
E1:="LOW#MIN15";
F1:=(REF(D1,1)+REF(E1,1))/2;//15分K线的中间价
改成
A1:=callstock(stklabel,vtclose,3,-1);
B1:=callstock(stklabel,vtopen,3);
C1:=a1>b1;//15分K线收阳
D1:=callstock(stkabel,vthigh,3,-1);
E1:=callstock(stklabel,vtlow,3,-1);
F1:=(d1+e1)/2;//15分K线的中间价