docker files fixes from liaqat
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
using Managing.Domain.Accounts;
|
||||
using Managing.Domain.Users;
|
||||
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface IAccountService
|
||||
{
|
||||
Task<Account> CreateAccount(User user, Account account);
|
||||
bool DeleteAccount(User user, string name);
|
||||
IEnumerable<Account> GetAccountsByUser(User user, bool hideSecrets = true);
|
||||
IEnumerable<Account> GetAccounts(bool hideSecrets, bool getBalance);
|
||||
Task<Account> GetAccount(string name, bool hideSecrets, bool getBalance);
|
||||
Task<Account> GetAccountByUser(User user, string name, bool hideSecrets, bool getBalance);
|
||||
Task<Account> GetAccountByKey(string key, bool hideSecrets, bool getBalance);
|
||||
IEnumerable<Account> GetAccountsBalancesByUser(User user, bool hideSecrets = true);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using Managing.Domain.Accounts;
|
||||
using Managing.Domain.Backtests;
|
||||
using Managing.Domain.Candles;
|
||||
using Managing.Domain.MoneyManagements;
|
||||
using Managing.Domain.Scenarios;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Application.Abstractions
|
||||
{
|
||||
public interface IBacktester
|
||||
{
|
||||
Backtest RunScalpingBotBacktest(Account account, MoneyManagement moneyManagement, Ticker ticker, Scenario scenario, Timeframe timeframe, double days, decimal balance, bool isForWatchingOnly = false, bool save = false);
|
||||
Backtest RunFlippingBotBacktest(Account account, MoneyManagement moneyManagement, Ticker ticker, Scenario scenario, Timeframe timeframe, double days, decimal balance, bool isForWatchingOnly = false, bool save = false);
|
||||
IEnumerable<Backtest> GetBacktests();
|
||||
bool DeleteBacktest(string id);
|
||||
bool DeleteBacktests();
|
||||
Backtest RunScalpingBotBacktest(Account account, MoneyManagement moneyManagement, Scenario scenario, Timeframe timeframe, List<Candle> candles, decimal balance);
|
||||
Backtest RunFlippingBotBacktest(Account account, MoneyManagement moneyManagement, Scenario scenario, Timeframe timeframe, List<Candle> candles, decimal balance);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using Managing.Domain.Statistics;
|
||||
using Managing.Domain.Trades;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface IDiscordService
|
||||
{
|
||||
Task SendSignal(string message, TradingExchanges exchange, Ticker ticker, TradeDirection direction, Timeframe timeframe);
|
||||
Task SendPosition(Position position);
|
||||
Task SendClosingPosition(Position position);
|
||||
Task SendMessage(string v);
|
||||
Task SendTradeMessage(string message, bool isBadBehavior = false);
|
||||
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> traders);
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
using Managing.Domain.Trades;
|
||||
using Managing.Domain.Candles;
|
||||
using static Managing.Common.Enums;
|
||||
using Managing.Domain.Accounts;
|
||||
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface IExchangeService
|
||||
{
|
||||
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);
|
||||
Task<Trade> OpenStopLoss(Account account, Ticker ticker, TradeDirection originalDirection, decimal stopLossPrice,
|
||||
decimal quantity, bool isForPaperTrading = false, DateTime? currentDate = null);
|
||||
Task<List<Ticker>> GetTickers(Account account, Timeframe timeframe);
|
||||
Task<Trade> OpenTakeProfit(Account account, Ticker ticker, TradeDirection originalDirection, decimal takeProfitPrice,
|
||||
decimal quantity, bool isForPaperTrading = false, DateTime? currentDate = null);
|
||||
Task<Trade> ClosePosition(Account account, Position position, decimal lastPrice, bool isForPaperTrading = false);
|
||||
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);
|
||||
Task<List<Candle>> GetCandlesInflux(TradingExchanges exchange, Ticker ticker, DateTime startDate, Timeframe timeframe);
|
||||
decimal GetBestPrice(Account account, Ticker ticker, decimal lastPrice, decimal quantity, TradeDirection direction);
|
||||
Orderbook GetOrderbook(Account account, Ticker ticker);
|
||||
Trade BuildEmptyTrade(Ticker ticker, decimal price, decimal quantity, TradeDirection direction, decimal? leverage, TradeType tradeType, DateTime dateTime, TradeStatus tradeStatus = TradeStatus.PendingOpen);
|
||||
Task<List<Trade>> GetOpenOrders(Account account, Ticker ticker);
|
||||
Task<Trade> GetTrade(string reference, string orderId, Ticker ticker);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using Managing.Common;
|
||||
using Managing.Domain.Candles;
|
||||
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface IExchangeStream
|
||||
{
|
||||
Task StartBinanceWorker(Enums.Ticker ticker, Func<Candle, Task> action);
|
||||
Task StopBinanceWorker();
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using Managing.Domain.Statistics;
|
||||
using Managing.Domain.Trades;
|
||||
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);
|
||||
Task SendClosingPosition(Position position);
|
||||
Task SendMessage(string v);
|
||||
Task SendTradeMessage(string message, bool isBadBehavior = false);
|
||||
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);
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface IStreamService
|
||||
{
|
||||
Task SubscribeCandle();
|
||||
Task UnSubscribeCandle();
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using Managing.Common;
|
||||
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface ITickerService
|
||||
{
|
||||
Task<List<Enums.Ticker>> GetAvailableTicker();
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
using Managing.Domain.Statistics;
|
||||
using Managing.Domain.Trades;
|
||||
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface ITradaoService
|
||||
{
|
||||
Task<List<Trader>> GetBadTrader();
|
||||
Task<List<Trader>> GetBestTrader();
|
||||
Task<List<Trade>> GetTrades(string address);
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
using Managing.Common;
|
||||
using Managing.Domain.Accounts;
|
||||
using Managing.Domain.Scenarios;
|
||||
using Managing.Domain.Statistics;
|
||||
using Managing.Domain.Strategies;
|
||||
using Managing.Domain.Trades;
|
||||
using static Managing.Common.Enums;
|
||||
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface ITradingService
|
||||
{
|
||||
Scenario GetScenarioByName(string scenario);
|
||||
void InsertSignal(Signal signal);
|
||||
void InsertPosition(Position position);
|
||||
void UpdatePosition(Position position);
|
||||
Strategy GetStrategyByName(string strategy);
|
||||
void InsertScenario(Scenario scenario);
|
||||
void InsertStrategy(Strategy strategy);
|
||||
IEnumerable<Scenario> GetScenarios();
|
||||
IEnumerable<Strategy> GetStrategies();
|
||||
void DeleteScenario(string name);
|
||||
void DeleteStrategy(string name);
|
||||
void DeleteScenarios();
|
||||
void DeleteStrategies();
|
||||
Position GetPositionByIdentifier(string identifier);
|
||||
IEnumerable<Position> GetPositions(PositionInitiator positionInitiator);
|
||||
IEnumerable<Position> GetPositions();
|
||||
IEnumerable<Position> GetPositionsByStatus(Enums.PositionStatus positionStatus);
|
||||
Task<Position> ManagePosition(Account account, Position position);
|
||||
void UpdateFee(TradingExchanges evm);
|
||||
decimal GetFee(Account account, bool isForPaperTrading = false);
|
||||
Task WatchTrader();
|
||||
IEnumerable<Trader> GetTradersWatch();
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using Managing.Domain.Users;
|
||||
|
||||
namespace Managing.Application.Abstractions.Services;
|
||||
|
||||
public interface IUserService
|
||||
{
|
||||
Task<User> Authenticate(string name, string address, string message, string signature);
|
||||
Task<User> GetUserByAddressAsync(string address);
|
||||
}
|
||||
Reference in New Issue
Block a user