Расчет Ema TRadingView и Ninjatrader разные ⇐ C#

Место общения программистов C#
Anonymous
Расчет Ema TRadingView и Ninjatrader разные

Сообщение Anonymous »

на этой странице: https://www.tradingcode.net/tradingview ... g-average/ есть формула для расчета EMA в торговом представлении:

Код: Выделить всё

pine_ema(src, length) =>
alpha = 2 / (length + 1)
sum = 0.0
sum := na(sum[1]) ?
src:
alpha * src + (1 - alpha) * nz(sum[1])
Я адаптировал его под NT8:

Код: Выделить всё

private double CustomEMA(int length)
{
double alpha = 2.0 / (length + 1.0);

if (isFirstCalculation)
{
double sum = 0.0;
for (int i = 0; i < length; i++)
{
sum += Open[i];
}

lastEma = sum / length;
isFirstCalculation = false;
}
else
{
lastEma = alpha * Open[0] + (1 - alpha) * lastEma;
}

return lastEma;
}
с частным двойным LastEma = 0.0; и частный bool isFirstCalculation = true; объявлены как глобальные переменные.
Я думаю, что мой код правильный.
Однако результаты разные:

TW: 20409,74 NT8: 20410,55


TW: 20356.14 NT8: 20356.79


TW : 20310.51 NT8 : 20311.03

< blockquote>
TW: 20321.41 NT8: 20321.83


TW: 20441,98 NT8: 20442,31

Что я пропустил? ??
Я просто хотел бы написать в NT8 специальную EMA, которая точно воспроизводит поведение EMA TradingView
Спасибо за вашу помощь< /п>

Подробнее здесь: https://stackoverflow.com/questions/791 ... -different

Вернуться в «C#»