每个自定义函数都会有一个Formula对象,即使没有参数的自定义函数也至少有这么一个对象参数存在。每次公式系统执行遇到自定义函数的时候,会不断的依次调用它,直至整个公式解释完毕。
示例
创建一个计算CYC日收盘价移动平均线的自定义函数,CUSTOM_MA2(CYC),在"添加自定义函数"对话框上名称输"CUSTOM_MA2",在参数位置输入"CYC"后单击确定,然后在随即弹出的VBS编辑器界面上,输入下面代码:
'计算指定周期长度的收盘价均价
Function CUSTOM_MA2(Formula,cyc)
'得到K线数据对象
Set History = Formula.ParentGrid.GetHistoryData()
'若当前周期尚未到计算周期,不参与计算
if Formula.IndexData < cyc-1 then //ma(close,10)
CUSTOM_MA2 = 0
exit function
end if
DataCount = 0
for i =
Formula.IndexData-cyc+1 to Formula.IndexData
'累加收盘价
DataCount = DataCount +
history.close(i)
Next
CUSTOM_MA2 = DataCount / cyc
End Function
以上代码输入完毕后按下 Shift+F5启动VBS教本运行,然后就可以在公式编辑中使用我们刚刚创建的自定义函数了.
你有用过pel吗?
如果用过应该知道公式编写模型的界面吧,在编辑区打开函数列表
这个是属于基本pel查找函数列表的范畴,一般参加金字塔网校培训的新人,我们都是会重点讲解这一部分的
你对pel的函数查找不知道,那可能你先天有经验所以一些基础的使用上没有学习吧