设为首页收藏本站

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

网络断开并重联后,全局变量重置的问题?(请nopain释疑) [复制链接]

初级大户

公安部御准--超级警察 ...

Rank: 5Rank: 5

精华
0
UID
690
积分
1069
帖子
188
主题
59
阅读权限
60
注册时间
2007-11-6
最后登录
2023-1-26
跳转到指定楼层
1#
发表于 2011-3-8 18:02:07 |只看该作者 |倒序浏览
个人认为:全局变量和其它变量一样,是在TB运行时,存储在计算机内存上的数值。
因此,在程序退出后,内存便丢失,全局变量所保存的值也不复存在。
所以,对于隔日引用的数值,需要保存在本地的TBPROFILE数据库中。。。。
但对于,只要求在交易当天(跨BAR引用)使用的数值,用全局变量就可以。

但是论坛这位新管理员lh×××说,网络中断后重联也会引起全局变量的重置,
本人百思不得其解。。。。在这个过程中,TB并未退出运行,因此内存中所保留的数值不会丢失。。。

到底是怎么回事?还是请道行高深的nopain兄证实一下。。。。
有过类似疑问的兄弟,也欢迎拍砖

Rank: 4

精华
0
UID
26732
积分
381
帖子
55
主题
30
阅读权限
50
注册时间
2011-2-25
最后登录
2012-5-7
2#
发表于 2011-3-11 16:20:47 |只看该作者
个人认为应该不会丢失,否则以TB现在这个断线的频率,全局变量根本没法用
只有在关闭图表之后才会丢

当然,还请专家给出权威答案

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
3#
发表于 2011-3-11 17:40:58 |只看该作者
断线重连后,全局变量不会自动重置~


断线重连后,会重新获取数据,重算所有的Bar。
很多人的代码会在CurrentBar==0的时候进行全局变量的初始化。
如果这个时候被重新初始化了就会出问题的。

建议只在全局变量的值是无效值,并且CurrentBar==0的时候进行初始化操作。
例子如下:
MyVar0 = GetGlobarVar(0);
if(CurrentBar == 0 && MyVar0==InvalidNumeric)
{
    MyVar0    = 0; // 这里的0是你想要初始化的值
    SetGlobarVar(0,MyVar0);
}

...

使用道具 举报

Rank: 4

精华
0
UID
25787
积分
357
帖子
51
主题
15
阅读权限
50
注册时间
2011-2-14
最后登录
2013-2-18
4#
发表于 2011-3-12 20:57:59 |只看该作者
学习了。

使用道具 举报

Rank: 2

精华
0
UID
27531
积分
60
帖子
14
主题
2
阅读权限
30
注册时间
2011-3-4
最后登录
2018-8-11
5#
发表于 2011-3-12 21:46:50 |只看该作者
回复 3# nopain
请问,断链重联之后,是把超级图表中全部bar都算一遍吗?这样会不会比较浪费cpu?如果是这样,看来实时交易的时候只能把bar的样本数量设少些了吧?

使用道具 举报

Rank: 4

精华
0
UID
26732
积分
381
帖子
55
主题
30
阅读权限
50
注册时间
2011-2-25
最后登录
2012-5-7
6#
发表于 2011-3-14 17:08:41 |只看该作者
回复 3# nopain


试了一下,即使是第一次运行程序,在bar(0)返回的全局变量值也不是无效值啊,而是0
不知道怎么回事

使用道具 举报

Rank: 4

精华
0
UID
26732
积分
381
帖子
55
主题
30
阅读权限
50
注册时间
2011-2-25
最后登录
2012-5-7
7#
发表于 2011-3-14 17:16:19 |只看该作者
回复 6# shanjian

又测试了一下,如果返回一个已经根本没用过的全局变量,倒是N/A

看起来是这个全局变量(例如第0个),如果有任何程序用过,那么即时再重新启动一个超级图标,都不太可能是返回N/A

使用道具 举报

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

bottom

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

GMT+8, 2024-5-2 22:49

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部