Le macd demande des valeurs

Auteur:13957180801, Créé: 2018-09-28 15:31:17, mis à jour:

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都不一样,是怎么回事啊?哪个地方弄错了吗?

Plus de

Le petit rêveIl y a beaucoup de facteurs à cela: 1, déterminer si c'est le même contrat, déterminer si c'est le même cycle de ligne K, déterminer si c'est la même méthode de coût (coût en dollars ou en CNY), il suffit de comparer les données de ligne K que vous obtenez avec celles de l'échange. Le prix de clôture de la dernière colonne de la ligne K est variable en temps réel, donc la valeur de l'indicateur correspondant à cette position est également variable en temps réel et peut être différente. 3, algorithme de la base d'indicateurs: certains MACD ont des colonnes de mesure dif-dea, d'autres sont deux fois dif-dea, ce qui est une différence algorithmique, mais dif dea devrait être le même algorithme. Dans le problème de la quantité de données, plus il y a de données de lignes K pour certains indicateurs, plus elles sont précises (la plupart sont des algorithmes itératifs et récurrents), de sorte que la quantité de données de lignes K donnée est différente et que les valeurs calculées peuvent également être différentes.