设为首页收藏本站

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

全局变量初始化问题 [复制链接]

Rank: 5Rank: 5

精华
0
UID
15246
积分
704
帖子
167
主题
74
阅读权限
60
注册时间
2010-8-17
最后登录
2021-9-5
跳转到指定楼层
1#
发表于 2013-8-6 10:00:47 |只看该作者 |倒序浏览
手册中说明全局变量初始值为无效值,在进行全局变量赋值后,如
if  (GetGlobalVar(0)==InvalidNumeric)SetGlobalVar(0,0);
FileAppend("C:\\Formula.log","0 = "+Text(GetGlobalVar(0)));
If(condition&&GetGlobalVar(0)==0)
{      
         NewPrice=Q_AskPrice+ShiftUnit*MinMove*PriceScale;
      A_SendOrder(Enum_Buy,Enum_Entry,Lots,NewPrice);
      SetGlobalVar(0,1);
}
次数全局变量0值为1,此时关闭软件后再重新打开,发现全局变量0仍然为1而不是0,所以出现即使符合条件也不开仓的问题。全局变量在什么情况下初始值为无效值,是否只有隔天打开软件才是无效值,当天的话是沿用第一次的赋值?

Rank: 5Rank: 5

精华
0
UID
15246
积分
704
帖子
167
主题
74
阅读权限
60
注册时间
2010-8-17
最后登录
2021-9-5
2#
发表于 2013-8-6 10:07:33 |只看该作者
电脑重启打开软件后,0号全局变量值依然为1。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15246
积分
704
帖子
167
主题
74
阅读权限
60
注册时间
2010-8-17
最后登录
2021-9-5
3#
发表于 2013-8-6 10:15:46 |只看该作者
换了品种,换了超级图表,0号全局变量值依然为1而不能回复到0

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
116920
积分
625
帖子
530
主题
64
阅读权限
60
注册时间
2013-3-15
最后登录
2014-5-7
4#
发表于 2013-8-6 11:32:57 |只看该作者
全局变量在你刷新后,或者重新启动后都会回复到原值。
你可能需要考虑重新赋值的问题,或者将数据写入数据库(参考:SetTBProfileString, GetTBProfileString函数)

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
116920
积分
625
帖子
530
主题
64
阅读权限
60
注册时间
2013-3-15
最后登录
2014-5-7
5#
发表于 2013-8-6 11:33:12 |只看该作者
全局变量在你刷新后,或者重新启动后都会回复到原值。
你可能需要考虑重新赋值的问题,或者将数据写入数据库(参考:SetTBProfileString, GetTBProfileString函数)

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15246
积分
704
帖子
167
主题
74
阅读权限
60
注册时间
2010-8-17
最后登录
2021-9-5
6#
发表于 2013-8-6 14:16:47 |只看该作者
问题是不回到原值,重启后,输出的变量仍然是之前符合条件时设定的SetGlobalVar(0,1);赋过值后的数1,而不是回到无效值或0值(这时条件已不再符合,不能执行,SetGlobalVar(0,1),但重启电脑或换超级图表后,FileAppend("C:\\Formula.log","0 = "+Text(GetGlobalVar(0)))输出,GetGlobalVar(0)仍然是1;

使用道具 举报

Rank: 1

精华
0
UID
139189
积分
2
帖子
2
主题
0
阅读权限
10
注册时间
2012-5-28
最后登录
2014-4-12
7#
发表于 2013-8-29 12:41:33 |只看该作者
按我理解,机制是这样的,重启后,会从新按k线从头到尾再依次计算一遍,这样只要符合条件:condition&&GetGlobalVar(0)==0,就会又将0号变量赋值为1,解决方法:如果是最后一根k线才做的判断,那就设个BarStatus==2的限制就行了

使用道具 举报

Rank: 1

精华
0
UID
139189
积分
2
帖子
2
主题
0
阅读权限
10
注册时间
2012-5-28
最后登录
2014-4-12
8#
发表于 2013-8-29 12:49:32 |只看该作者
如果是初始化的写法问题,可以参考下这个帖http://bbs.tb18.net/forum.php?mo ... 0%E5%8F%98%E9%87%8F

使用道具 举报

高级操盘手

「你若能信,在信之人,凡事皆能。」

Rank: 10Rank: 10Rank: 10

精华
0
UID
117005
积分
98549
帖子
1121
主题
14
阅读权限
200
注册时间
2013-3-18
最后登录
2022-10-29
9#
发表于 2013-9-3 16:28:57 |只看该作者
应该是计算前面的BAR后重新赋值了

使用道具 举报

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

bottom

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

GMT+8, 2024-5-19 05:01

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部