* Add FundingRate interfaces and worker * Add build on PR * Remove zip * Specify the solution path * Add build for worker too * Set up StatisticService.cs for funding rate * Add Fundingrate alerts * Send alert when big funding rate change + add SlashCommands.cs for fundingrate * Remove fixtures * Refact names * Renames
42 lines
1.7 KiB
C#
42 lines
1.7 KiB
C#
using Managing.Common;
|
|
using Managing.Domain.Accounts;
|
|
using Managing.Domain.Candles;
|
|
using Managing.Domain.Statistics;
|
|
using Managing.Domain.Trades;
|
|
using static Managing.Common.Enums;
|
|
|
|
namespace Managing.Infrastructure.Exchanges.Abstractions;
|
|
|
|
public interface IExchangeProcessor
|
|
{
|
|
public Enums.TradingExchanges Exchange();
|
|
void LoadClient(Account account);
|
|
Task<Trade> OpenTrade(
|
|
Account account,
|
|
Ticker ticker,
|
|
TradeDirection direction,
|
|
decimal price,
|
|
decimal quantity,
|
|
decimal? leverage = null,
|
|
TradeType tradeType = TradeType.Limit,
|
|
bool reduceOnly = false,
|
|
bool isForPaperTrading = false,
|
|
DateTime? currentDate = null,
|
|
bool ioc = true);
|
|
Task<decimal> GetBalance(Account account, bool isForPaperTrading = false);
|
|
Task<List<Balance>> GetBalances(Account account, bool isForPaperTrading = false);
|
|
decimal GetPrice(Account account, Ticker ticker, DateTime date);
|
|
Task<Trade> GetTrade(Account account, string order, Ticker ticker);
|
|
Task<List<Candle>> GetCandles(Account account, Ticker ticker, DateTime startDate, Timeframe interval);
|
|
decimal GetVolume(Account account, Ticker ticker);
|
|
Task<List<Trade>> GetTrades(Account account, Ticker ticker);
|
|
Task<bool> CancelOrder(Account account, Ticker ticker);
|
|
decimal GetFee(Account account, bool isForPaperTrading = false);
|
|
Candle GetCandle(Account account, Ticker ticker, DateTime date);
|
|
Task<decimal> GetQuantityInPosition(Account account, Ticker ticker);
|
|
Orderbook GetOrderbook(Account account, Ticker ticker);
|
|
Task<List<Trade>> GetOrders(Account account, Ticker ticker);
|
|
Task<Trade> GetTrade(string reference, string orderId, Ticker ticker);
|
|
Task<List<FundingRate>> GetFundingRates();
|
|
}
|