以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  仓位超过限制持仓的情况下,平仓指令  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=141152)

--  作者: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 9:43:24
--  
那么k线图上的信号平仓手数是一个大于500的整数,还是有两个数字一个是500一个是总持仓-500?
--  作者:flyme
--  发布时间:2016/10/18 9:44:26
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:flyme
--  发布时间:2016/10/18 9:49:02
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2016/10/18 10:09:15
--  
k线图上的信号是对的,但是现在图表交易不能做循环下单
--  作者:flyme
--  发布时间:2016/10/18 10:11:54
--  

是啊。应该怎么处理


--  作者: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


--  作者:flyme
--  发布时间:2016/10/18 10:31:32
--  
版主,我是不是可以建议金字塔增加委托交易指令函数,将持仓量大于交易所最大单次委托量的时候,总持仓量将会自动分割成交易所最大单次挂单数量,小于这个数字的,以实际持仓挂单。
--  作者:jinzhe
--  发布时间:2016/10/18 10:42:31
--  
有这个函数:SLITHERMETHOD,滑点下单的切分功能,具体的切分方式需要设置,在截图里面所指处进行设置,不过需要专业版的
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:flyme
--  发布时间:2016/10/27 11:09:40
--  
用枚举的方法还是解决不了账户总持仓超过500的问题