路路发智能交易研发中心

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

TB编程教程 如何编写用户函数

[复制链接]

管理员

MT4软件工程师

Rank: 9Rank: 9Rank: 9

积分
6521
帖子
2771
主题
2761
QQ
发表于 2015-5-9 19:02:46 | 显示全部楼层 |阅读模式
TB编程教程 如何编写用户函数
一个用户函数由三部分组成,参数定义,变量定义,脚本正文。
语法如下:
  1. Params
  2.     参数定义语句;
  3. Vars
  4.     变量定义语句;
  5. Begin
  6.     脚本正文;
  7. End
复制代码

参数定义和变量定义部分在前面已经详细叙述过,脚本的正文部分将输入参数进行计算,得出函数的返回值,并通过Return返回。
例如,我们以Average为例,Average计算Price在Length周期内的平均值。Average调用Summation求和,并计算平均值,然后返回结果,脚本如下:
  1. Params
  2.     NumericSeries Price(1);
  3.     Numeric Length(10);
  4. Vars
  5.     Numeric AvgValue;
  6. Begin
  7.     AvgValue = Summation(Price, Length) / Length;       
  8.     Return AvgValue;
  9. End
复制代码

对于使用多个输出的情况,即使用引用参数的情况,我们以求N周期最大值为例进行描述,假定我们需要编写一个用户函数,该函数需要求出序列变量Price在最近Length周期内的最大值,并且要求出最大值出现的Bar和当前Bar的偏移值。脚本如下:
  1. Params
  2.     NumericSeries Price(1);
  3.     Numeric Length(10);
  4.     NumericRef HighestBar;
  5. Vars
  6.     Numeric MyVal;
  7.     Numeric MyBar;
  8.     Numeric i;
  9. Begin
  10.     MyVal = Price;
  11.     MyBar = 0;
  12.     For i = 1 to Length - 1
  13.     {
  14.             If ( Price[i] > MyVal)
  15.             {
  16.                     MyVal = Price[i];
  17.                     MyBar = i;
  18.             }
  19.     }
  20.     HighestBar = MyBar;
  21.     Return MyVal;
  22. End
复制代码




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

使用道具 举报

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

本版积分规则


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

GMT+8, 2024-9-19 09:51 , Processed in 0.165711 second(s), 26 queries .

© 2009-2022 520EA.com EA668.com

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