设为首页收藏本站

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

关于 A_GetOpenOrderCount()函数 [复制链接]

Rank: 1

精华
0
UID
266622
积分
40
帖子
29
主题
11
阅读权限
10
注册时间
2018-6-13
最后登录
2019-10-25
跳转到指定楼层
1#
发表于 2018-7-9 11:47:11 |只看该作者 |倒序浏览
小米版主你好,我遇到一个问题,很奇怪,请教
我用 A_GetOpenOrderCount()函数查询未成交委托单,按说明应该返回未成交的委托单数量。查询完成后,我直接用注释"  未成交委托单委托价格:" + Text(A_OpenOrderPrice(0))语句,可以获得最近一条未成交委托单的委托价格。可是接下来用for语句循环的时候,输出的却是已成交的委托单,这是什么原因,循环内输出的成交状态为3?

nCount = A_GetOpenOrderCount();  //未成交委托单数量
FileAppend("d:\\bb" + Text(celue) + ".Log","4.1.--tick循环达到3次-- 检查成交 --141行---  未成交委托单数量:" +  Text(nCount) + "  未成交委托单委托价格:" + Text(A_OpenOrderPrice(0)) );
                       
                                       
                                       
                                        If(nCount > 0){      //没有未成交委托单 ,则查询获取已成交委托单的成交价格   
                       
                                                For i = 1 To  nCount        {//只检查最近两条委托单
                                                       
                                                        weituojia = A_OrderPrice(i);        //委托单委托价格
                                                       
                                                        weituoshuliang = A_OrderLot(i);
                                                       
                                                        FileAppend("d:\\bb" + Text(celue) + ".Log","--4.2.----161行-- i=" +  Text(i) + "    委托时间:" +  Text(A_OrderTime(i))
                                                                        + "    委托价格:" +  Text(weituojia)
                                                                        + "    成交价格:" +  Text(A_OpenOrderFilledPrice(i)) + "    成交状态:" +  Text(A_OrderStatus(i)));

                                                }
                                                 
                                        }Else{        //无未成交委托单,则认为委托单已成交
                                       
                                                chengjiao = True;
                                               
                                        }

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2018-7-9 13:34:03 |只看该作者
日志4.1 ,你取的未成交委托价格是 Text(A_OpenOrderPrice(0)) ,索引用的是0
日志4.2, 你取的成交状态是Text(A_OrderStatus(i)),索引是i,而这个i 的范围并没有包含0
查的都不是同一个索引号的值 ,所以这样的查询结果不冲突吧?

使用道具 举报

Rank: 1

精华
0
UID
266622
积分
40
帖子
29
主题
11
阅读权限
10
注册时间
2018-6-13
最后登录
2019-10-25
3#
发表于 2018-7-9 13:39:56 |只看该作者
嗯,是这样的,我在日志4.1查索引为0的目的就是为了看一下,未成交的委托单的最近一条委托单的委托价格,日志4.2是循环显示查询结果,结果发现里边的内容是所有委托单的记录,反倒没有了之前那一条的未成交记录,有的都是已成交记录的内容。不明白是怎么回事?按理说,循环的时候应该显示所有的未成交委托记录,也包括索引为0的那一条。这个一个工作区里开了多个超级图标有关系吗?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2018-7-9 13:41:43 |只看该作者
meterwave 发表于 2018-7-9 13:39
嗯,是这样的,我在日志4.1查索引为0的目的就是为了看一下,未成交的委托单的最近一条委托单的委托价格,日 ...

你的条件是 for i = 1 to nCount, 怎么会也包含了索引为0的那条?

使用道具 举报

Rank: 1

精华
0
UID
266622
积分
40
帖子
29
主题
11
阅读权限
10
注册时间
2018-6-13
最后登录
2019-10-25
5#
发表于 2018-7-9 14:44:44 |只看该作者
呵呵,解决了,是我对tb运用还不熟,我查询的是未成交委托单,但是在for循环内用的却是取成交委托单的价格函数,不好意思,给小米版主添麻烦了。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-16 02:51

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部