以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- [分享]vba 加权平均数 (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=169434) |
-- 作者:lizhi -- 发布时间:2019/4/18 21:48:07 -- [分享]vba 加权平均数 \'计算加权平均数 Sub myWMA Dim StarTimer StarTimer = Timer \'脚本开始运行的时间 \'------------------------------------------------------------------------ Dim histroyData,barsCount,i,n,length,sumPrice,sumLength \'声明沪深300指数历史日线数据对象 Set histroyData = marketdata.GetHistoryData("000300","SH",5) barsCount = histroyData.Count \'沪深300指数的数据数量 length = 200 \'计算均值的周期数 sumPrice = 0 \'给变量赋初始值 n = 0 \'给变量赋初始值 For i = barsCount - length to barsCount - 1 n = n + 1 \'循环次数 sumPrice = sumPrice + n * histroyData.Close(i) \'价格加权求和 Next sumLength = (Length + 1) * Length / 2 \'加权系数求和 WMA = sumPrice / sumLength \'加权平均数 \'调试代码 Application.ClearMsg \'清除消息窗口中的输出值 Application.MsgOut(sumLength) \'输出sumLength的值 Application.MsgOut(WMA) \'输出WMA的值 \'------------------------------------------------------------------------ Set histroyData = Nothing \'从内存中释放对象变量 \'------------------------------------------------------------------------- MsgBox "脚本运行的时间=" & Timer - StarTimer & "秒。" End Sub |
-- 作者:lizhi -- 发布时间:2019/4/18 21:55:06 -- \'==============计算加权平均数======================= With Application End With |