开拓者期货期权程序化系统交易论坛

标题: 实盘无法平仓,A_totalposition数据不正确,急 [打印本页]

作者: Axel_Maull    时间: 2009-9-23 22:08:14     标题: 实盘无法平仓,A_totalposition数据不正确,急

系统是一直开启自动交易,无人值守

今天M1005该平多仓后开空仓,结果多仓未平空仓开了,察看交易记录发现上午所有品种原有持仓舱位
- 通过A_Totalposition调用来的数据都为0(应该有一手多仓,另外TA有3手持仓也显示为零)
- 因此没有触发平多仓动作
- 11:29分开空信号出现直接开了两手空(此时开始A_Totalposition显示为-1,一手多,两手空,此时TA显示也正确了)

我的系统在实盘是通过A_Totalposition来判断当时持仓情况的。此Bug绝对是致命打击,亟盼更正或绕过的方法。

我实盘调用舱位的函数如下

        if (barstatus==2) /用于实盘交易
        {
                Price = Q_Last;
                Position = A_TotalPosition();
        }
        Else / 用于盘后或测试
        {
                Price = C;
                Position = MarketPosition;
        }
作者: Axel_Maull    时间: 2009-9-23 22:12:05

盼Nopain版和Blazer版帮助,现在我很Pain
作者: nopain    时间: 2009-9-24 08:55:49

1、您是写日志文件,发现是A_Totalposition=0吗?
2、对于您的公式写法,我建议只在第一次初始化时使用A_Totalposition,然后使用全局变量记录。
作者: Axel_Maull    时间: 2009-9-24 21:27:36

1, 是,通过程序段输出文本日志记录调试的
2、我的触发信号当中有对当时A_Totalposition的核对(我需要以当时实际账户持仓为准,且没有未执行Order的情况下发出信号)
3、有没有A_XXXX函数调用当前持仓是第几次加仓

交易系统24小时一直处于自动交易不需要下单确认状态

今日情况M1005昨日是一手多两手空,今天在11点半左右手动平了一手多。回家后检查日志发现在手动平仓动作以后A_Totalposition开始反映实际持仓一直到收盘没有过变化一直是-2,11点之前一直是显示0(应该是-1)

感觉是否只有在有过帐户买卖后才会更新A_Totalposition的数值而并不是每次调用都读取实际账户情况

TA和Cu开盘也不正确,CU在9:15有操作后正确了,而RU没有任何操作却是正确的。M和TA用的是实盘账号,CU和RU模拟账号,急。
作者: Axel_Maull    时间: 2009-9-24 21:48:46

更正,不能说RU没有任何操作却是正确的,模拟账户CU在9:15有过操作,我是没15分钟记录一次,RU正确可能与CU访问过模拟账户有关,二次是实盘账户还没有过操作。

再次核对发现实盘账户在M有过操作后,TA的持仓也恢复正常了。越来越感觉我的猜测是对的。A_totalposition不是实时获取,尤其是隔夜后开盘对被恢复成0了。。。可能是为了避免频繁查询只有买卖动作后或重新登陆才更新账户持仓。
作者: maodong    时间: 2009-9-25 09:57:51

关注,帮顶。。。。。。。。。。。。。。。
作者: nopain    时间: 2009-9-25 15:28:46

您手动通过金仕达平仓的?
这样系统不会更新持仓的,除非有交易动作,才会同步。

你如果通过TB平仓就没有这个问题。
作者: Axel_Maull    时间: 2009-9-28 14:57:36

是通过TB平仓的。我再观察几天。

我感觉系统如果是24小时不间断运行,第二天开盘没有交易操作前A_totalposition的数据都是归零的没有在开盘前同步等动作,会造成我盘中对仓位的判断有误(已有持仓而按照空仓逻辑操作)。
作者: nopain    时间: 2009-9-28 15:04:04

不能24小时连续工作,每天早上需要在柜台日初之后重新登陆,才能确保不出问题。
作者: Axel_Maull    时间: 2009-9-28 15:04:36

有交易操作后数据是同步的,第二天开盘到第二天第一次交易操作前持仓数据不同步。
作者: Axel_Maull    时间: 2009-9-28 15:06:02

“在柜台日初之后”是什么时候? 能否系统设定开盘前自动同步一次持仓数据,毕竟无人值守才是系统交易的终极目标阿
作者: 幺林    时间: 2009-9-28 15:43:28     标题: 回复 9# nopain 的帖子

不重新登录会有什么影响? 或者是, 重新登录时会做哪些工作?
作者: nopain    时间: 2009-9-28 16:59:00     标题: 回复 11# Axel_Maull 的帖子

这个东西说不清楚,因为期货公司是人工操作,正常情况下8:30以后应该是正常了。

等新版本我们会做一个定时初始化的功能,就可以实现24小时连续作战了
作者: Axel_Maull    时间: 2009-9-28 17:40:36

强烈期待TB完善全自动无人值守系统。。。暂时自己克服,希望不要太久
作者: Axel_Maull    时间: 2009-10-12 21:15:23

