- 注册时间
- 2013-9-23
- 在线时间
- 519 小时
- 最后登录
- 2022-4-4
- 阅读权限
- 200
管理员
MT4软件工程师
- 积分
- 6521
- 帖子
- 2771
- 主题
- 2761
|
TB编程教程 变量回溯
TradeBlazer公式共支持九种数据类型,但对于变量定义,引用类型是无效的,剩余六种数据类型中分为简单和序列两大类,简单类型变量是单个的值,不能对其进行回溯,序列类型变量是和Bar长度一致的数据排列,我们可以通过回溯来获取当前Bar以前的任意值。
要使用变量回溯,需要在变量的后面,使用中括号"[nOffset]",nOffset是要回溯引用的Bar相对于当前Bar的偏移值,该值必须大于等于0,当nOffset = 0时,即为获取当前Bar的变量值。
例如,我们定义如下公式应用:
- Vars
- NumericSeries MyVal;
- Begin
- MyVal = Average(Close,10);
- PlotNumeric("MyVal",MyVal[3]);
- End
复制代码
以上公式定义数值型序列变量MyVal,MyVal等于收盘价的10个周期的平均值,然后将序列变量MyVal的前3个Bar数据输出。
以上公式MyVal的前9个数据因为需要计算的Bar数据不足,返回的值无效,从第10个Bar开始,MyVal获取到正确的平均值,但是我们需要输出的数据是MyVal[3],即前3个Bar的数据,因此,直到第13个Bar,有效的数据才会被输出。以上公式的13是该公式需要的最少引用周期数,如果将输出信息画到超级图表中,前12个Bar是没有图形显示的。
当nOffset>CurrentBar时,对于变量的回溯发生越界,这种情况下,将返回该变量的第一个Bar的值。
|
|