设为首页收藏本站

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

好恐怖,实盘帐户TB非交易时间乱发委托单 [复制链接]

Rank: 9Rank: 9Rank: 9

精华
3
UID
2459
积分
14113
帖子
179
主题
19
阅读权限
150
注册时间
2008-9-26
最后登录
2015-12-3
跳转到指定楼层
1#
发表于 2009-9-12 16:54:05 |只看该作者 |倒序浏览
好恐怖,我的实盘帐户TB非交易时间乱发委托单,见消息中心截图


2009-09-11 13:10的时候,行情服务器断开重新连接之后出现发送委托单的情况,我的交易系统中是用A_SendOrder发送委托单的,但是上午的行情数据并不满足触发发送委托单的条件,怎么可能在非交易时间发单?
以前一直没出现这种情况
(由于我的系统中运用了全局变量来控制防止重复发委托的,每次A_SendOrder发送委托单后会改变全局变量值,这一次TB非交易时间发委托单改变了全局变量值,造成当天由按正常信号的盈利五百多块变成亏损109块)
这种情况,不知大家有没有遇到,TB管理员如何解决?
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2009-9-12 17:04:22 |只看该作者
请注意全局变量的初始化问题:
断线重连之后会重头计算,可能导致全局变量被重新初始化。

解决方法:只有全局变量是无效值的时候才对其赋初值。
  1. MyGlobalVar1 = GetGlobalVar(0);
  2. If(BarStatus==0)
  3. {
  4.     If(MyGlobalVar1 == InvalidNumeric)
  5.     {
  6.          MyGlobalVar1  = 0;
  7.          SetGlobalVar(0,MyGlobalVar1  );
  8.     }
  9. }
  10. .....
复制代码

使用道具 举报

Rank: 9Rank: 9Rank: 9

精华
3
UID
2459
积分
14113
帖子
179
主题
19
阅读权限
150
注册时间
2008-9-26
最后登录
2015-12-3
3#
发表于 2009-9-12 17:16:53 |只看该作者
原帖由 nopain 于 2009-9-12 17:04 发表
请注意全局变量的初始化问题:
断线重连之后会重头计算,可能导致全局变量被重新初始化。

解决方法:只有全局变量是无效值的时候才对其赋初值。
MyGlobalVar1 = GetGlobalVar(0);
If(BarStatus==0)
{
    If(MyGlobalVar1 ...

我的是这样的
If (GetGlobalVar(0)==InvalidNumeric)//初始化
    {
      FileAppend(filename,"自动交易开始运行,"+"时间:"+DateTimeToString (SystemDateTime()));
   SetGlobalVar(0,0);
    }
系统中有用到这种初始化方式,但我遇到的问题并不是“断线重连之后会重头计算,可能导致全局变量被重新初始化”这个原因,因为我情况是TB处于一直开启状态,断线重连之后并没有导致全局变量被重新初始化,只有在重新启动TB或关闭工作区重起开启工作区是才会被初始化,这从我的FileAppend(filename,"自动交易开始运行,"+"时间:"+DateTimeToString (SystemDateTime()));执行状态中可以看出,因为断线重连之后并没有输出文本“自动交易开始运行.....”

使用道具 举报

Rank: 9Rank: 9Rank: 9

精华
3
UID
2459
积分
14113
帖子
179
主题
19
阅读权限
150
注册时间
2008-9-26
最后登录
2015-12-3
4#
发表于 2009-9-12 18:52:03 |只看该作者
目前,我只有采取笨笨的办法,交易时间限制,只在交易时间允许执行交易系统代码
If (BarStatus==2 And ((CurrentTime>=0.0900 And CurrentTime<=0.1015) Or (CurrentTime>=0.1030 And CurrentTime<=0.1130) Or (CurrentTime>=0.1330 And CurrentTime<=0.1410) Or (CurrentTime>=0.1420 And CurrentTime<=0.1500)))
{
..............
}
(上面时间限制针对上期所交易时间)

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5212
积分
1297
帖子
73
主题
7
阅读权限
60
注册时间
2009-8-18
最后登录
2009-9-14
5#
发表于 2009-9-12 19:10:03 |只看该作者
想想当时肯定是手忙脚乱的吧。
当天交易最后结果是否受此事件影响?

使用道具 举报

Rank: 9Rank: 9Rank: 9

精华
3
UID
2459
积分
14113
帖子
179
主题
19
阅读权限
150
注册时间
2008-9-26
最后登录
2015-12-3
6#
发表于 2009-9-12 21:33:01 |只看该作者
原帖由 ccms 于 2009-9-12 19:10 发表
想想当时肯定是手忙脚乱的吧。
当天交易最后结果是否受此事件影响?


1、由于是全自动交易,盘后才查看交易结果,所以不会有出现手忙脚乱的情况
2、当天交易结果受到影响,正常信号当天盈利479元,实际今天亏109元
还好是日内交易,一天的结果对整体交易不会有多大影响

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5212
积分
1297
帖子
73
主题
7
阅读权限
60
注册时间
2009-8-18
最后登录
2009-9-14
7#
发表于 2009-9-12 22:19:44 |只看该作者
原帖由 hyjok 于 2009-9-12 09:33 PM 发表


1、由于是全自动交易,盘后才查看交易结果,所以不会有出现手忙脚乱的情况
2、当天交易结果受到影响,正常信号当天盈利479元,实际今天亏109元
还好是日内交易,一天的结果对整体交易不会有多大影响 ...


呵呵。还好,亏得不多。
俺知道了,你就是海洋上的那个裸单的吧


老兄,在这同步贴吧

使用道具 举报

Rank: 9Rank: 9Rank: 9

精华
3
UID
2459
积分
14113
帖子
179
主题
19
阅读权限
150
注册时间
2008-9-26
最后登录
2015-12-3
8#
发表于 2009-9-12 22:28:16 |只看该作者
原帖由 ccms 于 2009-9-12 22:19 发表


呵呵。还好,亏得不多。
俺知道了,你就是海洋上的那个裸单的吧


老兄,在这同步贴吧


见笑了,俺海洋的ID就是yonkim

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
5212
积分
1297
帖子
73
主题
7
阅读权限
60
注册时间
2009-8-18
最后登录
2009-9-14
9#
发表于 2009-9-12 22:41:11 |只看该作者
  呵呵,老兄做得很不错啊。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
8
UID
2300
积分
66650
帖子
1956
主题
168
阅读权限
200
注册时间
2008-9-8
最后登录
2009-11-11
10#
发表于 2009-9-12 22:45:24 |只看该作者
还有一种方法是采用“动作触发”,而不是“状态触发”,看你的交易方式是如何实现的了

使用道具 举报

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

bottom

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

GMT+8, 2024-5-4 08:17

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部