策略条件:
K线周期采用15分钟周期;
当K线在100日均线下方时,只开空单;
当K线在100日均线上方时,只开多单;
开盘后15分钟内不交易,也就是开盘后等第二根15分钟出现后,再审核是否符合开仓条件来开仓;
当第二根K线的最高价低于前一根K线的最高价,而且收盘价也低于前一根K线的收盘价,则在下一根K线开始出现时开仓做空(以K线的开盘价开仓);当下一根K线的最高价高于前一根K线的最高价,而且收盘价也高于前一根K线的收盘价时,则在下一根K线开始出现时平掉空单(以K线的开盘价平仓);
当第二根K线的最低价高于前一根K线的最低价,而且收盘价也高于前一根K线的收盘价,则在下一根K线开始出现时开仓做多(以K线的开盘价开仓);当下一根K线的最低价低于前一根K线的最低价,而且收盘价也低于前一根K线的收盘价时,则在下一根K线开始出现时平掉多单(以K线的开盘价平仓);
因为是日内交易模型,当有持仓时,在下午14:45分以最后一根K线的开盘价平仓;夜盘也是以最后一根15分钟K线的开盘价平仓。
模型源码:
/定义变量
MA100:MA(C,100);
T:=CLOSEMINUTE<=30||CLOSEMINUTEEVERY(1)<=30;
//做多策略
C>MA100&&DAYBARPOS>=2&&L>REF(L,1)&&C>REF(C,1)&&NOT(T),BK;
L<REF(L,1)&&C<REF(C,1),SP;
T,SP;
//做空策略
C<MA100&&DAYBARPOS>=2&&H<REF(H,1)&&C<REF(C,1)&&NOT(T),SK;
H>REF(H,1)&&C>REF(C,1),BP;
T,BP;
//设置
SETSIGPRICETYPE(BK,OTHER);
SETSIGPRICETYPE(SP,OTHER);
SETSIGPRICETYPE(SK,OTHER);
SETSIGPRICETYPE(BP,OTHER);
SETOTHERPRICE(BK,NEXT_OPEN);
SETOTHERPRICE(SP,NEXT_OPEN);
SETOTHERPRICE(SK,NEXT_OPEN);
SETOTHERPRICE(BP,NEXT_OPEN);
AUTOFILTER;