用VBS计算了一条均线,其计算法则用MA(C,N)函数无法实现。以5日均线为例,每天5日均线值=(上日该5日均线值*4+当日收盘价)/5;我的VBS代码是
Function CU_MA3(Formula,A)
'系统会在逐周期模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
'得到K线数据对象
Set History = Formula.ParentGrid.GetHistoryData()
'若当前周期尚未到计算周期,不参与计算
DataCount = 0
FOR I=0 TO A-1
DataCount = DataCount + history.close(I)
NEXT
DIM JUNJIA
JUNJIA=DataCount/A
for i = A to 100
'计算均价
JUNJIA=(JUNJIA*(A-1)+ history.close(i))/A
next
CU_MA3 = JUNJIA
End Function
公式内容是
A:CU_MA3(N);
在K线中可以计算出一条直线,只有一个值不是曲线。
另外我的公式只计算了100个周期的收盘价,怎么写才可以计算到最后一个k线周期?
求教,谢谢。
大致看了一下,你的自定义函数是在逐周期模式下工作的,你是不是在序列模式下调用了