0
Follow
0
Followers
exchange.SetRate();
exchange.SetContractType("quarter");
exchange.SetMarginLevel(20);
Log("PERIOD_M15");
var records2 = exchange.GetRecords(PERIOD_M15);
var macd = TA.MACD(records2, 12, 26, 9);
Log(macd[0].length);
Log("dif0="+_N(macd[0][macd[0].length-1],4));
Log("dif1="+_N(macd[0][macd[0].length-2],4));
Log("dif2="+_N(macd[0][macd[0].length-3],4));
Log(macd[1].length);
Log("dea0="+_N(macd[1][macd[1].length-1],4));
Log("dea1="+_N(macd[1][macd[1].length-2],4));
Log("dea2="+_N(macd[1][macd[1].length-3],4));
Log(macd[2].length);
Log("macd0="+_N(macd[2][macd[2].length-1],4));
Log("macd1="+_N(macd[2][macd[2].length-2],4));
Log("macd2="+_N(macd[2][macd[2].length-3],4));
测试代码如下,输出来的数据和交易所网站上的macd的dif,dea,macd都不一样,是怎么回事啊?哪个地方弄错了吗?
Related Recommendations
Looking For PartnershipGreat news! Check out our platforms’ NEW features, the “Demands & Offers” page on our website.Our platform’s New design PC/MacOS local software client is released now!Flash collapse robot (teaching)Index equilibrium strategy (teaching)can anyone please explain how to start with this platformC++ API call exampleHow to break through the Tick receiving limit of commodity futuresMulti-platform Hedging Stabilization Arbitrage V2.1 (Annotation Edition)Pure english vesion of e-books about some basic systematic trading skills
Comment
All comments (1)
此类问题 因素有很多:
1、确定是不是 同一个 合约, 确定是不是 一样的K线周期,确定是不是同样的计价方式(美元计价 还是CNY 计价),简单的就是 先对比你获取的K线数据是不是和交易所一样。
2、K线的最后一个 柱收盘价 是实时变动的,所以对应的这个位置的指标值也是实时变动,可能会不一样。
3、指标库算法: 有些 MACD 的量柱是 dif-dea , 有些是 2倍的 dif - dea, 这个 是算法上的不同,不过 dif dea 应该是相同的算法。
4、数据量问题, 某些指标K线数据量越多,算出的越精确(大部分是 迭代的、递归的算法),所以给定的K线数据量不一样,可能算出的数值也有差别。
8 years ago
- 1
