superfafa 发表于 2018-7-16 14:04:56

回溯序列变量的bug

由于全局变量只有500个,不够用,所以想到已经不会再改变的值保存到序列变量里去。但没想到序列变量有BUG。写了个测试的代码如下:
Params

Vars       
        NumericSeries TestRoom(0);
begin
        If(CurrentBar == 0)
                TestRoom = 2018;
        Else// If(CurrentBar < 4096)
                TestRoom = CurrentBar;
       
        FileAppend("C:\\TestResult.txt","First room value:" + Text(TestRoom) + "-CurrentBar:" + Text(CurrentBar));
End
打印的值如下:到4096根BAR的时候,回溯的值就变了。为什么会这样?是不是序列变量是有上限的吗?能不能加大全局变量的数量?
First room value:2018-CurrentBar:0
First room value:2018-CurrentBar:1
First room value:2018-CurrentBar:2
First room value:2018-CurrentBar:3
First room value:2018-CurrentBar:4
First room value:2018-CurrentBar:5
First room value:2018-CurrentBar:6
First room value:2018-CurrentBar:7
...

First room value:2018-CurrentBar:4089
First room value:2018-CurrentBar:4090
First room value:2018-CurrentBar:4091
First room value:2018-CurrentBar:4092
First room value:2018-CurrentBar:4093
First room value:2018-CurrentBar:4094
First room value:2018-CurrentBar:4095
First room value:4096-CurrentBar:4096
First room value:4096-CurrentBar:4097
First room value:4096-CurrentBar:4098
First room value:4096-CurrentBar:4099
First room value:4096-CurrentBar:4100
First room value:4096-CurrentBar:4101
First room value:4096-CurrentBar:4102
First room value:4096-CurrentBar:4103
First room value:4096-CurrentBar:4104
First room value:4096-CurrentBar:4105
First room value:4096-CurrentBar:4106
...
First room value:4096-CurrentBar:8173
First room value:4096-CurrentBar:8174
First room value:4096-CurrentBar:8175
...
First room value:8192-CurrentBar:8194
First room value:8192-CurrentBar:8195
First room value:8192-CurrentBar:8196
First room value:8192-CurrentBar:8197
...
First room value:8192-CurrentBar:8565
First room value:8192-CurrentBar:8565

superfafa 发表于 2018-7-16 14:08:43

另外:开发部能不能增加能够改变过去值的序列变量,比如test_val = 27;很有必要呢。

superfafa 发表于 2018-7-16 17:27:06

没人回答吗?是不是我没表达清楚。序列变量的值到了4096根BAR之后就自己改变了。

hlp0410 发表于 2018-7-17 09:30:52

superfafa 发表于 2018-7-16 17:27 static/image/common/back.gif
没人回答吗?是不是我没表达清楚。序列变量的值到了4096根BAR之后就自己改变了。 ...

用你的代码试了下,并没有像你说的一样有什么异常,建议您新建图表后再重新加载公式试试
序列变量回溯根数本身并无限制,全局变量目前个数也是既定的500
序列变量本身具有传递性,改变过去的值是什么意思呢?

superfafa 发表于 2018-7-17 17:35:27

刚刚我又新建了一个试了一下,还是这样的,有BUG。用的是TB极速版,请问您用的是什么版本?
改变过去的值是指,我用一个序列变量TestNumericSeries表示当前这根BAR是不是一个分型,但是某些情况下根据当前的条件是无法判断的,需要出现后面几根BAR才能判断,所以需要前面那个序列变量赋值TestNumericSeries = M。但目前没有这种变量类型。所以需要用到全局变量,但全局变量又太少了。

superfafa 发表于 2018-7-19 13:48:24

两天不见有答复,自己更新一下,我下了个旗舰版试了一下,确实没有问题,但在极速版,这个BUG确实是有的。极速版说是运行速度是几个版本中最快的,所以我上手就用这个版本了。不知你们会不会再维护这个版本了?

hlp0410 发表于 2018-7-19 16:42:06

superfafa 发表于 2018-7-19 13:48 static/image/common/back.gif
两天不见有答复,自己更新一下,我下了个旗舰版试了一下,确实没有问题,但在极速版,这个BUG确实是有的。 ...

推荐您使用旗舰版,极速版已经停更很久了,不会再做更新了

superfafa 发表于 2018-7-19 18:06:47

很奇怪,我在旗舰版上重新拷了跟极速版上一模一样的应用和函数后,编译也没有错误,但在旗舰版却没有显示任何我程序画的连线和打印字符。极速版上是有的。求助。。。能不能提供远程操作帮助?

hlp0410 发表于 2018-7-20 09:55:36

superfafa 发表于 2018-7-19 18:06 static/image/common/back.gif
很奇怪,我在旗舰版上重新拷了跟极速版上一模一样的应用和函数后,编译也没有错误,但在旗舰版却没有显示任 ...


http://www.tb18.net/site/contact.html

可以通过在线客服,找到员工6联系我这边
页: [1]
查看完整版本: 回溯序列变量的bug