Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:vba怎么限制重复下单

1楼
qq代人发帖 发表于:2013/8/23 10:33:04
请教
vba怎么限制重复下单
call order.Buy(0,1,Jbuy,0,TCode,TMarket,"",0)
常常一次下两单,加了时间限制也不行
[此贴子已经被作者于2013/8/23 10:33:31编辑过]
2楼
rushtaotao 发表于:2013/8/23 10:42:57

你这里写的手数是1 一次下单就是一手!要限制你可以用持仓或者其他限制办法 加到if判断语句里

另外以后代码最好发完整点 就这么一行代码 是不能直接告诉你问题所在的

3楼
王锋 发表于:2013/8/23 10:50:39

参考 order.OrderInfo2方法,下单前查询未成交单,若存在未成交单则本次不要再下了

此外你还可以考虑使用时间记录,下单后记录下单时的计算机时间,再次下单时判断当前时间与上次下单时间的差,如果小于3秒(用户自定)等情况就拒绝再次下单来解决

[此贴子已经被作者于2013/8/23 10:51:52编辑过]
4楼
Marcus 发表于:2013/8/23 23:46:47
以下是引用qq代人发帖在2013/8/23 10:33:04的发言:
请教
vba怎么限制重复下单
call order.Buy(0,1,Jbuy,0,TCode,TMarket,"",0)
常常一次下两单,加了时间限制也不行
[此贴子已经被作者于2013/8/23 10:33:31编辑过]

我自己写过一段代码用于高频套利,你可以参考:
0. 检查仓位是否与策略一致,如果不一致则进入#1
1. 先检查是否有未成交单,如果有未成交单则调用ORDER指令撤销之,并等待2秒进入#2;否则进入#3
2. 再次确认没有未成交单,如果还有未成交单则调用ORDER指令撤销之(这次不等2秒了),然后进入#3
3. 立即开新单,开单数量根据仓位以及策略数量的差值而定
5楼
Marcus 发表于:2013/8/23 23:53:30
 补充一点,下单后延时2秒检验仓位。
大多数情况下,主力合约对价位加几档滑点都能迅速成交,未成交单延时检查再定价追单基本可以处理你的问题。
[此贴子已经被作者于2013/8/23 23:54:08编辑过]
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.02344 s, 2 queries.