测试结果发现:早晨之星反向开仓+黄昏之星反向开仓,在多数商品5min线上,是所有“星”策略里面效果最好的开仓方式。
测试代码:
//定义仓位
FUND:=10000000;
LOTS:=INTPART(FUND*0.04/(CLOSE+FEE));//计算手数,使每次开仓金额都是800W
//定义ATR
TR:MAX(MAX((H-L),ABS(REF(C,1)-H)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,取这3个值中的最大值为ATR
ATR:MA(TR,26);//求26个周期内的TR的简单移动平均
//定义常规K线
KXST:=ABS(O-C);
SYXCD:=H-MAX(O,C);//上影线长度
XYXCD:=MIN(O, C)-L;//下影线长度
YXCD:=H-L;//影线长度
BT:=KXST>YXCD*0.5;//棒体
//定义十字星
SZXST:=KXST<ATR*0.1;//十字星的实体
SZX:=SZXST AND SYXCD>0 AND XYXCD>0;//十字星定义
//早晨之星
//第三天的上涨棒体
ZCZX1:=BT AND YXCD>0.5*ATR AND C=HHV(C,3) AND H>=HHV(H,2);
//第二天的十字星
ZCZX2:=REF(SZX,1) AND REF(L,1)=LLV(L,3) AND REF(H,1)<REF(H,2) ;//早晨之星第二根是星线,最低价为形态最低价
//第一天的下跌棒体
ZCZX3:=REF(BT,2) AND REF(C,2)<REF(C,3) AND REF(YXCD,2)>0.5*ATR;
//定义早晨之星
ZCZX:=ZCZX1 AND ZCZX2 AND ZCZX3;
//黄昏之星
//第三天的下跌棒体
HHZX1:=BT AND YXCD>0.5*ATR AND C<=LV(L,1);
//第二天的十字星
HHZX2:=REF(SZX,1) AND REF(H,1)=HHV(H,3) AND REF(L,1)>REF(L,2);
//第一天的上涨棒体
HHZX3:=REF(BT,2) AND REF(C,2)>REF(C,3) AND REF(YXCD,2)>0.5*ATR;
//定义黄昏之星
HHZX:=HHZX1 AND HHZX2 AND HHZX3 ;
ZCZX,SK(LOTS);//出现早晨之星买入
BARSSK=1,BP(SKVOL);//1日后卖出
HHZX,BK(LOTS);//出现黄昏之星买入
BARSBK=1,SP(BKVOL);//1日后,卖出
|