全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
***Ref类型,这种类型的参数变量可以将其在函数内部中的改变直接传递出去,这个如何传递高手能不能举个例子???
sm0576 分享到
2021-10-02 10:55

注意:如果函数需要多个返回值,不可使用多条Return语句,可以将其他需要返回值的变量定义为引用型参数,即***Ref类型,这种类型的参数变量可以将其在函数内部中的改变直接传递出去。

例:求N周期最大值。假定需要编写的用户函数功能需求为:求出序列变量Price在最近Length周期内的最大值,并且求出最大值出现的Bar与当前Bar的偏移量。

函数脚本如下:

Params     Series<Numeric> Price(1);     Numeric Length(10);     NumericRef HighestBar;  //设置引用型的变量 Vars     Numeric MyVal;      Numeric MyBar;     Numeric i;  Begin     MyVal = Price;     MyBar = 0;     For i = 1 to Length-1     {         If ( Price[i] > MyVal)          {             MyVal = Price[i];             MyBar = i; //记录最大值Bar与当前Bar的偏移量         }     }     HighestBar = MyBar;  //将偏移量赋值给引用型变量,将该值传递回去     Return MyVal; //返回计算得到的最大值 End

kyover

可以参考pivot linearreg等函数

2021-10-22 09:46
您未登录,请先 登录注册 后发表评论
顶部