路路发智能交易研发中心

 找回密码
 立即注册
查看: 2094|回复: 0

TB编程教程 变量回溯

[复制链接]

管理员

MT4软件工程师

Rank: 9Rank: 9Rank: 9

积分
6521
帖子
2771
主题
2761
QQ
发表于 2015-5-9 17:51:53 | 显示全部楼层 |阅读模式
TB编程教程 变量回溯
TradeBlazer公式共支持九种数据类型,但对于变量定义,引用类型是无效的,剩余六种数据类型中分为简单和序列两大类,简单类型变量是单个的值,不能对其进行回溯,序列类型变量是和Bar长度一致的数据排列,我们可以通过回溯来获取当前Bar以前的任意值。
要使用变量回溯,需要在变量的后面,使用中括号"[nOffset]",nOffset是要回溯引用的Bar相对于当前Bar的偏移值,该值必须大于等于0,当nOffset = 0时,即为获取当前Bar的变量值。
例如,我们定义如下公式应用:
  1. Vars
  2.     NumericSeries MyVal;
  3. Begin
  4.     MyVal = Average(Close,10);
  5.     PlotNumeric("MyVal",MyVal[3]);
  6. 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的值。



外汇智能交易,成就财富梦想!
回复

使用道具 举报

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

本版积分规则


MT4编程培训|EA定制开发|QQ在线咨询|路路发智能交易研发中心

GMT+8, 2025-1-7 05:10 , Processed in 0.156714 second(s), 26 queries .

© 2009-2022 520EA.com EA668.com

快速回复 返回顶部 返回列表