Você está na página 1de 1

const SMMA = (values, period) => {

const result = [];


for (let i = 0; i < values.length; i++) {
if (i < period - 1) {
result.push(null);
continue;
}
let sum = 0;
for (let j = i - period + 1; j <= i; j++) {
sum += values[j];
}
result.push(sum / period);
}
return result;
};

const WilliamsAlligator = (candles, jawPeriod, teethPeriod, lipsPeriod) => {


const lows = candles.map((x) => x.low);
const highs = candles.map((x) => x.high);
const close = candles.map((x) => x.close);

const jaw = SMMA(lows, jawPeriod);


const teeth = SMMA(highs, teethPeriod);
const lips = SMMA(close, lipsPeriod);

return { jaw, teeth, lips };


};
//Essa implementação inclui uma função para calcular a Média Móvel Simples (SMMA),
que é usada para calcular as três linhas do indicador Williams Alligator: a
//mandíbula, os dentes e os lábios. A candlesentrada é uma matriz de objetos de
vela, cada um dos quais deve ter propriedades low, highe close. As entradas
//jawPeriod, teethPeriode lipsPeriodespecificam os períodos para as linhas da
mandíbula, dentes e lábios, respectivamente. A função retorna um objeto com
três //propriedades: jaw, teethe lips, que são matrizes dos valores calculados para
cada linha.

//Eu espero que isso ajude! Entre em contato se tiver alguma dúvida ou se precisar
de mais esclarecimentos.

Você também pode gostar