测试三【孕线改变k线阴阳组合的测试】
【测试逻辑】
A. 测试的买入条件:出现孕线形态时,以收盘价买入;
B. 测试的卖出条件:买入后第二天,以收盘价卖出;
【测试代码】【前后两根k线都是阴线】
//一、定义仓位 FUND:=10000000; //资金 LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数 //二、定义ATR TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值 ATR:MA(TR,N);//求N个周期内的TR的简单移动平均 //三、定义k线实体 k线ST:=ABS(O-C); //四、定义孕线 //1.定义前一根k线 REFk线IAN:REF(k线ST,1)>N1*REF(ATR,1); //2. 定义当前k线包住前一根k线 DQk线IAN_BAO_REFk线IAN:=ISDOWN && REF(ISDOWN,1) && O<REF(O,1) && C>REF(C,1); //3.定义孕线形态 YX:=REFk线IAN && DQk线IAN_BAO_REFk线IAN;//孕线 YX,BK(LOTS);//满足k线形态,开仓做多 BKVOL>0,SP(BKVOL);//第二天平仓
【测试代码】【前一根是阴线,当前是阳线】 //一、定义仓位 FUND:=10000000; //资金 LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数 //二、定义ATR TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值 ATR:MA(TR,N);//求N个周期内的TR的简单移动平均 //三、定义k线实体 k线ST:=ABS(O-C); //四、定义孕线 //1.定义前一根k线 REFk线IAN:REF(k线ST,1)>N1*REF(ATR,1); //2. 定义当前k线包住前一根k线 DQk线IAN_BAO_REFk线IAN:=ISUP && REF(ISDOWN,1) && C<REF(O,1) && O>REF(C,1); //3.定义孕线形态 YX:=REFk线IAN && DQk线IAN_BAO_REFk线IAN;//孕线 YX,BK(LOTS);//满足k线形态,开仓做多 BKVOL>0,SP(BKVOL);//第二天平仓
【测试代码】【前一根是阳线,当前是阴线】 //一、定义仓位 FUND:=10000000; //资金 LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数 //二、定义ATR TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值 ATR:MA(TR,N);//求N个周期内的TR的简单移动平均 //三、定义k线实体 k线ST:=ABS(O-C); //四、定义孕线 //1.定义前一根k线 REFk线IAN:REF(k线ST,1)>N1*REF(ATR,1); //2. 定义当前k线包住前一根k线 DQk线IAN_BAO_REFk线IAN:=ISDOWN && REF(ISUP,1) && O<REF(C,1) && C>REF(O,1); //3.定义孕线形态 YX:=REFk线IAN && DQk线IAN_BAO_REFk线IAN;//孕线 YX,BK(LOTS);//满足k线形态,开仓做多 BKVOL>0,SP(BKVOL);//第二天平仓
【测试代码】【前后两根k线都是阳线】 //一、定义仓位 FUND:=10000000; //资金 LOTS:=INTPART(FUND*0.8/(C*MARGIN*UNIT+FEE));//INTPART(FUND*0.8/(OPEN*UNIT*0.1));//计算开仓手数 //二、定义ATR TR:MAX(MAX((H-L),ABS(REF(C,1)-HIGH)),ABS(REF(C,1)-L));//算出(当日最高-当日最低)、(当日最高-昨日收盘)的绝对值、(昨日收盘-当日最低)的绝对值,再求这3个值中的最大值 ATR:MA(TR,N);//求N个周期内的TR的简单移动平均 //三、定义k线实体 k线ST:=ABS(O-C); //四、定义孕线 //1.定义前一根k线 REFk线IAN:REF(k线ST,1)>N1*REF(ATR,1); //2. 定义当前k线包住前一根k线 DQk线IAN_BAO_REFk线IAN:=ISUP && REF(ISUP,1) && C<REF(C,1) && O>REF(O,1); //3.定义孕线形态 YX:=REFk线IAN && DQk线IAN_BAO_REFk线IAN;//孕线 YX,BK(LOTS);//满足k线形态,开仓做多 BKVOL>0,SP(BKVOL);//第二天平仓
|