设为首页收藏本站

 找回密码
 注册
查看: 1709|回复: 4
打印 上一主题 下一主题

要等待Data2.A_DeleteOrder()回复吗? [复制链接]

Rank: 3Rank: 3

精华
0
UID
257171
积分
133
帖子
99
主题
32
阅读权限
40
注册时间
2017-9-28
最后登录
2019-11-16
跳转到指定楼层
1#
发表于 2018-4-28 09:50:07 |只看该作者 |倒序浏览
本帖最后由 masterhdd 于 2018-4-28 10:02 编辑

在交易策略进阶中,有个“A函数下单撤单和全局变量操作”的例子,是不是在执行完Data2.A_DeleteOrder();这一条后,Data2.A_GetOpenOrderCount()就立刻==0了?还是要等待Data2.A_DeleteOrder()回复说撤单成功了才
Data2.A_GetOpenOrderCount()==0呢?之所以在撤单指令发出后还要延迟几个TICK才进行下一步的平仓动作,可能就是因为执行完Data2.A_DeleteOrder();这一条后,Data2.A_GetOpenOrderCount()就立刻==0了,而不用等Data2.A_DeleteOrder()的回复来确认,所以要等待若干个TICK来估计现在是真的已经撤单成功了,也就是说此时此处的Data2.A_GetOpenOrderCount()==0不代表真实的撤单成功而仅表示撤单指令已经发出了而已。请版主指教。

  Begin
        。。。   
      If(Data2.Close != InvalidNumeric && Data2.A_GetOpenOrderCount()>0) // 商品2全部撤单
        {
            Data2.A_DeleteOrder();
            DeleteOrderTickCounter = 1;
        }

        DeleteOrderTickCounter = DeleteOrderTickCounter + 1;
        SetGlobalVar(0,DeleteOrderTickCounter);
        If(DeleteOrderTickCounter < 5) Return;

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2018-5-2 14:14:21 |只看该作者
a_deleteorde执行后,A_GetOpenOrderCount()不会立刻==0,需要等柜台的回报返回到本地后, 再次查询的.A_GetOpenOrderCount的结果后才会为0。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
257171
积分
133
帖子
99
主题
32
阅读权限
40
注册时间
2017-9-28
最后登录
2019-11-16
3#
发表于 2018-5-2 15:17:52 |只看该作者
小米 发表于 2018-5-2 14:14
a_deleteorde执行后,A_GetOpenOrderCount()不会立刻==0,需要等柜台的回报返回到本地后, 再次查询的.A_Ge ...

若是需要等柜台的回报返回到本地后, 再次查询的.A_GetOpenOrderCount的结果后才会为0,那在后续的基于A_BuyPosition()的平仓动作就没必要用Tick计数器延时来估计发出去的单子已成交,查询A_GetOpenOrderCount的结果为0,那么A_BuyPosition()的返回值就是可靠的,比用Tick计数器延时更可靠?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2018-5-2 16:16:54 |只看该作者
本帖最后由 小米 于 2018-5-2 16:19 编辑
masterhdd 发表于 2018-5-2 15:17
若是需要等柜台的回报返回到本地后, 再次查询的.A_GetOpenOrderCount的结果后才会为0,那在后续的基于A_ ...


既然您看到这个代码了,麻烦再读一下这个代码前在134页的文字说明。

(3)。。。。。
或者因为成交回报不及时而不能得到准确的a_buyposition值,因此,设计撤单后延时5个tick再平仓
(注意:这里假定撤单后5个tick委托状态能同步成功,实际情况中因网络延时等原因并不一定能够成功,因此实际策略中请根据情况调整)

您也可以完全不理会这个代码,按自己的想法来实现公式的。这里只是一个范例,并没有什么标准答案。你有更好的方法都可以试一下的。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
257171
积分
133
帖子
99
主题
32
阅读权限
40
注册时间
2017-9-28
最后登录
2019-11-16
5#
发表于 2018-5-2 18:02:21 |只看该作者
小米 发表于 2018-5-2 16:16
既然您看到这个代码了,麻烦再读一下这个代码前在134页的文字说明。

(3)。。。。。

多谢释疑。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-27 03:12

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部