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