- 精华
- 0
- 在线时间
- 255 小时
- UID
- 377
- 积分
- 1827
- 帖子
- 222
- 阅读权限
- 70
- 注册时间
- 2007-9-19
- 最后登录
- 2021-12-9
- 精华
- 0
- UID
- 377
- 积分
- 1827
- 帖子
- 222
- 主题
- 29
- 阅读权限
- 70
- 注册时间
- 2007-9-19
- 最后登录
- 2021-12-9
|
是这样的
要理解全局变量,要先知道TB的运行程序的方式。 不然不太容易解释清楚 。
以一个超级图表,300根K线。为例。
在这300个BAR中,
公式运行,是从第一根K线,开始,把公式代码,从第一行,到最后一行,算一遍。
当第一BAR算完,得出相应的结果。有输出指令则输出,有交易指令则下单。
然后,运行下一根。也是这样的方式。
但是,第一根刚才运行的结果,是不会保留到第二根的。第二根时,所有的变量值会全部重算。
如果,你要把前面BAR运行结果,保存到后面。就要用全局变量。
除了全局变量。
TB还提供另一种方式,使用以前BAR的运算结果。 就是序列。 则需要定义序列变量。然后进行回溯引用以前BAR的运行结果。 然而,回溯引用,不如用全局变量来的效率。那对电脑资源消耗更大。另外,如果以回溯引用,那得要求出回溯的索引值。很是麻烦。
还是用全局变更省事的。
全局变量 只能设最多50个不同的。 每一个都可以反复赋值,但赋予新值后,之前的值则被清除。
全局变量 就是不会随每一BAR都重算的变量。 这么说,比如容易理解。
理解了这点,你那二个疑问,就好办了。
[ 本帖最后由 jvya 于 2008-1-13 13:09 编辑 ] |
-
总评分: 威望 + 8
查看全部评分
|