-- 作者:flyme
-- 发布时间:2016/10/18 9:40:40
-- 仓位超过限制持仓的情况下,平仓指令
if holding>500 then begin ss:=ceiling(holding/500); for i=1 to ss do begin SELL(多平条件 AND HOLDING>0,min(holding,500),limitr,if(ISLASTBAR,c-2*hd,c-hd)); end end
按照之前版主的写法,在持仓超过500手的情况下,就平不了仓。平仓手数没有分割,程序发出的指令是以总持仓量挂单的。
|
-- 作者:jinzhe
-- 发布时间:2016/10/18 10:24:08
--
如果你的持仓是不是几千手的那种,建议枚举的方式来写
if holding<=500 then begin
sell(1,0,market); end
if holding>500 and holding<=1000 then begin
sell(1,holding-500,market);
sell(1,500,market);
end
if holding>1000 and holding<=1500 then begin
sell(1,holding-1000,market);
sell(1,500,market);
sell(1,500,market);
end
if holding>1500 and holding<2000 then begin
sell(1,holding-1500,market);
sell(1,500,market);
sell(1,500,market);
sell(1,500,market);
end
|