问题描述:
通过金字塔软件的 菜单:工具->市场与板块(R)... 这个功能成功设置了90分钟,150分钟,3小时的K线
通过vba函数 marketdata.STKINDI 将价格(我把高、开、低、收 价格作为四个指标变量)和指标导出,发现所有自定义周期的指标不正确,价格正确。同样的代码,我导出金字塔自带周期1小时,30分钟的数据,价格和指标完全正确
附件的两个截图做了详细说明
结论:金字塔vba函数marketdata.STKINDI 导出自定义周期的指标数据不正确
请问有什么办法解决
本地测试情况如下,代码测试也如下
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
版主,你把 Set Formula = marketdata.STKINDI("000001","sh","kdj(9,3,3)",0,13,60) 最后60 改成 90 试一下
60分钟的结果我这里也是正确的。
不过前提是你需要 通过菜单:工具->市场与板块(R)... 这个功能成功设置了90分钟的K线,90分钟的k线我是按照如下方法定制
除了金字塔自带的常用周期正确, 自定义周期貌似都不对。
您把行情停掉,然后图表上看下取的是不是同一个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)
搞定了,这个问题应该是金字塔的bug或者就这么设计的(如果是bug,是不是请我吃饭) 。
我定义了多个自定义周期,用vba导出数据前,必须把要导出的周期现在k线图上进行显示,不能一次性全部导出多个自定义周期的数据,否则会乱套
你怎么用的??我这边不打开图表然后输出STKINDI("000001","sh","kdj(9,3,3)",0,13,90)
STKINDI("000001","sh","kdj(9,3,3)",0,13,60)
两种自定义的指标输出,然后打开图表对照数据都是一致的。还是说您那边输出了几十个自定义??