Nodejs MetaAPI Cloud / 이동 평균 계산
<p>metaapi.cloud를 사용하여 트레이딩 봇을 만들고 있으며 이동 평균(빠른/지수)을 계산하려고 하는데 잘못된 값이 반환됩니다. 내 코드는 다음과 같습니다. </p>
<pre class="brush:js;toolbar:false;">async MovingAverage(symbol, period, type = "S") {
let candles = (await this.account.getHistoricalCandles(symbol, this.params.timeframe, null, period)).map(c => c.close);
const 결과 = [];
합계 = 0으로 둡니다.
if (유형 === "S") {
for (i = 0; i < 마침표; i++) {
합계 += 양초[i];
}
result.push(합계/기간);
for (i = 기간; i < candles.length; i++) {
합계 = 합계 - 양초[i - 기간] + 양초[i];
result.push(합계/기간)
}
} else if (유형 === "E") {
const 가중치 = 2 / (마침표 + 1);
for (i = 0; i < 마침표; i++) {
합계 += 양초[i];
}
합계 /= 기간;
결과.푸시(합계);
for (i = 기간; i < candles.length; i++) {
합계 = (양초[i] * 무게) + (합계 * (1 - 무게));
결과.푸시(합계);
}
} 또 다른 {
// 오류 발생()
}
결과 반환;
}
</pre>
<p>사용 방법은 다음과 같습니다.</p>
<pre class="brush:js;toolbar:false;">async onTick(infos) {
let sma = wait this.movingAverage(infos.symbol, this.params.fast, "S");
console.log('SMA' + sma[0]);
}
</pre>
<p>이제 테스트하면 SMA가 "1906.6963"을 반환해야 하는데 "1900.7813"이 반환됩니다.
어쩌면 내가 계산하는 데 잘못된 방법을 사용하고 있는 것은 아닐까?
누구든지 해결책이 있다면! 미리 감사드립니다. </p>