Update config
This commit is contained in:
@@ -142,7 +142,8 @@ namespace Managing.Application.ManageBot
|
||||
MaxPositionTimeHours = scalpingBotData.MaxPositionTimeHours == 0m ? null : scalpingBotData.MaxPositionTimeHours,
|
||||
FlipOnlyWhenInProfit = scalpingBotData.FlipOnlyWhenInProfit,
|
||||
IsForBacktest = false,
|
||||
FlipPosition = false
|
||||
FlipPosition = false,
|
||||
CloseEarlyWhenProfitable = scalpingBotData.CloseEarlyWhenProfitable
|
||||
};
|
||||
|
||||
bot = CreateScalpingBot(scalpingConfig);
|
||||
@@ -171,7 +172,8 @@ namespace Managing.Application.ManageBot
|
||||
MaxPositionTimeHours = flippingBotData.MaxPositionTimeHours == 0m ? null : flippingBotData.MaxPositionTimeHours,
|
||||
FlipOnlyWhenInProfit = flippingBotData.FlipOnlyWhenInProfit,
|
||||
IsForBacktest = false,
|
||||
FlipPosition = true
|
||||
FlipPosition = true,
|
||||
CloseEarlyWhenProfitable = flippingBotData.CloseEarlyWhenProfitable
|
||||
};
|
||||
|
||||
bot = CreateFlippingBot(flippingConfig);
|
||||
@@ -263,6 +265,23 @@ namespace Managing.Application.ManageBot
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Updates the configuration of an existing bot without stopping and restarting it.
|
||||
/// </summary>
|
||||
/// <param name="identifier">The bot identifier</param>
|
||||
/// <param name="newConfig">The new configuration to apply</param>
|
||||
/// <returns>True if the configuration was successfully updated, false otherwise</returns>
|
||||
public async Task<bool> UpdateBotConfiguration(string identifier, TradingBotConfig newConfig)
|
||||
{
|
||||
if (_botTasks.TryGetValue(identifier, out var botTaskWrapper) &&
|
||||
botTaskWrapper.BotInstance is TradingBot tradingBot)
|
||||
{
|
||||
return await tradingBot.UpdateConfiguration(newConfig);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public ITradingBot CreateScalpingBot(TradingBotConfig config)
|
||||
{
|
||||
return new ScalpingBot(
|
||||
|
||||
@@ -74,7 +74,8 @@ namespace Managing.Application.ManageBot
|
||||
MaxPositionTimeHours = request.Config.MaxPositionTimeHours, // Properly handle nullable value
|
||||
FlipOnlyWhenInProfit = request.Config.FlipOnlyWhenInProfit,
|
||||
FlipPosition = request.Config.FlipPosition,
|
||||
Name = request.Config.Name ?? request.Name
|
||||
Name = request.Config.Name ?? request.Name,
|
||||
CloseEarlyWhenProfitable = request.Config.CloseEarlyWhenProfitable
|
||||
};
|
||||
|
||||
switch (configToUse.BotType)
|
||||
|
||||
Reference in New Issue
Block a user