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
}
}