以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 高级功能研发区 (http://www.weistock.com/bbs/list.asp?boardid=5) ---- 请教VBA 中使用marketdata.STKINDI 取MACD的最新值的问题 (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=71162) |
-- 作者:blueface -- 发布时间:2014/10/20 14:58:45 -- 请教VBA 中使用marketdata.STKINDI 取MACD的最新值的问题 请教一下: 如下代码: 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) 关于 这是什么意思?比如我取MA的值,或者是MACD的值 与坐标类型有什么关系? 2: 这里的925,是从左数还是右边数,我要取最新的应该是 什么参数? 3:为什么 取出的值都一样,尽管不正确? 谢谢! ![]() ![]() |
-- 作者:blueface -- 发布时间:2014/10/20 15:30:41 -- 另外如何读取MACD的DIF 和EDA的值? Formula2.GetBufData("MACD1",1) ‘这个应当是DIF值么? Formula2.GetBufData("MACD2",1) ‘这个应当是EDA值么? Formula2.GetBufData("MACD3",1) ‘这个应当是MACD值么? 谢谢 |
-- 作者:王锋 -- 发布时间:2014/10/20 23:01:19 -- 1, 坐标的含义,你可以在技术分析K线图形上,时间坐标上右键鼠标后,选择不同的类型看看你就能明白 2,取最新的,Formula.GetBufData("ma3",Formula.DataSize-1) 3,你应该好好看看 Stkindi 方法 注意: 该方法返回的Formula对象将使用共享的内存缓冲区,如果你有多个品种需要转换并且同时处理,请使用数组类Array.保存转换后的Formula对象数据.
4,你的逻辑紊乱,你应该打开MACD公式,然后打开看看里面的公式的线输出都是什么变量名字 |