以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 对后台交易,出现查询到委托单与持仓单同时存在的问题 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=61276) |
-- 作者:lanchongms -- 发布时间:2014/1/25 11:27:45 -- 对后台交易,出现查询到委托单与持仓单同时存在的问题 【1】代码:
委托多单:=tremainqty(1,ac,stklabel); 持有多单:=tbuyholdingex(ac,stklabel,1);
【2】程序下单情况 如果目前我没有任何持仓以及委托单。 现在委托开多1手单子,在单子顺利报出去,不撤单情况下只可能出现两种情况: 1、“委托多单”=1,“持仓多单”=0 2、“持有多单”=1,“委托多单”=0
【3】出现的问题 在执行上述代码,输出到本地的时候会发现,有概率出现: “委托多单”=1,“持仓多单”=1的情况
【4】程序出现的问题,我想到两种可能性 1、成交回报回来,对委托单-1以及持有单+1的运算没有加锁 2、程序顺序执行时候,先查询到委托多单==1,这时候刚好这瞬间成交回报过来了,持有单也==1了
怎么解决这个问题? |
-- 作者:lichenghu -- 发布时间:2014/1/26 9:59:11 -- 对应您把持有多单的代码放在委托多单的前面来进行处理 并且在工具-选项维护里的持仓刷新调小至500ms以下 |
-- 作者:lanchongms -- 发布时间:2014/1/26 16:40:00 -- 跟代码位置没关系的啊~这个是程序的问题, 即使两个位置调转过来,发平仓单等也是会有问题的~跟时间间隔没关系,已经是500MS以下了。
[此贴子已经被作者于2014/1/26 16:41:34编辑过]
|
-- 作者:lanchongms -- 发布时间:2014/1/26 16:46:31 -- 发开多单,如果代码调转过来,会出现“持有多单”=0,“委托多单”=0的情况; |
-- 作者:lichenghu -- 发布时间:2014/1/27 8:46:22 -- 对应是委托回报在接收上有延迟,持仓刷新再小点试试 |