From c9959f75501a775d65aae47870671c1e05c932de Mon Sep 17 00:00:00 2001 From: cryptooda Date: Fri, 4 Jul 2025 11:06:31 +0700 Subject: [PATCH] add dto --- .../MongoDb/Collections/RiskManagementDto.cs | 22 ++++++++++++++ .../Collections/TradingBotConfigDto.cs | 29 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 src/Managing.Infrastructure.Database/MongoDb/Collections/RiskManagementDto.cs create mode 100644 src/Managing.Infrastructure.Database/MongoDb/Collections/TradingBotConfigDto.cs diff --git a/src/Managing.Infrastructure.Database/MongoDb/Collections/RiskManagementDto.cs b/src/Managing.Infrastructure.Database/MongoDb/Collections/RiskManagementDto.cs new file mode 100644 index 0000000..1071cc0 --- /dev/null +++ b/src/Managing.Infrastructure.Database/MongoDb/Collections/RiskManagementDto.cs @@ -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; } + } +} \ No newline at end of file diff --git a/src/Managing.Infrastructure.Database/MongoDb/Collections/TradingBotConfigDto.cs b/src/Managing.Infrastructure.Database/MongoDb/Collections/TradingBotConfigDto.cs new file mode 100644 index 0000000..1ff1118 --- /dev/null +++ b/src/Managing.Infrastructure.Database/MongoDb/Collections/TradingBotConfigDto.cs @@ -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; } + } +} \ No newline at end of file