using System.ComponentModel.DataAnnotations; using Managing.Domain.Candles; using Managing.Domain.Indicators; using Managing.Domain.Trades; using static Managing.Common.Enums; namespace Managing.Api.Models.Responses { public class TradingBotResponse { /// /// Current status of the bot (Up, Down, etc.) /// [Required] public string Status { get; internal set; } /// /// Dictionary of signals generated by the bot, keyed by signal identifier /// [Required] public Dictionary Signals { get; internal set; } /// /// Dictionary of positions opened by the bot, keyed by position identifier /// [Required] public Dictionary Positions { get; internal set; } /// /// Candles used by the bot for analysis /// [Required] public List Candles { get; internal set; } /// /// Current win rate percentage /// [Required] public int WinRate { get; internal set; } /// /// Current profit and loss /// [Required] public decimal ProfitAndLoss { get; internal set; } /// /// Current return on investment percentage /// [Required] public decimal Roi { get; internal set; } /// /// Unique identifier for the bot /// [Required] public string Identifier { get; set; } /// /// Agent name associated with the bot /// [Required] public string AgentName { get; set; } /// /// The time when the bot was created /// [Required] public DateTime CreateDate { get; internal set; } /// /// The time when the bot was started /// [Required] public DateTime StartupTime { get; internal set; } [Required] public string Name { get; set; } /// /// The ticker/symbol being traded by this bot /// [Required] public Ticker Ticker { get; set; } /// /// The agent name of the master bot's owner (for copy trading bots) /// public string MasterAgentName { get; set; } } }