Fix backtests
This commit is contained in:
@@ -4,8 +4,6 @@ using Managing.Application.Trading.Commands;
|
||||
using Managing.Domain.Shared.Helpers;
|
||||
using Managing.Domain.Trades;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Application.Trading;
|
||||
@@ -36,9 +34,12 @@ public class ClosePositionCommandHandler(
|
||||
: exchangeService.GetPrice(account, request.Position.Ticker, DateTime.UtcNow);
|
||||
|
||||
// Check if position still open
|
||||
if (!isForPaperTrading)
|
||||
{
|
||||
var p = (await exchangeService.GetBrokerPositions(account))
|
||||
.FirstOrDefault(x => x.Ticker == request.Position.Ticker);
|
||||
|
||||
// Position not available on the broker, so be sure to update the status
|
||||
if (p == null)
|
||||
{
|
||||
request.Position.Status = PositionStatus.Finished;
|
||||
@@ -48,6 +49,8 @@ public class ClosePositionCommandHandler(
|
||||
tradingService.UpdatePosition(request.Position);
|
||||
return request.Position;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var closeRequestedOrders =
|
||||
isForPaperTrading || (await exchangeService.CancelOrder(account, request.Position.Ticker));
|
||||
|
||||
Reference in New Issue
Block a user