以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- vba怎么限制重复下单 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=55588) |
-- 作者:qq代人发帖 -- 发布时间:2013/8/23 10:33:04 -- vba怎么限制重复下单 请教
vba怎么限制重复下单
call order.Buy(0,1,Jbuy,0,TCode,TMarket,"",0) 常常一次下两单,加了时间限制也不行 [此贴子已经被作者于2013/8/23 10:33:31编辑过]
|
-- 作者:rushtaotao -- 发布时间:2013/8/23 10:42:57 -- 你这里写的手数是1 一次下单就是一手!要限制你可以用持仓或者其他限制办法 加到if判断语句里 另外以后代码最好发完整点 就这么一行代码 是不能直接告诉你问题所在的 |
-- 作者:王锋 -- 发布时间:2013/8/23 10:50:39 -- 参考 order.OrderInfo2方法,下单前查询未成交单,若存在未成交单则本次不要再下了 此外你还可以考虑使用时间记录,下单后记录下单时的计算机时间,再次下单时判断当前时间与上次下单时间的差,如果小于3秒(用户自定)等情况就拒绝再次下单来解决 [此贴子已经被作者于2013/8/23 10:51:52编辑过]
|
-- 作者: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. 立即开新单,开单数量根据仓位以及策略数量的差值而定 |
-- 作者:Marcus -- 发布时间:2013/8/23 23:53:30 -- 补充一点,下单后延时2秒检验仓位。 大多数情况下,主力合约对价位加几档滑点都能迅速成交,未成交单延时检查再定价追单基本可以处理你的问题。 [此贴子已经被作者于2013/8/23 23:54:08编辑过]
|