举例说明:交易所规定,在一个账户的交易中,螺纹钢单账户最大持仓不超过3000手,单次最大开仓不大于500手。所以如果需要的开仓量大于500手的时候就要进行开仓量自动分割,写法如下,请版主指正。谢谢!
//---------------空平仓
if abs(holding)>500 then begin
ss:=intpart(abs(holding)/500);
for i=1 to ss do begin
KP3: SELLSHORT(holding<0 and 及时空损,500,LIMITR,C);
end
end
if abs(holding)<=500 then begin
KP03:SELLSHORT(holding<0 and 及时空损,abs(holding),LIMITR,C);
end
//-------------------空开仓
if B=1 AND S1 then begin
if 实盘持仓>500 then begin
ss:=intpart(实盘持仓/500);
for i=1 to ss do begin
ZK4:buyshort(提前,500,limitr,收盘空开);
end
end
if 实盘持仓<=500 then begin
ZK04:buyshort(提前,实盘持仓,limitr,收盘空开);
end
end
软件图标机制中对下单函数有限制,同一根k上一个交易指令语句只能被执行一次。
所以你的想法通过代码是实现不了的,你只能使用考虑使用现有功能或者在后台程序化中使用ALLOWREPEAT函数。
交易--下单设置--常规下单中
5.0版本中,交易--下单设置--大单拆分