等级: 专业版
- 注册:
- 2022-1-11
- 曾用名:
|
//固定1秒轮询
cc:=holding;
if holding>0 and c<ref(c,1) then sell(1,1,market);
if holding<0 and c>ref(c,1) then sellshort(1,1,market);
if holding=0 and c>ref(c,1) then buy(1,1,market);
if holding=0 and c<ref(c,1) then buyshort(1,1,market);
if not(islastbar) or workmode<>1 then exit;
tm:=30;//撤单时间
ac:='800988';//下单账户
wt:=tremainqty(0,ac,stklabel);
buyhold:=tbuyholdingex(ac,stklabel,1);
sellhold:=tsellholdingex(ac,stklabel,1);
if wt>0.5 and tsubmit(0)>tm then tcancelex(1,0,ac,stklabel); 这里的0.5是什么意思?
if wt<0.5 then begin
kc1:=max(cc,0)-buyhold; 这句是什么意思?为什么要这样计算?
kc2:=abs(min(cc,0))-sellhold; 这句是什么意思?为什么要这样计算?
if kc1<-0.5 then tsell(1,abs(kc1),mkt,0,0,ac),allowrepeat; 这里使用allowrepeat函数会不会导致重复N次下单?这个函数如果加holding等持仓判断语句 是不是就可以比较安全的使用?
if kc2<-0.5 then tsellshort(1,abs(kc2),mkt,0,0,ac),allowrepeat;
if sellhold<0.5 and kc1>0.5 then tbuy(1,kc1,mkt,0,0,ac),allowrepeat;
if buyhold<0.5 and kc2>0.5 then tbuyshort(1,kc2,mkt,0,0,ac),allowrepeat;
end
|
|