以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  金字塔vba函数marketdata.STKINDI导出自定义周期的指标问题  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=88279)

--  作者:wangguanjin
--  发布时间:2015/12/10 11:10:08
--  金字塔vba函数marketdata.STKINDI导出自定义周期的指标问题

问题描述:

通过金字塔软件的 菜单:工具->市场与板块(R)... 这个功能成功设置了90分钟,150分钟,3小时的K线

 

通过vba函数 marketdata.STKINDI 将价格(我把高、开、低、收 价格作为四个指标变量)和指标导出,发现所有自定义周期的指标不正确,价格正确。同样的代码,我导出金字塔自带周期1小时,30分钟的数据,价格和指标完全正确

 

附件的两个截图做了详细说明

 

结论:金字塔vba函数marketdata.STKINDI 导出自定义周期的指标数据不正确

 

请问有什么办法解决


图片点击可在新窗口打开查看此主题相关图片如下:2015-12-10_10-44-09.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2015-12-10_10-51-32.png
图片点击可在新窗口打开查看

--  作者:wangguanjin
--  发布时间:2015/12/10 13:54:25
--  
 等待中。。。。
--  作者:yukizzc
--  发布时间:2015/12/10 14:35:41
--  

本地测试情况如下,代码测试也如下

Set Formula = marketdata.STKINDI("000001","sh","kdj(9,3,3)",0,13,60)
application.MsgOut Formula.GetBufData("k",20)
application.MsgOut Formula.GetBufData("d",20)
application.MsgOut Formula.GetBufData("j",20)
图片点击可在新窗口打开查看此主题相关图片如下:~1kesblrifpsq13pjd%mjf.png
图片点击可在新窗口打开查看


--  作者:wangguanjin
--  发布时间:2015/12/10 17:48:18
--  

 版主,你把 Set Formula = marketdata.STKINDI("000001","sh","kdj(9,3,3)",0,13,60) 最后60 改成 90 试一下
60分钟的结果我这里也是正确的。

不过前提是你需要 通过菜单:工具->市场与板块(R)... 这个功能成功设置了90分钟的K线,90分钟的k线我是按照如下方法定制


图片点击可在新窗口打开查看此主题相关图片如下:2015-12-10_17-46-25.png
图片点击可在新窗口打开查看


--  作者:wangguanjin
--  发布时间:2015/12/10 17:49:40
--  

除了金字塔自带的常用周期正确, 自定义周期貌似都不对。


--  作者:yukizzc
--  发布时间:2015/12/11 13:05:24
--  

您把行情停掉,然后图表上看下取的是不是同一个k。

pel代码

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,P1,1);
D:SMA(K,P2,1);
J:3*K-2*D;
dd:barpos    这个dd值对应vba里面输出第20根+1

 

Set Formula = marketdata.STKINDI("000001","sh","kdj(9,3,3)",0,13,90)
application.MsgOut Formula.GetBufData("k",20)
application.MsgOut Formula.GetBufData("d",20)
application.MsgOut Formula.GetBufData("j",20)


图片点击可在新窗口打开查看此主题相关图片如下:)lf3h4}f6w{%(}`3qsc3gx9.jpg
图片点击可在新窗口打开查看


--  作者:wangguanjin
--  发布时间:2015/12/11 17:08:31
--  

搞定了,这个问题应该是金字塔的bug或者就这么设计的(如果是bug,是不是请我吃饭图片点击可在新窗口打开查看) 。

 

我定义了多个自定义周期,用vba导出数据前,必须把要导出的周期现在k线图上进行显示,不能一次性全部导出多个自定义周期的数据,否则会乱套

 

 

[此贴子已经被作者于2015/12/11 17:09:09编辑过]

--  作者:王锋
--  发布时间:2015/12/11 18:11:40
--  
如果是先要显示,那么有可能是你导出的品种缺失历史数据导致的,打开图表后后自动补充历史数据
--  作者:wangguanjin
--  发布时间:2015/12/13 16:01:57
--  
 我可以确定不是数据缺失的问题, 因为我用的是同一个品种(上证指数),而且5分钟的数据确定补充完成。

如果必须在K图上显示才能正确导出 , 那也就是说不能后台自动输出自定义周期的实时数据?

--  作者:yukizzc
--  发布时间:2015/12/14 13:42:27
--  

你怎么用的??我这边不打开图表然后输出STKINDI("000001","sh","kdj(9,3,3)",0,13,90)
STKINDI("000001","sh","kdj(9,3,3)",0,13,60)

两种自定义的指标输出,然后打开图表对照数据都是一致的。还是说您那边输出了几十个自定义??