设为首页收藏本站

 找回密码
 注册
楼主: laofu602
打印 上一主题 下一主题

如何复核A函数取帐户持仓是否正确 [复制链接]

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
11#
发表于 2016-8-1 20:22:35 |显示全部楼层
小米 发表于 2016-8-1 10:33
我不确实这些信息是存放在哪个文件位置的,据我所知,也并非在某个文件下,而是多个文件协作下的。
是写 ...

嗯,关于这个问题,是我考虑的太多了,主要一直想着要把信息保存在硬盘上,这样才可靠的思维,所以才有那么多问题想搞明白。
其实你前面说的对,持仓信息出错的概率是很小的,那么在系统开始运行的时候做个记录,随后与实时帐户信息进行比较,预防一下基本上不会出现的错误,就已经足够了,没必要花费大量的资源在这个上面,搞得太复杂太完善。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
12#
发表于 2016-8-1 20:28:13 |显示全部楼层
本帖最后由 laofu602 于 2016-8-1 20:34 编辑
TB20140603 发表于 2016-8-1 08:47
建议楼主用 SetTBProfileString2File 和 GetTBProfileString2File 函数记录数据到TB以外的目录,这样如果TB ...


今天专门中途把电脑关机重启一次,再次启动软件后,数据库的数据仍然存在,证明肯定是存在了硬盘某个文件中了,至于TB存在什么地方我们大可不必追根究底,能为我所用就可以了。

至于系统崩溃和解决本贴的问题其实没什么关系,本贴所要解决的是偶尔出现的帐户持仓数据出错的问题,很可能下个Tick就恢复正常了。只要保证在出现这种错误的情况下,不要重复发单即可。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
13#
发表于 2016-8-1 22:46:05 |显示全部楼层
superwin 发表于 2016-8-1 21:05
TB自带的数据库在什么地方我倒是可以告诉你,因为我每隔一个星期就会拷贝一份出来备份,以防万一,虽然那 ...

非常感谢前辈的无私分享,以后肯定有用到这个文件的时候。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
14#
发表于 2016-9-4 20:44:35 |显示全部楼层
本帖最后由 laofu602 于 2016-9-4 20:51 编辑

在程序中加入附后一段监控代码,经过近一个月的实盘运行,确认TB的实时持仓数据,在帐户有持仓的时候,偶尔会出现0持仓的错误,有时2~3天,有时4~5天,会出现一次,品种、时间都是随机的。
特此反馈给米版主,看看开发人员能否找找问题所在。

NumValue =Value(GetTBProfileString("TotalPosition_Day",Symbol));
                        if (NumValue<>A_TotalPosition)
                        {
                                Alert("账户持仓本地记录与柜台数据不符,检查原因!");
                                FileAppend("D:\\Average_Test.txt",Text(100*CurrentTime)+"  "+Symbol+
                                        "  账户持仓本地记录与柜台数据不符,A_TotalPosition_Day  = "+Text(A_TotalPosition)+"  本地记录 = "+Text(NumValue)  );
                                Return;
                        }


注:数据库的值每天开盘前会重新刷新一下,盘中若有买卖也会实时更新。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
15#
发表于 2016-9-4 22:04:47 |显示全部楼层
本帖最后由 laofu602 于 2016-9-4 22:07 编辑
superwin 发表于 2016-9-4 21:43
这个问题我怀疑跟期货公司柜台返回的数据有关,但是这个问题自己也很好解决,加一两个TICK验证即可,因为 ...


我连接的是CTP柜台,出现错误的时刻都不是开盘后,上午,下午,夜盘都有。

我没有用其它验证手段,只在最后用RETURN终止后续代码运行,只要下个Tick持仓数据正确,即会跳过这一段代码。现在观察到的情况是偶尔有一个Tick出错,随后就正常了。

如果不加监控,就会出现本贴开头出现的情况,所以监控是必须的,提醒各位网友注意。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-20 04:18

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部