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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教VBA 中使用marketdata.STKINDI 取MACD的最新值的问题

   

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


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

主题:请教VBA 中使用marketdata.STKINDI 取MACD的最新值的问题

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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2014/9/28 13:00:32
请教VBA 中使用marketdata.STKINDI 取MACD的最新值的问题  发帖心情 Post By:2014/10/20 14:58:45 [显示全部帖子]

 请教一下: 如下代码:
Public MyXL
private StockCode(30),StockMarket(30)
public shichang
public pinzhong


Sub APPLICATION_VBAStart()


 Call Application.SetTimer(10, 500)

End Sub

Sub APPLICATION_Timer(ID)
Set Report1 = marketdata.GetReportData("if11","zj")
Set Formula = marketdata.STKINDI("if11","zj","ma(5,10,20,60)",0,1) '调用中金所IF08合约的1分钟的MA移动平均线指标,参数依次是5,10,20,60
Set Formula2 = marketdata.STKINDI("if11","zj","MACD(26,12,9)",0,1) '调用中金所IF08合约的1分钟的MA移动平均线指标,参数依次是5,10,20,60


       application.MsgOut "(ma3,1):" & Formula.GetBufData("ma3",1)
     application.MsgOut "(MACD):" & Formula2.GetBufData("MACD",1)
      application.MsgOut "最新价:" & report1.newprice
 
end sub
我想通过marketdata.STKINDI 读出最新的5分钟下的MACD的值,
但是通过调试值不对呀?

想请教:1:Set Formula = marketdata.STKINDI("if11","zj","ma(5,10,20,60)",0,1) '调用中金所IF08合约的1分钟的MA移动平均线指标,参数依次是5,10,20,60 我看帮助文件中 这样写的

Stkindi(Code, Market, IndiName, Co, Cyc) 关于
Co       为坐标轴类型 0交易日坐标 1自然日 2交易交易时间

这是什么意思?比如我取MA的值,或者是MACD的值 与坐标类型有什么关系?


2:
mgbox Formula.GetBufData("ma3",924) '显示第925根k线上的MA3指标线数值

这里的925,是从左数还是右边数,我要取最新的应该是 什么参数?


3:为什么

       application.MsgOut "(ma3,1):" & Formula.GetBufData("ma3",1)
     application.MsgOut "(MACD):" & Formula2.GetBufData("MACD",1)

取出的值都一样,尽管不正确?


谢谢!




图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:新手上路 帖子:18 积分:0 威望:0 精华:0 注册:2014/9/28 13:00:32
  发帖心情 Post By:2014/10/20 15:30:41 [显示全部帖子]

 另外如何读取MACD的DIF 和EDA的值?
Formula2.GetBufData("MACD1",1) ‘这个应当是DIF值么?
Formula2.GetBufData("MACD2",1) ‘这个应当是EDA值么?
Formula2.GetBufData("MACD3",1) ‘这个应当是MACD值么?
谢谢


 回到顶部