PositionTotals_Windows4 Standard Deviation Added
var v = (from t in PositionCollection
group t by t.Ticker.Code
into g
select new TotalStat01()
{
Strategy = "All",
Ticker = g.Key,
TimeInt = 0,
Quantity = g.Sum(t=>t.Quantity),
Count = g.Count(),
ProfitLoss = g.Sum(t => t.PnL2),
ProfitAvg = g.Average(t => t.PnL2),
ProfitMax = g.Max(t=>t.PnL2),
ProfitMin = g.Min(t => t.PnL2),
ProfitStd = GSMath.Math.CalculateStandardDeviation(g.Select(t => t.PnL2)),
DailyMaxProfit = g.Max(t => t.Strategy.DailyMaxProfit),
DailyMinProfit = g.Min(t => t.Strategy.DailyMinProfit),
FirstTradeDT = g.Min(t => t.FirstTradeDT),
LastTradeDT = g.Max(t => t.LastTradeDT)
}).OrderBy(t => t.Ticker); // .ToList();
foreach (var i in v) TotalTickersList.Add(i);
_isNeedRefreshStat = false;
var v = (from t in PositionCollection
group t by t.Ticker.Code
into g
select new TotalStat01()
{
Strategy = "All",
Ticker = g.Key,
TimeInt = 0,
Quantity = g.Sum(t=>t.Quantity),
Count = g.Count(),
ProfitLoss = g.Sum(t => t.PnL2),
ProfitAvg = g.Average(t => t.PnL2),
ProfitMax = g.Max(t=>t.PnL2),
ProfitMin = g.Min(t => t.PnL2),
ProfitStd = GSMath.Math.CalculateStandardDeviation(g.Select(t => t.PnL2)),
DailyMaxProfit = g.Max(t => t.Strategy.DailyMaxProfit),
DailyMinProfit = g.Min(t => t.Strategy.DailyMinProfit),
FirstTradeDT = g.Min(t => t.FirstTradeDT),
LastTradeDT = g.Max(t => t.LastTradeDT)
}).OrderBy(t => t.Ticker); // .ToList();
foreach (var i in v) TotalTickersList.Add(i);
_isNeedRefreshStat = false;
Комментариев нет:
Отправить комментарий