namespace PolyTraderSharp.Models
{
    public class CopySignal
    {
        /// <summary>
        /// Korrelations-ID (S-0, Supervisor-Konzept): verbindet dieses Signal mit allen daraus
        /// entstehenden Entscheidungen (core_decision_journal), Orders (core_order_events) und
        /// dem ClosedTrade. Wird bei Erzeugung automatisch vergeben.
        /// </summary>
        public string SignalId { get; set; } = Guid.NewGuid().ToString("N");

        public int SourceTradeId { get; set; }
        public int TraderId { get; set; }
        public string MarketSlug { get; set; } = string.Empty;
        public string ConditionId { get; set; } = string.Empty;
        public string TokenId { get; set; } = string.Empty;
        public string MarketQuestion { get; set; } = string.Empty;
        public string Side { get; set; } = "BUY";
        public decimal Price { get; set; }
        public decimal Size { get; set; }
        public string Outcome { get; set; } = string.Empty;
        public DateTime Timestamp { get; set; }
        public DateTime? EndDate { get; set; }
        public string Reason { get; set; } = string.Empty;
    }
}
