Update account/position and platform summary
This commit is contained in:
@@ -265,26 +265,15 @@ namespace Managing.Application.ManageBot
|
||||
// Calculate statistics using TradingBox helpers
|
||||
var (tradeWins, tradeLosses) = TradingBox.GetWinLossCount(botData.Positions);
|
||||
var pnl = botData.ProfitAndLoss;
|
||||
var fees = botData.Positions.Values.Sum(p =>
|
||||
{
|
||||
if (p.Open.Price > 0 && p.Open.Quantity > 0)
|
||||
{
|
||||
var positionSizeUsd = (p.Open.Price * p.Open.Quantity) * p.Open.Leverage;
|
||||
var uiFeeRate = 0.001m; // 0.1%
|
||||
var uiFeeOpen = positionSizeUsd * uiFeeRate;
|
||||
var networkFeeForOpening = 0.50m;
|
||||
return uiFeeOpen + networkFeeForOpening;
|
||||
}
|
||||
|
||||
return 0;
|
||||
});
|
||||
var fees = botData.Positions.Values.Sum(p => p.CalculateTotalFees());
|
||||
var volume = TradingBox.GetTotalVolumeTraded(botData.Positions);
|
||||
|
||||
// Calculate ROI based on total investment
|
||||
var totalInvestment = botData.Positions.Values
|
||||
.Where(p => p.IsFinished())
|
||||
.Sum(p => p.Open.Quantity * p.Open.Price);
|
||||
var roi = totalInvestment > 0 ? (pnl / totalInvestment) * 100 : 0;
|
||||
var netPnl = pnl - fees;
|
||||
var roi = totalInvestment > 0 ? (netPnl / totalInvestment) * 100 : 0;
|
||||
|
||||
// Update bot statistics
|
||||
existingBot.TradeWins = tradeWins;
|
||||
|
||||
Reference in New Issue
Block a user