diff --git a/src/Managing.Api/Controllers/BacktestController.cs b/src/Managing.Api/Controllers/BacktestController.cs index 6ddbb929..ee6fe412 100644 --- a/src/Managing.Api/Controllers/BacktestController.cs +++ b/src/Managing.Api/Controllers/BacktestController.cs @@ -1,6 +1,5 @@ using System.Text.Json; using Managing.Api.Models.Requests; -using Managing.Application.Abstractions; using Managing.Application.Abstractions.Services; using Managing.Application.Hubs; using Managing.Domain.Backtests; @@ -372,7 +371,7 @@ public class BacktestController : BaseController IsForWatchingOnly = request.Config.IsForWatchingOnly, BotTradingBalance = request.Config.BotTradingBalance, IsForBacktest = true, - CooldownPeriod = request.Config.CooldownPeriod, + CooldownPeriod = request.Config.CooldownPeriod ?? 1, MaxLossStreak = request.Config.MaxLossStreak, MaxPositionTimeHours = request.Config.MaxPositionTimeHours, FlipOnlyWhenInProfit = request.Config.FlipOnlyWhenInProfit, diff --git a/src/Managing.Api/Controllers/BotController.cs b/src/Managing.Api/Controllers/BotController.cs index d7a42bec..8778a237 100644 --- a/src/Managing.Api/Controllers/BotController.cs +++ b/src/Managing.Api/Controllers/BotController.cs @@ -218,7 +218,7 @@ public class BotController : BaseController } var result = await _mediator.Send(new StopAllUserBotsCommand(user)); - + if (result) { await NotifyBotSubscriberAsync(); @@ -724,7 +724,7 @@ public class BotController : BaseController Timeframe = request.Config.Timeframe, IsForWatchingOnly = request.Config.IsForWatchingOnly, BotTradingBalance = request.Config.BotTradingBalance, - CooldownPeriod = request.Config.CooldownPeriod, + CooldownPeriod = request.Config.CooldownPeriod ?? 1, MaxLossStreak = request.Config.MaxLossStreak, MaxPositionTimeHours = request.Config.MaxPositionTimeHours, FlipOnlyWhenInProfit = request.Config.FlipOnlyWhenInProfit, @@ -886,7 +886,7 @@ public class BotController : BaseController Timeframe = request.Config.Timeframe, IsForWatchingOnly = request.Config.IsForWatchingOnly, BotTradingBalance = request.Config.BotTradingBalance, - CooldownPeriod = request.Config.CooldownPeriod, + CooldownPeriod = request.Config.CooldownPeriod ?? 1, MaxLossStreak = request.Config.MaxLossStreak, MaxPositionTimeHours = request.Config.MaxPositionTimeHours, FlipOnlyWhenInProfit = request.Config.FlipOnlyWhenInProfit, diff --git a/src/Managing.Application/Workers/BundleBacktestWorker.cs b/src/Managing.Application/Workers/BundleBacktestWorker.cs index 0c4e9dac..714e5c27 100644 --- a/src/Managing.Application/Workers/BundleBacktestWorker.cs +++ b/src/Managing.Application/Workers/BundleBacktestWorker.cs @@ -256,7 +256,7 @@ public class BundleBacktestWorker : BaseWorker IsForWatchingOnly = runBacktestRequest.Config.IsForWatchingOnly, BotTradingBalance = runBacktestRequest.Config.BotTradingBalance, IsForBacktest = true, - CooldownPeriod = runBacktestRequest.Config.CooldownPeriod, + CooldownPeriod = runBacktestRequest.Config.CooldownPeriod ?? 1, MaxLossStreak = runBacktestRequest.Config.MaxLossStreak, MaxPositionTimeHours = runBacktestRequest.Config.MaxPositionTimeHours, FlipOnlyWhenInProfit = runBacktestRequest.Config.FlipOnlyWhenInProfit, diff --git a/src/Managing.Domain/Bots/TradingBotConfigRequest.cs b/src/Managing.Domain/Bots/TradingBotConfigRequest.cs index a75c1d51..77a6e81f 100644 --- a/src/Managing.Domain/Bots/TradingBotConfigRequest.cs +++ b/src/Managing.Domain/Bots/TradingBotConfigRequest.cs @@ -50,13 +50,11 @@ public class TradingBotConfigRequest /// /// Cooldown period between trades (in candles) /// - [Required] - public int CooldownPeriod { get; set; } + public int? CooldownPeriod { get; set; } /// /// Maximum consecutive losses before stopping the bot /// - [Required] public int MaxLossStreak { get; set; } /// diff --git a/src/Managing.WebApp/src/generated/ManagingApi.ts b/src/Managing.WebApp/src/generated/ManagingApi.ts index 0408abe4..8bb1889e 100644 --- a/src/Managing.WebApp/src/generated/ManagingApi.ts +++ b/src/Managing.WebApp/src/generated/ManagingApi.ts @@ -4073,8 +4073,8 @@ export interface TradingBotConfigRequest { botTradingBalance: number; name: string; flipPosition: boolean; - cooldownPeriod: number; - maxLossStreak: number; + cooldownPeriod?: number; + maxLossStreak?: number; scenario?: ScenarioRequest | null; scenarioName?: string | null; moneyManagementName?: string | null; diff --git a/src/Managing.WebApp/src/generated/ManagingApiTypes.ts b/src/Managing.WebApp/src/generated/ManagingApiTypes.ts index 639df725..3acabd3d 100644 --- a/src/Managing.WebApp/src/generated/ManagingApiTypes.ts +++ b/src/Managing.WebApp/src/generated/ManagingApiTypes.ts @@ -556,8 +556,8 @@ export interface TradingBotConfigRequest { botTradingBalance: number; name: string; flipPosition: boolean; - cooldownPeriod: number; - maxLossStreak: number; + cooldownPeriod?: number; + maxLossStreak?: number; scenario?: ScenarioRequest | null; scenarioName?: string | null; moneyManagementName?: string | null;