Function avgtoone(Formula)
avgtoone=0
dim close
dim open
dim high
dim low
Set Grid = Technic.GetGridByName("Main")
Set ReportData = Grid.GetReportData()
open=ReportData.open
high=ReportData.high
low=ReportData.low
close=ReportData.newPrice
avg=(open+high+low+close)/4
avgtoone=avg
End Function
请问我代码有什么问题吗?
为什么最后返回值不管在哪个周期都是2273.5 啊。。请教这是怎么一回事?
pd:AVGTOONE();
公式引用的这个
Function CU_MA1(Formula,CLOSE,CYC)
CU_MA1=0
'防止公式逐周期模式时调用
If Formula.WorkMode = 0 Then
Exit Function
End If
'CLOSE数组数据长度一定会与Formula.DataSize-1相等
DataCount = UBound(CLOSE)
If DataCount <> Formula.DataSize-1 Then
Exit Function
End If
'定义一个计算返回的数组
Dim ResultMa
Redim ResultMa(DataCount)
For i = Cyc-1 To Formula.DataSize-1
Count = 0
For k = i-(Cyc-1) To i
Count = Count + CLOSE(k)
Next
ResultMa(i) = Count / Cyc
Next
'返回一个计算完毕的均线数组
CU_MA1 = ResultMa
End Function
这个是用收盘价 加上周期计算的 你把开高低收 加上 然后算值
'定义一个计算返回的数组
Dim ResultMa
Redim ResultMa(DataCount)
For i = Cyc-1 To Formula.DataSize-1
Count = 0
For k = i-(Cyc-1) To i
Count = Count + CLOSE(k)
Next
ResultMa(i) = Count / Cyc
Next
'返回一个计算完毕的均线数组
CU_MA1 = ResultMa
End Function
这个我没看懂,为什么要返回计算完毕的均线数组呢?
我是逐K线模式的,只计算出当前K线的高开低收,需要写那个数组吗?