40 lines
1.6 KiB
C#
40 lines
1.6 KiB
C#
using Managing.Domain.Accounts;
|
|
using Managing.Domain.Scenarios;
|
|
using Managing.Domain.Statistics;
|
|
using Managing.Domain.Strategies;
|
|
using Managing.Domain.Trades;
|
|
using Managing.Infrastructure.Evm.Models.Privy;
|
|
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);
|
|
Indicator GetStrategyByName(string strategy);
|
|
void InsertScenario(Scenario scenario);
|
|
void InsertStrategy(Indicator indicator);
|
|
IEnumerable<Scenario> GetScenarios();
|
|
IEnumerable<Indicator> 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(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();
|
|
void UpdateDeltaNeutralOpportunities();
|
|
void UpdateScenario(Scenario scenario);
|
|
void UpdateStrategy(Indicator indicator);
|
|
Task<IEnumerable<Position>> GetBrokerPositions(Account account);
|
|
Task<PrivyInitAddressResponse> InitPrivyWallet(string publicAddress);
|
|
} |