Update config

This commit is contained in:
2025-06-04 23:15:50 +07:00
parent 756cd5fb11
commit 973a8c7c61
14 changed files with 969 additions and 369 deletions

View File

@@ -1,40 +0,0 @@
using System.ComponentModel.DataAnnotations;
using Managing.Domain.Candles;
using Managing.Domain.MoneyManagements;
using Managing.Domain.Strategies;
using Managing.Domain.Trades;
using static Managing.Common.Enums;
namespace Managing.Api.Models.Responses
{
public class TradingBot
{
[Required] public string Name { get; internal set; }
[Required] public string Status { get; internal set; }
[Required] public List<Signal> Signals { get; internal set; }
[Required] public List<Position> Positions { get; internal set; }
[Required] public List<Candle> Candles { get; internal set; }
[Required] public int WinRate { get; internal set; }
[Required] public decimal ProfitAndLoss { get; internal set; }
[Required] public Timeframe Timeframe { get; internal set; }
[Required] public Ticker Ticker { get; internal set; }
[Required] public string Scenario { get; internal set; }
[Required] public bool IsForWatchingOnly { get; internal set; }
[Required] public BotType BotType { get; internal set; }
[Required] public string AccountName { get; internal set; }
[Required] public MoneyManagement MoneyManagement { get; internal set; }
[Required] public string Identifier { get; set; }
[Required] public string AgentName { get; set; }
/// <summary>
/// Maximum time in hours that a position can remain open before being automatically closed.
/// If null, time-based position closure is disabled.
/// </summary>
[Required] public decimal? MaxPositionTimeHours { get; internal set; }
/// <summary>
/// If true, positions will only be flipped when the current position is in profit.
/// </summary>
[Required] public bool FlipOnlyWhenInProfit { get; internal set; }
}
}

View File

@@ -0,0 +1,56 @@
using System.ComponentModel.DataAnnotations;
using Managing.Domain.Bots;
using Managing.Domain.Candles;
using Managing.Domain.Strategies;
using Managing.Domain.Trades;
namespace Managing.Api.Models.Responses
{
public class TradingBotResponse
{
/// <summary>
/// Current status of the bot (Up, Down, etc.)
/// </summary>
[Required] public string Status { get; internal set; }
/// <summary>
/// List of signals generated by the bot
/// </summary>
[Required] public List<Signal> Signals { get; internal set; }
/// <summary>
/// List of positions opened by the bot
/// </summary>
[Required] public List<Position> Positions { get; internal set; }
/// <summary>
/// Candles used by the bot for analysis
/// </summary>
[Required] public List<Candle> Candles { get; internal set; }
/// <summary>
/// Current win rate percentage
/// </summary>
[Required] public int WinRate { get; internal set; }
/// <summary>
/// Current profit and loss
/// </summary>
[Required] public decimal ProfitAndLoss { get; internal set; }
/// <summary>
/// Unique identifier for the bot
/// </summary>
[Required] public string Identifier { get; set; }
/// <summary>
/// Agent name associated with the bot
/// </summary>
[Required] public string AgentName { get; set; }
/// <summary>
/// The full trading bot configuration
/// </summary>
[Required] public TradingBotConfig Config { get; internal set; }
}
}