KDJ, o indicador comum, não sei por que TV e FMZ não são completamente consistentes, talvez os dois pensamentos sejam consistentes, mas o algoritmo específico é diferente, por conveniência, eu segui a introdução na TV, escrevi o indicador à mão e, em seguida, comparou, é totalmente consistente, se algum amigo que precisa pode copiar o passado, com a necessidade de estratégias de desenvolvimento personalizadas, entre em contato comigo.
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];
}

