26 lines
600 B
C#
26 lines
600 B
C#
using System;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using FinlyticCore.Models.Trades;
|
|
|
|
namespace FinlyticBot.Services;
|
|
|
|
public record SizingResult(
|
|
bool IsApproved,
|
|
string? RejectReason,
|
|
decimal Quantity,
|
|
decimal TotalPositionValue,
|
|
decimal RiskAmount,
|
|
decimal CalculatedCrv
|
|
);
|
|
|
|
public interface IBotRiskSizingService
|
|
{
|
|
Task<SizingResult> EvaluateAndSizeTradeAsync(
|
|
TradeProposalDto proposal,
|
|
decimal accountEquity,
|
|
int currentOpenTradesCount,
|
|
decimal todayRealizedLossPercent,
|
|
CancellationToken ct = default);
|
|
}
|