Files
managing-apps/src/Managing.Application.Abstractions/Services/IMessengerService.cs
2025-10-06 01:34:13 +07:00

31 lines
1.4 KiB
C#

using Managing.Domain.Backtests;
using Managing.Domain.Statistics;
using Managing.Domain.Trades;
using Managing.Domain.Users;
using static Managing.Common.Enums;
namespace Managing.Application.Abstractions.Services;
public interface IMessengerService
{
Task SendSignal(string message, TradingExchanges exchange, Ticker ticker, TradeDirection direction,
Timeframe timeframe);
Task SendPosition(Position position);
void SendClosingPosition(Position position);
Task SendMessage(string message);
Task SendMessage(string message, string channelId);
Task SendTradeMessage(string message, bool isBadBehavior = false, User user = null);
Task SendIncreasePosition(string address, Trade trade, string copyAccountName, Trade? oldTrade = null);
Task SendClosedPosition(string address, Trade oldTrade);
Task SendDecreasePosition(string address, Trade newTrade, decimal decreaseAmount);
Task SendBestTraders(List<Trader> traders);
Task SendBadTraders(List<Trader> filteredTrader);
Task SendDowngradedFundingRate(FundingRate oldRate);
Task SendNewTopFundingRate(FundingRate newRate);
Task SendFundingRateUpdate(FundingRate oldRate, FundingRate newRate);
Task SendBacktestNotification(Backtest backtest);
Task SendGeneticAlgorithmNotification(GeneticRequest request, double bestFitness, object? bestChromosome);
Task SendClosedPosition(Position position, User user);
}