This commit is contained in:
2025-07-04 11:06:31 +07:00
parent 59c5de7df7
commit c9959f7550
2 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
using static Managing.Common.Enums;
namespace Managing.Infrastructure.Databases.MongoDb.Collections
{
public class RiskManagementDto
{
public decimal AdverseProbabilityThreshold { get; set; }
public decimal FavorableProbabilityThreshold { get; set; }
public decimal RiskAversion { get; set; }
public decimal KellyMinimumThreshold { get; set; }
public decimal KellyMaximumCap { get; set; }
public decimal MaxLiquidationProbability { get; set; }
public int SignalValidationTimeHorizonHours { get; set; }
public int PositionMonitoringTimeHorizonHours { get; set; }
public decimal PositionWarningThreshold { get; set; }
public decimal PositionAutoCloseThreshold { get; set; }
public decimal KellyFractionalMultiplier { get; set; }
public RiskToleranceLevel RiskTolerance { get; set; }
public bool UseExpectedUtility { get; set; }
public bool UseKellyCriterion { get; set; }
}
}

View File

@@ -0,0 +1,29 @@
using static Managing.Common.Enums;
namespace Managing.Infrastructure.Databases.MongoDb.Collections
{
public class TradingBotConfigDto
{
public string AccountName { get; set; }
public MoneyManagementDto MoneyManagement { get; set; }
public Ticker Ticker { get; set; }
public Timeframe Timeframe { get; set; }
public bool IsForWatchingOnly { get; set; }
public decimal BotTradingBalance { get; set; }
public bool IsForBacktest { get; set; }
public int CooldownPeriod { get; set; }
public int MaxLossStreak { get; set; }
public bool FlipPosition { get; set; }
public string Name { get; set; }
public RiskManagementDto RiskManagement { get; set; }
public ScenarioDto Scenario { get; set; }
public string ScenarioName { get; set; }
public decimal? MaxPositionTimeHours { get; set; }
public bool CloseEarlyWhenProfitable { get; set; }
public bool FlipOnlyWhenInProfit { get; set; }
public bool UseSynthApi { get; set; }
public bool UseForPositionSizing { get; set; }
public bool UseForSignalFiltering { get; set; }
public bool UseForDynamicStopLoss { get; set; }
}
}