编写问题咨询

老师您好,学习2021年11月11日的答疑课程《跨周期内容专题答疑》时,照着所编写出的程序,调用后,数组中[0]至[4]中无法显示出收盘价,如下图所示。 公式函数如下: Params Series<Numeric> price(1); Numeric length(10); ArrayRef<Numeric> result; Vars Numeric i; Begin For i=0 to length-1; { result[i]=price[i]; } Return true; End 应用公式如下: Params numeric length1(5); Numeric length2(10); Vars Numeric MA1; Numeric MA2; Array<Numeric> myarray; Numeric i; Events OnInit() { SubscribeBar(Data0.Symbol,"5m",data0.BeginDateTime); SubscribeBar(Data0.Symbol,"10m",data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { range[1:2] { MA1 = Average(C,length1); MA2 = Average(C,length2); PlotNumeric("MA1",MA1); plotNumeric("MA2",MA2); } seriesarray(Close,5,myarray); //Commentary("数组大小="+text(GetArraySize(myarray))); for i=0 To GetArraySize(myarray)-1 { Commentary("myarray["+text(i)+"]="+text(myarray[i])); } } 请老师帮看一下问题出在哪里?谢谢!并祝老师新年快乐!

这是用你代码显示的结果 公式: Params numeric length1(5); Numeric length2(10); Vars Numeric MA1; Numeric MA2; Array<Numeric> myarray; Numeric i; Events OnInit() { SubscribeBar(Data0.Symbol,"5m",data0.BeginDateTime); SubscribeBar(Data0.Symbol,"10m",data0.BeginDateTime); } OnBar(ArrayRef<Integer> indexs) { range[1:2] { MA1 = Average(C,length1); MA2 = Average(C,length2); PlotNumeric("MA1",MA1); plotNumeric("MA2",MA2); } seriestoarray(Close,5,myarray); //Commentary("数组大小="+text(GetArraySize(myarray))); for i=0 To GetArraySize(myarray)-1 { Commentary("myarray["+text(i)+"]="+text(myarray[i])); } } seriestoarray函数: Params Series<Numeric> price(1); Numeric length(10); ArrayRef<Numeric> result; Begin Numeric i; for i = 0 to length-1 { result[i] = price[i]; } Return True; End

回复:知道问题所在了,谢谢老师

seriesarray(Close,5,myarray); 你这个函数的内容是什么

回复:seriesarray(Close,5,myarray);引用的是如下公式函数,函数名称为seriesarray Params Series<Numeric> price(1); Numeric length(10); ArrayRef<Numeric> result; Vars Numeric i; Begin For i=0 to length-1; { result[i]=price[i]; } Return true; End