TB编程教程 用户函数
用户函数是可以通过名称进行调用的一组语句的集合,用户函数返回一个值,这个值可以是Numeric,Bool,String三种类型中的任何一种。您可以在需要的任何地方调用用户函数来完成相应的功能。 例如,在TradeBlazer公式中经常使用的一个用户函数Summation,Summation通过输入Price序列数据,以及Length统计周期数,计算Price最近Length周期的和,每次用户需要进行求和计算的时候,都可以调用Summation代替冗长的求和代码,输入参数并获取返回值。
Summation是TradeBlazer公式中一个比较简单的用户函数,TradeBlazer公式提供了上百个内建用户函数,当然,您也可以编写您自己的用户函数。
用户函数通过参数传递输入数据,通过引用参数或返回值传递输出数据,以上例子中的Summation函数,在被调用的时候格式如下:
- Value1 = Summation(Close,10);
复制代码
在调用Summation的时候,需要根据定义时候的参数列表和顺序,输入相应的输入参数,有默认值的参数可以省略输入参数。
用户函数在交易开拓者中使用有如下规则:
- 支持九种类型的参数定义,支持指定参数默认值;
- 支持使用引用参数,可通过引用参数返回多个数据;
- 支持六种类型的变量定义,支持指定变量的默认值;
- 可以访问Data0-Data49个数据源的Bar数据;
- 可以访问行情数据、属性数据;
- 必须通过Return返回数据,返回数据类型为三种基本类型之一;
- 脚本中的返回数据类型必须和属性界面设置中一致;
- 用户函数之间可以相互调用,用户函数自身也可以递归调用;
- 用户函数可以调用所有的系统函数,包括交易动作和技术分析输出。
|