Я пытаюсь воспроизвести расчет TradingView EMA для пользовательского программного обеспечения, но получаю другие результаты, чем на TradingView. Согласно TradingView EMA, документация по расчетам должна быть точно таким же методом. Чего мне не хватает?var closePrices = new List
{
("2024-01-03 00:00:00.0000000" , 84.0600000000m),
("2024-01-04 00:00:00.0000000" , 96.8900000000m),
("2024-01-05 00:00:00.0000000" , 89.6400000000m),
("2024-01-06 00:00:00.0000000" , 80.4300000000m),
("2024-01-07 00:00:00.0000000" , 73.1800000000m),
("2024-01-08 00:00:00.0000000" , 85.3900000000m),
("2024-01-09 00:00:00.0000000" , 85.3400000000m),
("2024-01-10 00:00:00.0000000" , 97.9800000000m),
("2024-01-11 00:00:00.0000000" , 108.0600000000m)
};
var emas = CalculateEMA(closePrices, 7);
foreach(var ema in emas)
{
Console.WriteLine(ema);
}
static List CalculateEMA(List prices, int period)
{
List ema = new List();
decimal alpha = 2m / (period + 1);
ema.Add(prices[0]);
for (int i = 1; i < prices.Count; i++)
{
decimal value = alpha * prices.Item2 + (1 - alpha) * ema.Item2;
ema.Add((prices.Item1, value));
}
return ema;
}
< /code>
output: < /p>
(2024-01-03 00:00:00.0000000, 84,0600000000)
(2024-01-04 00:00:00.0000000, 87,267500000000)
(2024-01-05 00:00:00.0000000, 87,86062500000000)
(2024-01-06 00:00:00.0000000, 86,0029687500000000)
(2024-01-07 00:00:00.0000000, 82,797226562500000000)
(2024-01-08 00:00:00.0000000, 83,44541992187500000000)
(2024-01-09 00:00:00.0000000, 83,9190649414062500000000)
Подробнее здесь: https://stackoverflow.com/questions/794 ... t-matching
Расчет EMA не соответствует ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение