文章目录 三、TB用户函数 用户函数使用规则编写函数的调用
三、TB用户函数 用户函数
用户函数是公式种的一类,他的结构遵循一般公式的结构,分为公式参数段、公式变量段和公式脚本段;但具体的声明和编写要求略有不同,参数部分支持九种数据类型,脚本部分必须要与Return语句,返回函数计算的值。
用户函数在调用时需要将返回值赋予类型形同的变量。
三种类型:数值、xhdzh、字符串
用户函数由三部分构成:参数声明、变量声明、脚本正文
例子:编写Average函数,计算Price在Length周期内的平均值
编写步骤:
1.新建用户函数,定义函数名称为Average1
打开TB公式,单击“新建用户函数”
2、输入代码
声明参数:Price、Length
声明变量:avgvalue保存函数的计算结果,类型为Numeric
编写具体代码:调用Summation求和,并计算平均值
3、编译保存
ParamsNumericSeries Price(1);Numeric Length(10);VarsNumeric AvgValue;BeginAvgValue=Summation(Price,Length)/Length;Return AvgValue;End注:如果函数有多个返回值,不可使用多条Return,可以将其他需要返回值的变量定义为引用型参数,即***Ref,这种类型的参数变量可以将其在函数内部中的改变直接传递出去。
例:
变量名=函数名(<参数列表>)2、说明
(1)用户函数成功创建之后(编译/保存成功),可以在其他的用户函数、公式应用中调用。
(2)函数调用时,函数如果有参数一定要加(),参数列表中的参数个数、类型要一一匹配;如果没有参数,()可以省略。
(3)注意保持参数类型的匹配,即参数的声明类型需要和调用时传入参数的数据匹配。具体的对应关系是:
(4)变量的定义数据类型与函数的的返回值类型一致;
(5)其他公式、函数中调用函数时,可以将获得返回值的变量的数据类型定义为同种类型的扩展类型,例如:函数返回值为Numeric,可以赋给公式中类型为NumericSeries或NumericRef的变量。
例:在公式中调用Average1函数,求最近10个周期的close的平均值。