您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经知识>>正文内容

请教老师怎么改进 [文华财经]

  • 咨询内容: 老师你好,这是海龟编写示范复制过来的:我增加了红色字体,和更改了原命令TRADE_AGAIN(10)变成粉红字体。目的是想实现在收盘前5秒下单,而不用像原程序那样需要第二天开盘才下单。但是更改之后出现了一个加仓问题,两行绿色字体的命令只会执行一次,我希望可以实现多次加仓,请老师帮忙,万分感谢! TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//真实波幅ATR:=MA(TR,26); //求26个周期内真实波幅的简单移动平均TC..INTPART((MONEYTOT*0.01/(UNIT*ATR)));//根据权益的1%计算下单手数MTC..4*TC; //总的持仓头寸HH:=HV(H,20);LL:=LV(L,20);CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0&&CLOSESEC1<=5,BK(TC);//最新价超过20周期的最高值,首次买入开仓,手数为TC手CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0&&CLOSESEC1<=5,SK(TC); //最新价跌破20周期的最低值,首次卖出开仓,手数为TC手C>=BKPRICE+0.5*ATR&&BKVOL<MTC&&ISLASTBK&&CLOSESEC1<=5,BK(TC);//价格在上次开仓的基础上上涨0.5倍ATR,在手数不超过4倍TC的时候,买入加仓TC手C<=SKPRICE-0.5*ATR&&SKVOL<MTC&&ISLASTSK&&CLOSESEC1<=5,SK(TC);//价格在上次开仓的基础上下跌0.5倍ATR,在手数不超过4倍TC的时候,卖出加仓TC手C<=(BKPRICE-2*ATR)&&BKVOL>0&&CLOSESEC1<=5,SP(BKVOL);//最新价小于开仓价减去2倍的ATR,止损平仓C>=(SKPRICE+2*ATR)&&SKVOL>0&&CLOSESEC1<=5,BP(SKVOL); //最新价大于开仓价加上2倍的ATR,止损平仓CROSSUP(H,HV(H,10))&&SKVOL>0&&CLOSESEC1<=5,BP(SKVOL);//最高价上穿10周期最高价,平仓CROSSDOWN(L,LV(L,10))&&BKVOL>0&&CLOSESEC1<=5,SP(BKVOL); //最低价下穿10周期的最低价,平仓MULTSIG(0,0,1,0);

     

     来源:程序化99

  • 文华技术人员: 这样改下:
    TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//真实波幅 ATR:=MA(TR,26); //求26个周期内真实波幅的简单移动平均 TC..INTPART((MONEYTOT*0.01/(UNIT*ATR)));//根据权益的1%计算下单手数 MTC..4*TC; //总的持仓头寸 HH:=HV(H,20); LL:=LV(L,20); CROSSUP(C,HH)&&ISLASTBK=0&&ISLASTSK=0&&CLOSESEC1<=5,BK(TC);//最新价超过20周期的最高值,首次买入开仓,手数为TC手 CROSSDOWN(C,LL)&&ISLASTBK=0&&ISLASTSK=0&&CLOSESEC1<=5,SK(TC); //最新价跌破20周期的最低值,首次卖出开仓,手数为TC手 C>=BKPRICE+0.5*ATR&&BKVOL<MTC&&ISLASTBK&&CLOSESEC1<=5,BK(TC);//价格在上次开仓的基础上上涨0.5倍ATR,在手数不超过4倍TC的时候,买入加仓TC手 C<=SKPRICE-0.5*ATR&&SKVOL<MTC&&ISLASTSK&&CLOSESEC1<=5,SK(TC);//价格在上次开仓的基础上下跌0.5倍ATR,在手数不超过4倍TC的时候,卖出加仓TC手 C<=(BKPRICE-2*ATR)&&BKVOL>0&&CLOSESEC1<=5,SP(BKVOL);//最新价小于开仓价减去2倍的ATR,止损平仓 C>=(SKPRICE+2*ATR)&&SKVOL>0&&CLOSESEC1<=5,BP(SKVOL); //最新价大于开仓价加上2倍的ATR,止损平仓 CROSSUP(H,HV(H,10))&&SKVOL>0&&CLOSESEC1<=5,BP(SKVOL);//最高价上穿10周期最高价,平仓 CROSSDOWN(L,LV(L,10))&&BKVOL>0&&CLOSESEC1<=5,SP(BKVOL); //最低价下穿10周期的最低价,平仓 TRADE_AGAIN(10); CHECKSIG(BK,'A',0,'C',0,0); CHECKSIG(SK,'A',0,'C',0,0); CHECKSIG(BP,'A',0,'C',0,0); CHECKSIG(SP,'A',0,'C',0,0);

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息或微信:cxhjy888 进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容