EMA -Berechnung nicht übereinstimmtC#

Ein Treffpunkt für C#-Programmierer
Guest
 EMA -Berechnung nicht übereinstimmt

Post by Guest »

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)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post