fix backtest below 10usdc + update trade

This commit is contained in:
2025-09-22 23:56:45 +07:00
parent 7c3c0f38ec
commit d13ac9fd21
6 changed files with 83 additions and 5 deletions

View File

@@ -402,6 +402,52 @@ public class PostgreSqlTradingRepository : ITradingRepository
: null;
entity.UpdatedAt = DateTime.UtcNow;
// Update related trades
if (position.Open != null)
{
await UpdateTradeAsync(position.Open);
}
if (position.StopLoss != null)
{
await UpdateTradeAsync(position.StopLoss);
}
if (position.TakeProfit1 != null)
{
await UpdateTradeAsync(position.TakeProfit1);
}
if (position.TakeProfit2 != null)
{
await UpdateTradeAsync(position.TakeProfit2);
}
await _context.SaveChangesAsync();
}
}
public async Task UpdateTradeAsync(Trade trade)
{
var entity = _context.Trades
.AsTracking()
.FirstOrDefault(t => t.ExchangeOrderId == trade.ExchangeOrderId);
if (entity != null)
{
entity.Date = trade.Date;
entity.Direction = trade.Direction;
entity.Status = trade.Status;
entity.TradeType = trade.TradeType;
entity.Ticker = trade.Ticker;
entity.Fee = trade.Fee;
entity.Quantity = trade.Quantity;
entity.Price = trade.Price;
entity.Leverage = trade.Leverage;
entity.ExchangeOrderId = trade.ExchangeOrderId;
entity.Message = trade.Message;
entity.UpdatedAt = DateTime.UtcNow;
await _context.SaveChangesAsync();
}
}