El valor de la función macd es instructivo.

El autor:13957180801, Creado: 2018-09-28 15:31:17, Actualizado:

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

Más.

Un sueño pequeño.El problema es que hay muchos factores: 1, para determinar si es el mismo contrato, para determinar si es el mismo ciclo de línea K, para determinar si es el mismo método de cotización (cuota en dólares o en CNY), es simple comparar si los datos de línea K que obtienes son los mismos que los intercambios. El precio de cierre de la última columna de la línea K es variable en tiempo real, por lo que el valor del indicador correspondiente a esta posición también es variable en tiempo real y puede ser diferente. 3, Algoritmos de la base de indicadores: Algunos MACD tienen columnas dif-dea, otros dif-dea 2 veces, esto es una diferencia algorítmica, aunque dif dea debería ser el mismo algoritmo. En el problema del volumen de datos, el mayor volumen de datos de K-lineas de ciertos indicadores, el más preciso se calcula (la mayoría son algoritmos iterativos, recurrentes), por lo que la cantidad de datos de K-lineas dadas no es la misma, y los valores calculados también pueden ser diferentes.