fix backtest below 10usdc + update trade
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user