3.2.5升级有没有包括Nopain版提到的定时初始化功能?
作者: efrog    时间: 2009-10-20 17:34:39

原帖由 nopain 于 2009-9-24 08:55 发表
1、您是写日志文件,发现是A_Totalposition=0吗?
2、对于您的公式写法,我建议只在第一次初始化时使用A_Totalposition,然后使用全局变量记录。

为什么“建议第一次初始化时使用A_Totalposition,然后使用全局变量记录”
实际上,发出的交易指令不一定能成交,因此,实际的持仓量还是要用A_Totalposition来查询的。
我是用一个全局变量gv0来记录持仓量,发出指令更新该全局变量;然后再用一个全局变量来计数Tick,每10个Tick用A_Totalposition来更新Gv0。
但是,测试下来A_Totalposition还是有问题。
作者: 幺林    时间: 2009-10-24 14:30:17     标题: 回复 9# nopain 的帖子

- 希望澄清:

A. 不重新登录会有什么影响? 或者是, 重新登录时会做哪些工作?
B. 目前版本有没有改进?
C. 如果还没有, 有没有改进计划?
作者: 幺林    时间: 2009-10-26 13:07:57

希望TB的人出来澄清一下。  先谢谢了。
作者: 小米    时间: 2009-10-26 14:32:50

A:不重登录,日初的信息在本地机上得不更新,就会造成数据的混乱,影响自动交易。
B:此版本还没有改进。
C:有此计划
作者: 幺林    时间: 2009-10-26 15:05:28

A:不重登录,日初的信息在本地机上得不更新: 是否指当前权益?
作者: lh948    时间: 2009-10-26 16:01:42

不重启启动会造成数据混乱
作者: Axel_Maull    时间: 2009-11-9 21:12:12

确认,版主回答没错,所以现在每天早上7点左右你重启但重新登陆实盘帐户(中期),系统会把昨天的交易全部提示一遍,当然只是提示信息(交易时间都是当天的8:00),之后A_Totalposition就都没出过问题。

何时能自动执行此动作请告知,现在每天早上当回事要登陆有点傻。
作者: Axel_Maull    时间: 2010-3-16 23:33:55

今天早上没有手动重新登陆帐户,但看到开平仓信息( 即昨日的操作记录,时间都是今天16日上午8:00),以为加入了开盘前重登帐户的功能,所以没有手动做,结果一天下来系统持仓都不正确。

同时发现今天的行情数据一直停留在第一条线上(我半小时,一小时,15分钟都有图,都不更新)不知道何故,如何解决。

两个问题是否有联系?今天一天系统未按要求执行,正好碰到反转,损失非常大啊。。。亟盼解决和指点
作者: Axel_Maull    时间: 2010-3-17 20:31:19

为何一整天了管理员也不答复? 今天又碰到下午开盘数据晚到了两分半钟32分27秒才到,是什么问题?
作者: wealth_wolf    时间: 2010-7-21 20:28:17

搂主的问题不知解决没有?实盘是否还经常出问题?
作者: Axel_Maull    时间: 2010-8-27 22:42:43

回Wolf,每天早上登陆一次基本没有在出现这个问题。其实实盘半年左右以来大多数问题是自己程序的设计问题,和对系统理解出现的偏差。

现唯一还有一个问题,比如今天8.27回家发现一整天没有过行情数据,至少图表上没有任何更新,和昨天收盘一模一样,设置的程序信号当然也就全部没有触发。退出系统再登陆盘后数据又全部补上了,可惜交易机会就都错过了。

24小时不关机,始终打开全部自动交易,每天早上开盘后3分钟用AutoIT重新点击登陆一次,这几周来没有出过问题,今天这个现象以前也出现过虽然不多但搞不清原因总不踏实,是否服务器被打雷影响了?其他用户今天8.27情况如何?
作者: 骞骞    时间: 2010-8-28 19:41:01

支持一下,不知道咋用呢?
作者: 禁忌石    时间: 2011-8-15 15:43:28

没有一个好软件呀,tb问题多多,望早日改进!
A_TotalPosition有问题 marketposition更有问题。连个详解都没有,不知道当初写这些函数的作者是怎么想的。
作者: hc27080401    时间: 2012-2-8 21:51:22

回复 3# nopain

使用全局变量的一个问题是,如果交易没成功,而策略继续按成功的情况去执行?有没有什么方法避免这类情况

这里假设使用全局变量记录仓位。使用buy买了一手多单,并记录仓位到全局变量中,然后在下一个tick执行策略时,会根据前面记录的仓位去决定策略到底走哪一步,但假如上次的buy实际上并没有成交,岂不是要出问题?想到将全局变量记录的仓位与a_totalposition进行比较,如果不一样就不再执行策略,可如果使用交易助手在没成交时撤单,这样程序也无法知道撤单,这样全局变量的值不是就一直和a_totalposition的值不一样吗?又或者在撤单后重发单,但如果行情变化较快,这时买入不一定符合策略怎么办?
作者: alang2005    时间: 2018-12-27 19:17:18

不知道现在问题解决了没有?




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2