using System; using Alpaca.Markets; namespace DesktopBot.Models { /// /// Segnale di trading generato da una strategia. /// public class TradingSignal { public SignalType Type { get; set; } public string Symbol { get; set; } public decimal Price { get; set; } public DateTime Timestamp { get; set; } public string Reason { get; set; } /// Confidenza del segnale (0–100). public int Confidence { get; set; } /// /// Livello di Stop Loss calcolato dalla strategia (0 = non impostato, /// viene usato il default percentuale di BotConfiguration). /// public decimal StopLoss { get; set; } /// /// Livello di Take Profit calcolato dalla strategia (0 = non impostato). /// public decimal TakeProfit { get; set; } /// Lato dell'ordine Alpaca derivato dal tipo di segnale. public OrderSide Side => Type == SignalType.Sell ? OrderSide.Sell : OrderSide.Buy; } public enum SignalType { None, Buy, Sell, Hold } }