路路发智能交易研发中心

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

TB编程教程 函数回溯

[复制链接]

管理员

MT4软件工程师

Rank: 9Rank: 9Rank: 9

积分
6521
帖子
2771
主题
2761
QQ
发表于 2015-5-9 17:52:33 | 显示全部楼层 |阅读模式
TB编程教程 函数回溯
函数回溯分为系统函数的回溯和用户函数的回溯。
系统函数中回溯的使用主要是针对Bar数据。比如我们需要获取上2个Bar的收盘价,脚本为Close[2];又或者我们需要获取10个Bar前的成交量,脚本为Vol[10]。对于Bar数据的回溯是系统函数中最常用的,虽然也可以对行情数据和交易数据等进行回溯,但是大部分并无实质的意义,返回的结果和不回溯是一样的,因此,不推荐如此使用。
要对系统函数回溯引用,我们可以通过在函数名称后面添加"[nOffset]"获取其回溯值,nOffset是要回溯引用的Bar相对于当前Bar的偏移值,该值必须大于等于0,当nOffset = 0时,即为获取当前Bar的参数值。
带有参数的函数回溯,需要将"[nOffset]"放到参数之后,另外,无参数和使用默认参数的情况下,函数调用的括号可以省略。例如:Close[2]等同于Close()[2]。
用户函数的回溯和系统函数原理基本一致,但考虑到系统的执行速度和效率等因素,目前,TradeBlazer公式不支持对用户函数的回溯,如果您想要获取用户函数的回溯值,建议您将函数返回值赋值给一个序列变量,通过对序列变量的回溯来达到相同的目的。
如下面的脚本所示,取Close的10个Bar平均值的4个周期前的回溯值:
  1. Vars
  2.     NumericSeries AvgValue;
  3.     Numeric       TmpValue;
  4. Begin   
  5.     AvgValue = Average(Close,10);
  6.     TmpValue = AvgValue[4];
  7.     ...
  8. End
复制代码




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

使用道具 举报

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

本版积分规则


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

GMT+8, 2025-1-7 05:28 , Processed in 0.145179 second(s), 24 queries .

© 2009-2022 520EA.com EA668.com

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