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 EvaluateAndSizeTradeAsync( TradeProposalDto proposal, decimal accountEquity, int currentOpenTradesCount, decimal todayRealizedLossPercent, CancellationToken ct = default); }