KDJ es un indicador común, no sé por qué TV y FMZ no coinciden en absoluto, tal vez la idea de los dos es la misma, pero el algoritmo específico es diferente, por conveniencia, siguiendo la introducción en la TV, escribí el indicador a mano, y luego lo comparé, es completamente consistente, si algún amigo que lo necesite puede copiar el pasado, y tiene necesidades de estrategias de desarrollo personalizadas, contáctenme.
function KDJ(rds, n, smoothK, smoothD) { var rsi = []; for(var i in rds){ var rd = rds[i]; var lowest = rd.Low; var highest = rd.High; for(var j=i; j>i-n && j>=0; j–){ if(rds[j].Low < lowest) lowest = rds[j].Low; if(rds[j].High > highest) highest = rds[j].High; } rsi[i] = 100*(rd.Close-lowest)/(highest-lowest); } var k = TA.MA(rsi, smoothK); var d = TA.MA(k, smoothD); return [k,d]; }