投资者咨询:[求助]系统分时段,有时开仓,有时不开仓 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-8-16 16:33
工程师好,请教您一个问题:
我做一个海龟系统的微调版,出现一个问题:以橡胶为例,如果我设置从早些时候开始回测(如2011年),则没有任何信号,如果我设置2016年或17年开始回测,则有信号,初始金额设置为500万,不是权益不够不能开仓的原因。
程序请见下面。谢谢!
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//真实波幅
ATR:=MA(TR,100); //求100个周期内真实波幅的简单移动平均
TC..INTPART((REF(MONEYTOT,1)*0.003/10/(2*REF(ATR,1))));//根据权益的R%计算下单手数(此处以10吨/手为例,适合螺纹、豆粕等品种)
MTC:=4*TC; //总的持仓头寸
TC1:=VALUEWHEN(CROSS(BKVOL,0.5)||CROSS(SKVOL,0.5),TC);
ATR1:=VALUEWHEN(CROSS(BKVOL,0.5)||CROSS(SKVOL,0.5),ATR);
HH:HV(H,P);
LL:LV(L,P);
PD: LV(L,T);
PK:HV(H,T);
CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0,BK(TC);//最新价超过前高,首次买入开仓,手数为TC手
CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0,SK(TC); //最新价跌破前低,首次卖出开仓,手数为TC手
C>=BKPRICE+0.5*ATR1&&BKVOL<MTC&&ISLASTBK,BK(TC1);//多头第1次加仓
C>=BKPRICE+0.5*ATR1&&BKVOL<MTC&&ISLASTBK,BK(TC1);//多头第2次加仓
C>=BKPRICE+0.5*ATR1&&BKVOL<MTC&&ISLASTBK,BK(TC1);////多头第3次加仓
C<=SKPRICE-0.5*ATR1&&SKVOL<MTC&&ISLASTSK,SK(TC1);//空头第一次加仓
C<=SKPRICE-0.5*ATR1&&SKVOL<MTC&&ISLASTSK,SK(TC1);//空头第二次加仓
C<=SKPRICE-0.5*ATR1&&SKVOL<MTC&&ISLASTSK,SK(TC1);//空头第三次加仓
C<(BKPRICE-2*ATR)&&BKVOL>0,SP(BKVOL);//最新价小于开仓价减去2倍的ATR,止损平仓
C>(SKPRICE+2*ATR)&&SKVOL>0,BP(SKVOL); //最新价大于开仓价加上2倍的ATR,止损平仓
CROSSUP(H,PK)&&SKVOL>0,BP(SKVOL);//最高价上穿小周期最高价,平仓
CROSSDOWN(L,PD)&&BKVOL>0,SP(BKVOL); //最低价下穿10周期的最低价,平仓
MULTSIG_MIN(0,0,4);
技术人员回复
日期:2018-8-16 16:49
您看一下,没有信号的时候,是不是只有一个第一次开仓的信号,然后开了0手呢,这样调整一下
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//真实波幅
ATR:=MA(TR,100); //求100个周期内真实波幅的简单移动平均
TC..INTPART((REF(MONEYTOT,1)*0.003/10/(2*REF(ATR,1))));//根据权益的R%计算下单手数(此处以10吨/手为例,适合螺纹、豆粕等品种)
MTC:=4*TC; //总的持仓头寸
TC1:VALUEWHEN(CROSS(BKVOL,0.5)||CROSS(SKVOL,0.5),TC),NODRAW;
ATR1:VALUEWHEN(CROSS(BKVOL,0.5)||CROSS(SKVOL,0.5),ATR),NODRAW;
HH:HV(H,P);
LL:LV(L,P);
PD: LV(L,T);
PK:HV(H,T);
BARPOS>100&&CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0,BK(TC);//最新价超过前高,首次买入开仓,手数为TC手
BARPOS>100&&CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0,SK(TC); //最新价跌破前低,首次卖出开仓,手数为TC手
C>=BKPRICE+0.5*ATR1&&BKVOL<MTC&&ISLASTBK,BK(TC1);//多头第1次加仓
C>=BKPRICE+0.5*ATR1&&BKVOL<MTC&&ISLASTBK,BK(TC1);//多头第2次加仓
C>=BKPRICE+0.5*ATR1&&BKVOL<MTC&&ISLASTBK,BK(TC1);////多头第3次加仓
C<=SKPRICE-0.5*ATR1&&SKVOL<MTC&&ISLASTSK,SK(TC1);//空头第一次加仓
C<=SKPRICE-0.5*ATR1&&SKVOL<MTC&&ISLASTSK,SK(TC1);//空头第二次加仓
C<=SKPRICE-0.5*ATR1&&SKVOL<MTC&&ISLASTSK,SK(TC1);//空头第三次加仓
C<(BKPRICE-2*ATR)&&BKVOL>0,SP(BKVOL);//最新价小于开仓价减去2倍的ATR,止损平仓
C>(SKPRICE+2*ATR)&&SKVOL>0,BP(SKVOL); //最新价大于开仓价加上2倍的ATR,止损平仓
CROSSUP(H,PK)&&SKVOL>0,BP(SKVOL);//最高价上穿小周期最高价,平仓
CROSSDOWN(L,PD)&&BKVOL>0,SP(BKVOL); //最低价下穿10周期的最低价,平仓
MULTSIG_MIN(0,0,4);
投资者咨询:[求助]系统分时段,有时开仓,有时不开仓 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-8-16 16:33
技术人员回复
日期:2018-8-16 22:30
明日工作时间相关同事给您回复
技术人员回复
日期:2018-8-17 8:17
投资者咨询:[求助]系统分时段,有时开仓,有时不开仓 (文华财经WH8赢智V8.2)
来源:文华财经 日期:2018-8-16 16:33
非常感谢老师!!