* Fixes for bots running * Up botmanager * Add cooldown * Refact can open position * Add cooldown Period and MaxLossStreak * Add agentName * Add env variable for botManager * Always enable Botmanager * Fix bot handle * Fix get positions * Add Ticker url * Dont start stopped bot * fix
32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
using Managing.Application.Abstractions;
|
|
using Managing.Application.ManageBot.Commands;
|
|
using MediatR;
|
|
|
|
namespace Managing.Application.ManageBot
|
|
{
|
|
/// <summary>
|
|
/// Handler for retrieving a specific strategy owned by a user
|
|
/// </summary>
|
|
public class GetUserStrategyCommandHandler : IRequestHandler<GetUserStrategyCommand, ITradingBot>
|
|
{
|
|
private readonly IBotService _botService;
|
|
|
|
public GetUserStrategyCommandHandler(IBotService botService)
|
|
{
|
|
_botService = botService;
|
|
}
|
|
|
|
public Task<ITradingBot> Handle(GetUserStrategyCommand request, CancellationToken cancellationToken)
|
|
{
|
|
var allActiveBots = _botService.GetActiveBots();
|
|
|
|
// Find the specific strategy that matches both user and strategy name
|
|
var strategy = allActiveBots
|
|
.FirstOrDefault(bot =>
|
|
bot.User.AgentName == request.AgentName &&
|
|
bot.Identifier == request.StrategyName);
|
|
|
|
return Task.FromResult(strategy);
|
|
}
|
|
}
|
|
} |