你好,(1)图;1为开多仓,2为第一次加仓,4为第二次加仓。3相对移动止损线6,5相对移动止损线7。 现在测试为:执行所有仓的移动止损为7,要求改成执行所有移动止损为6。 (2)1月5号晚上11点有显示强平,但没发出信号,1月6号早上没有信号反应。 1月6号晚上平空有显示,但有信号,11点收盘没显示强平,也没信号,1月7号早上没显示没信号。 1月8号晚上有显示强平,但没发出信号。 INPUT:A(5,1,100,1),B(10,1,1000,1),D(20,1,1000,1),,SS(1,1,100,1);//均线参数,下单手数 都在这里调整参数即可 MA1:MA(CLOSE,A); MA2:MA(CLOSE,B); MA3:MA(CLOSE,D); 手数:=ss; //交易条件 开多条件:=CROSS(MA1,MA2) AND (MA2>MA3) ; 开空条件:=CROSS(MA2,MA1) AND (MA2<MA3) ; DRAWICON(开多条件,h,1);//显示下开仓条件位置,但是不一定开仓,因为还有开仓间隔的限制。 DRAWICON(开空条件,l,2); //移动止损部分************************ //求出持仓以来的最高价或最低价,通过与当前价做比较,判断资金回落的幅度 hh:=hhv(h,enterbars+1); ll:=llv(l,enterbars+1); if c<hh-20*mindiff and holding>0 then sell(1,holding,marketr); if c>ll+20*mindiff and holding<0 then sellshort(1,holding,marketr); if (TYPEBAR(1,1)>=180 OR TYPE(1)=0 OR NOT(TYPEBAR(1,1))) and 开多条件 then 开多:buy(1,手数,market);//开多条件 if (TYPEBAR(1,3)>=180 OR TYPE(1)=0 OR NOT(TYPEBAR(1,3))) and 开空条件 then 开空:buyshort(1,手数,market);//开空条件 cd:=time=25955 or time=185955;//2个收盘K上强平。 if cd then begin 强平1:sell(holding>0,holding,market); 强平2:sellshort(holding<0,holding,market); end 持仓:holding; 资金:ASSET; |
1.这2个移动止损线是怎么来的?这2个线不是代码里体现的,你使用了系统自带的止盈止损功能?图片移动止损线为理论的,但实际测试也是这样。 2.尾盘没有平仓这个问题,你看下图表程序化交易的预警记录里面是否有触发信号?看下是有触发信号没能下单,还是连信号触发记录都没有,这是2种情况的。 图表有时有显示,有时没有显示。有时图表显示了,但没有发出信号,没有强平。 另外你的程序化设置 是走完K还是固定轮询,周期又是多少?是走完K,现是5秒,如果可以请帮助改成15秒 , |