例如,用户函数MyFunc如下:
Params
Series<Numeric> Price(0);
NumericRef oHigher;
NumericRef oLower;
Vars
Numeric Tmp(0);
Begin
Tmp = Average(Price,10);
oHigher = IIf(Tmp > High,Tmp,High);
oLower = IIf(Tmp < Low,Tmp,Low);
Return Tmp;
End
以上代码通过两个数值型引用参数返回10个周期的Price平均值和最高价的较大值oHigher,以及10个周期的Price平均值和最低价的较小值oLower,并且通过函数返回值输出10个周期的Price平均值。在调用该用户函数的公式中,可以通过调用该函数获得3个计算返回值,示例如下:
Vars
Numeric AvgValue;
Numeric HigherValue;
Numeric LowerValue;
Events
OnBar(ArrayRef<Integer> indexs)
{
AvgValue = MyFunc(Close,HigherValue,LowerValue);
...
}return的数据通过=放到了avgvalue里
而ohigher的数据在highervalue里
olower的数据在lowervalue里
这个就是最基础的指针概念
还不明白可以把零基础课程里的 数据结构部分 找到引用类型 看一遍
AvgValue = MyFunc(Close,HigherValue,LowerValue)
AvgValue是包含AvgValue和highervalue和lowervalue三个值吗?如果是其中的highervalue和lowervalue怎么获取到?AvgValue = MyFunc(Close,HigherValue,LowerValue)AvgValue是包含三个值?如果是怎么获取到??
所以问题呢?
highervalue和lowervalue不就是你要的东西么?