-- 作者:deni977
-- 发布时间:2013/10/21 23:32:22
-- 3.00版本和3.031版本,后台运作不同
一不小心点击了升级,程序升级到3.031版本,后台程序如下:
Xhold:=STKINDI(\'IF00\',\'AC09BY07.Xholding\',0 ,1, 0); //图表程序的虚拟持仓 ,在图表程序上是这样的 Xholding:=holding;
TBUF:=DYNAINFO(207)-(INTPART(DYNAINFO(207)/100)) *100,nodraw; //当前秒
Stime:tbuf,nodraw; //实盘纠错 if STIME> 0 && STIME<=3 && Barstatus=2 then begin //每分钟开始3秒纠正仓位同步
//虚空实多
Pdprice:=DYNAINFO( 7)-0.2; Tsell(Xhold<0 && Tholding>0,0,lmt,Pdprice); KKprice:=DYNAINFO( 7)-0.2; Tbuyshort(Xhold<0 && Tholding=0 ,1,lmt,KKprice); // 虚多实空
Pkprice:=DYNAINFO( 7)+0.2; TSELLSHORT(Xhold>0 && THOLDING<0 ,0,lmt,Pkprice); KDprice:=DYNAINFO( 7)+0.2; Tbuy(Xhold>0 && Tholding=0,1,lmt,Kdprice); //不持仓
Pkprice:=DYNAINFO( 7)+0.2; TSELLSHORT(Xhold=0 && THOLDING<0 ,0,lmt,Pkprice); PDprice:=DYNAINFO( 7)+0.2; Tsell(Xhold=0 && Tholding>0,0,lmt,Pdprice); end
后台程序工作在5秒周期下,用机构版账号登录,在3.00版本下,程序运作正常,升级到3.031版本后,程序不正常,表现为不纠正仓位同步,比如:
图表虚拟持仓为零的时候,手动开多1手,按正常,下一个1分钟的前3秒会纠错,平仓,实际是:在3.00版本有平仓,在3.031版本不平仓。
请高手给予指点,是不是软件问题? 用另外一台电脑运行3.00版本,加载后也是正常。
|
-- 作者:deni977
-- 发布时间:2013/10/25 10:23:37
--
VARIABLE:TRADEBEGIN:=91500; VARIABLE:LASTTRADE:=145900; VARIABLE:TRADECLOSE:=151400; Ordvol:=1; BN:=2.3; Tradtime:= ((TIME >= TRADEBEGIN) && (time<=LASTTRADE)); M5A:=STKINDI(\'IF00\',\'AC09T7.TEST\',0 ,1, 0);//,colorred; rfm5a:=ref(m5a,12); M5BS:=STKINDI(\'IF00\',\'AC09T7.BS\',0 ,1, 0);//,colorgreen; Xhold:=STKINDI(\'IF00\',\'AC09BY07.Xholding\',0 ,1, 0); T5LC:=STKINDI(\'IF00\',\'AC09T7.TLC\',0 ,1, 0); T5WD:=STKINDI(\'IF00\',\'AC09BY07.WD\',0 ,1, 0); T5WK:=STKINDI(\'IF00\',\'AC09BY07.WK\',0 ,1, 0); SSD:= cross(m5a,m5bs ) ; //
SSK:= cross(m5bs,m5a) ; //???? TBUF:=DYNAINFO(207)-(INTPART(DYNAINFO(207)/100)) *100,nodraw; //μ±?°??ê±?? Stime:tbuf,nodraw; WinD:= (T5wd && Stime>=57); WinK:= (T5wk && Stime>=57); PDcond1:= ( SSD or (ref(ssd,1)) or (ref(ssd,2))or (ref(ssd,3))or (ref(ssd,4))or (ref(ssd,5))or (ref(ssd,6))or (ref(ssd,7))or (ref(ssd,8))or (ref(ssd,9))or (ref(ssd,10)) or (ref(ssd,11)) ); Pdcond2:= STIME>3; Pdcond4:= ref(ssd,12);//????ì??t PKcond1:=( SSK or (ref(ssK,1)) or (ref(ssK,2))or (ref(ssK,3))or (ref(ssK,4))or (ref(ssK,5))or (ref(ssK,6))or (ref(ssK,7))or (ref(ssK,8))or (ref(ssK,9))or (ref(ssK,10))or (ref(ssK,11)) ); PKcond2:= STIME>3 ; Pkcond4:=ref(ssk,12); 跑多:= (PDcond1 && Pdcond2 && ref(LOW,1)< (rfm5a-0.1) && LOW< (rfm5a-0.3) && ((T5LC>=BN && Stime>3) or Stime>=58 )) or (Pdcond4 && Pdcond2 ); 跑空:= (Pkcond1 && Pkcond2 && ref(high,1)>(rfm5a+0.1) && high>(rfm5a+0.3) && ((T5Lc>=BN && Stime>3)or Stime>=58) ) or ( Pkcond4 && Pkcond2); if 跑多 then begin Pdprice:=DYNAINFO( 7)-0.0; TSELL(BARSTATUS=2 && THOLDING>0 ,0,lmt,Pdprice); KKprice:=DYNAINFO( 7)-0.0; TBUYSHORT( (BARSTATUS=2 && THOLDING=0 && Tradtime ),1,LMT,KKprice); //?′ê±?a2? end if 跑空 then begin Pkprice:=DYNAINFO( 7)+0.0; TSELLSHORT(BARSTATUS=2 && THOLDING<0 ,0,lmt,Pkprice); KDprice:=DYNAINFO( 7)+0.0; TBUY( (BARSTATUS=2 && THOLDING=0 && Tradtime),1,LMT,KDprice); //?′ê±?a2? end //极速止赢 if WinD then begin Pdprice:=DYNAINFO( 7)-0.0; TSELL(BARSTATUS=2 && THOLDING>0 ,0,lmt,Pdprice); end if WinK then begin Pkprice:=DYNAINFO( 7)+0.0; TSELLSHORT(BARSTATUS=2 && THOLDING<0 ,0,lmt,Pkprice); end
//实盘纠正 if STIME> 0 && STIME<=3 && Barstatus=2 then begin //?aê?3??D£?y?ì2é2??? //**********************Dé??êμ?à£????à?a?? Pdprice:=DYNAINFO( 7)-0.2; Tsell(Xhold<0 && Tholding>0,0,lmt,Pdprice); KKprice:=DYNAINFO( 7)-0.2; Tbuyshort(Xhold<0 && Tholding=0 ,1,lmt,KKprice); //*********************Dé?àêμ??£??????a?à Pkprice:=DYNAINFO( 7)+0.2; TSELLSHORT(Xhold>0 && THOLDING<0 ,0,lmt,Pkprice); KDprice:=DYNAINFO( 7)+0.2; Tbuy(Xhold>0 && Tholding=0,1,lmt,Kdprice); //*********************Dé??êμ3?2?£????à?? Pkprice:=DYNAINFO( 7)+0.2; TSELLSHORT(Xhold=0 && THOLDING<0 ,0,lmt,Pkprice); PDprice:=DYNAINFO( 7)+0.2; Tsell(Xhold=0 && Tholding>0,0,lmt,Pdprice); end //?à?y3?2?êyá? Tordvol:=Tholding; TDC:=TBUYHOLDING(0); TKC:=TSELLHOLDING(0); if ( Tbuf<3 && Tbuf>0 && Barstatus=2) then begin //3·?ú?ùóD±¨μ¥ 撤单:=TCANCEL(1,0); Pdprice:=DYNAINFO( 7)-0.2; Tsell(Tordvol>Xhold,(Tordvol-Xhold),lmt,Pdprice); Tsell( (TDC>0 && Xhold<0),TDC,lmt,Pdprice); Tsell( (TDC>0 && Xhold>0 && TDC > Xhold),(TDC-Xhold),lmt,Pdprice); PKprice:=DYNAINFO( 7)+0.2; Tsellshort(Tordvol<Xhold,(abs(Tordvol-Xhold)),lmt,Pkprice); Tsellshort((Tkc<0 && Xhold>0), TKC,lmt,Pkprice); Tsellshort((Tkc<0 && Xhold<0 && Tkc<Xhold), abs(Tkc-Xhold) ,lmt,Pkprice); end //2???êyá?3?3? if ( abs(Tordvol)>1 ) then begin 撤单:=TCANCEL(abs(Tordvol)>1,0); Pdprice:=DYNAINFO( 7)-0.2; Tsell( (Xhold>0 && Tordvol>0 && Tordvol > Xhold),(Tordvol-Xhold),lmt,Pdprice); PKprice:=DYNAINFO( 7)+0.2; Tsellshort( (Tordvol<Xhold && Xhold<0 && Tordvol<0) ,(abs(Tordvol-Xhold)),lmt,Pkprice); end //ê??ì????è?2???2? IF ((TIME >= TRADECLOSE) AND (THOLDING <> 0)) THEN BEGIN IF (THOLDING < 0) THEN BEGIN PKprice:=DYNAINFO( 7)+0.2; TSELLSHORT(1,0,LMT,PKprice,1); END IF (THOLDING > 0) THEN BEGIN PDprice:=DYNAINFO( 7)-0.2; TSELL(1,0,LMT,PDprice,1); END END
|