欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 计算一条MA不能实现的移动平均线,代码中遇到的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5526人关注过本帖树形打印复制链接

主题:计算一条MA不能实现的移动平均线,代码中遇到的问题

帅哥哟,离线,有人找我吗?
国王归来
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:12 积分:98 威望:0 精华:0 注册:2011/6/30 16:54:22
计算一条MA不能实现的移动平均线,代码中遇到的问题  发帖心情 Post By:2011/7/4 10:25:33 [只看该作者]

用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线周期?

 

求教,谢谢。

 


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2011/7/4 16:54:49 [只看该作者]

大致看了一下,你的自定义函数是在逐周期模式下工作的,你是不是在序列模式下调用了


 回到顶部