套利程序,第二腿和第一腿之间开平的时间间隔 (文华财经wh9)

投资者咨询:套利程序,第二腿和第一腿之间开平的时间间隔 (文华财经wh9)
来源:文华财经  日期:2019-5-20 14:42
第二腿开平以后有时要等10多秒才会开平第一腿,但有时又很快,只要一秒
程序第二腿(成交量差的合约)用对价,第一腿(成交量好的合约)用市价
先操作第二腿,成交以后操作第一腿 
第一腿的开仓条件如下
if (SellOpenData1==0 && SellOpenData2==1 && F_OrderStatus(RsSellOpenData2) == Enum_Filled&&Data2.A_BuyRemainPosition > Data1.A_SellRemainPosition)

SellOpenData1 SellOpenData2 分别是第一腿和第二腿的控制变量,这个是立即变化的,应该不耽误时间
时间应该是消耗在 F_OrderStatus 仓位检查上,另外就是第二腿开平以后第一腿可能是下几次循环才能执行到

请问有什么更好的办法降低这个时间间隔?  
技术人员回复
日期:2019-5-20 14:46
 
应该是您的模型会判断第二腿合约成交后才会委托第一腿合约

第二腿合约行情不活跃是会有不容易成交情况的,您可以使用更有优势的价格委托,例如市价

但是在行情特别不活跃的时候,还是会出现委托后挂单不能成交的情况,也就是您说的时间间隔

您理解一下


投资者咨询:套利程序,第二腿和第一腿之间开平的时间间隔 (文华财经wh9)
来源:文华财经  日期:2019-5-20 14:42
 不是这个情况,是我看到第二腿已经全部成交了,账户上已经有单子还要等一会儿才会发第一腿的单子,我觉得
这则就太慢了。  如果第二腿只是挂单也无所谓,没成交不会有风险,但成交了第二腿第一腿的单子没有立即发出
就有问题,这个时候价格如果朝不利的方向移动就有风险 
 我的意思是有没有什么效率更高的写法
技术人员回复
日期:2019-5-20 14:58
 
您提供完整源码,我们看下
投资者咨询:套利程序,第二腿和第一腿之间开平的时间间隔 (文华财经wh9)
来源:文华财经  日期:2019-5-20 14:42
 Data2.A_BuyPosition Data2.F_BuyPosition 
这两个函数执行路径有什么不同,A开头的函数是不是要查询柜台系统,F开头的是在本地查询?
 时间上有无差别 
技术人员回复
日期:2019-5-20 15:18
 
时间没有差别,程序的运行流程是公式编写控制的

A_BuyPosition 取的是账户的该合约多头持仓

F_BuyPosition 取的是当前算法交易开的当前合约的多头持仓