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