老师,我建了一个函数 + 一个系统自带的函数。用于做线性回归排序
//------------------------------------------------------------------------
// 简称: dj_LinearRegSlope_i
// 名称: dj_LinearRegSlope_i
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
Params
Series<Numeric> Price(10);
Numeric length(12);
Vars
Series<Numeric> Num;
Begin
Num = LinearRegSlope (Price, length);
Return Num;
End
但是在Onbar域里用For循环去取每个Data的值取不到啊, 请帮我解析下原因。
For i = 0 To DataCount - 1
{
If(i < DataCount) // 确保不越界
{
d_change[i] = data[i].dj_LinearRegSlope_i(data[i].Close[1], Length);
NumArr[i] = i;
}
}
Print(TextArray( d_change));
你自己写了别的代码干扰了吧,我可以输出
Vars
array<Numeric> d_change;
Events
OnBar(ArrayRef<Integer> indexes)
{
Numeric i;
For i = 0 To DataCount - 1
{
If(i < DataCount) // 确保不越界
{
d_change[i] = data[i].test_slope(data[i].Close[1], 21);
}
}
print(TextArray(d_change));
}
老师,你说的对😂。 查了很久,确实是改了函数导致的。解决了!
嗯
我又测试了下,如下结果。那是函数的问题嘛?

还有其它的代码,太多了。单独上面代码我测试了是能取到的。就多了个全局变量控制啊。

主程序代码就这些?