EMA -Berechnung nicht übereinstimmt

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: EMA -Berechnung nicht übereinstimmt

by Guest » 12 Feb 2025, 08:44

Ich versuche, TradingView EMA -Berechnung für eine benutzerdefinierte Software zu replizieren, aber unterschiedliche Ergebnisse als bei TradingView. Gemäß TradingView sollte die EMA -Berechnungsdokumentation genau dieselbe Methode sein. Was fehlt mir?

Code: Select all

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[i].Item2 + (1 - alpha) * ema[i - 1].Item2;
ema.Add((prices[i].Item1, value));
}

return ema;
}
< /code>
Ausgabe: < /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)

Top