在金字塔“06.K线形态交易系统”这个范例中,
1. INPUT:N(41,3,100,1) 缺省值为何定为41?最小值为何为3?最大值为何为100?优化步长为何为1?
2. ss(1,1,10000,1) ss是什么?后面这些参数又是什么?函数列表中找不到说明。
3. IF HOLDING>0 AND ENTERBARS>N THEN 这句中,为何需要 ENTERBARS>N
4. 本系统为何 “如果时间在14点55分以后,就只平仓不反手开仓?”
请逐条回答,比较清晰,方便用户理解,多谢
06.K线形态交易系统
//该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!
//参数定义:
INPUT:N(41,3,100,1),ss(1,1,10000,1);//表示定义参数N,缺省值为41,最小值为3,最大值为100,优化步长为1
早晨之星:= REF(CLOSE,2)/REF(OPEN,2) < 0.95 AND REF(OPEN,1) < REF(CLOSE,2) AND ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.03 AND CLOSE/OPEN>1.05 AND CLOSE>REF(CLOSE,2);
早晨十字星:= REF(CLOSE,2)/REF(OPEN,2) < 0.95 AND REF(OPEN,1) < REF(CLOSE,2) AND REF(OPEN,1)=REF(CLOSE,1) AND CLOSE/OPEN>1.05 AND CLOSE>REF(CLOSE,2);
平底:=ABS(LOW-REF(LOW,1))/LOW<0.001 AND ABS(REF(LOW,1)-REF(LOW,2))/REF(LOW,1)<=0.001;
曙光初现:=REF(CLOSE,1)/REF(OPEN,1)<0.97 AND CLOSE/OPEN>1.03 AND OPEN<REF(CLOSE,1) AND CLOSE>REF(CLOSE,1);
阳线穿阴:=REF(CLOSE,1)/REF(OPEN,1)>1.03 AND CLOSE/OPEN<0.96 AND CLOSE<REF(OPEN,1) AND OPEN>REF(CLOSE,1);
黄昏之星:= REF(CLOSE,2)/REF(OPEN,2) > 1.03 AND REF(OPEN,1) > REF(CLOSE,2) AND ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.02 AND CLOSE/OPEN<0.97 AND CLOSE<REF(CLOSE,2);
黄昏十字星:= REF(CLOSE,2)/REF(OPEN,2) > 1.05 AND REF(OPEN,1) > REF(CLOSE,2) AND REF(OPEN,1)=REF(CLOSE,1) AND CLOSE/OPEN<0.95 AND CLOSE<REF(CLOSE,2);
平顶:=ABS(HIGH-REF(HIGH,1))/HIGH<0.001;
乌云盖顶:= REF(CLOSE,1)/REF(OPEN,1)>1.03 AND CLOSE/OPEN<0.97 AND OPEN>REF(CLOSE,1) AND CLOSE<REF(CLOSE,1);
阴线穿阳:=REF(CLOSE,1)/REF(OPEN,1)<0.97 AND CLOSE/OPEN>1.04 AND CLOSE>REF(OPEN,1) AND OPEN<REF(CLOSE,1);
手数:=SS;
//交易条件:
COND1:=黄昏之星 OR 黄昏之星 OR 平顶 OR 乌云盖顶 OR 阴线穿阳;//开空平多条件
COND2:=早晨之星 OR 早晨十字星 OR 平底 OR 曙光初现 OR 阳线穿阴;//开多平空条件
//交易系统
IF COND1 AND TIME <145500 THEN //如果COND1在14点55分前成立,那么
BEGIN
IF HOLDING=0 THEN BUYSHORT(1,1,MARKET);//如果没有持单,那么以市价空头买入一手
IF HOLDING>0 AND ENTERBARS>N THEN//如果持有多单,上次开仓到当前的周期数大于N,那么
BEGIN
SELL(1,0,MARKET);//平多单,以市价卖出所有持仓量
BUYSHORT(1,手数,MARKET);//开空单,以市价空头买入1手
END
END
IF COND2 AND TIME <145500 THEN//如果COND2在14点55分前成立,那么
BEGIN
IF HOLDING=0 THEN BUY(1,1,MARKET);//如果没有持单,那么以市价买入一手
IF HOLDING<0 AND ENTERBARS>N THEN//如果持有空单,上次开仓到当前的周期数大于N,那么
BEGIN
SELLSHORT(1,0,MARKET);//平空单,以市价空头卖出所有持仓量
BUY(1,手数,MARKET);//开多单,以市价买入1手
END
END
IF TIME>145500 THEN//如果时间在14点55分以后,那么
BEGIN
SELL(HOLDING>0,0,MARKET);//如果持有多单,以市价卖出所有持仓量
SELLSHORT(HOLDING<0,0,MARKET);//如果持有空单,以市价空头卖出所有持仓量
END
//其他
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;//输出当前资产,但不影响坐标最高最低值