UNPKG

myfxbook-api-client

Version:
149 lines (148 loc) 3.33 kB
export interface ApiConstructor { email: string; password: string; } export interface ApiResponseBase { error: boolean; message: string; } export interface LoginData extends ApiResponseBase { session: string; } export interface OutlookData extends ApiResponseBase { symbols: OutlookSymbol[]; general: OutlookGeneral; } export interface OutlookDataByCountry extends ApiResponseBase { countries: OutlookCountry[]; } export interface MyAccounts extends ApiResponseBase { accounts: TradingAccount[]; } export interface WatchedAccounts extends ApiResponseBase { accounts: WatchedAccount[]; } export interface OpenOrders extends ApiResponseBase { accounts: OpenOrder[]; } export interface OpenTrades extends ApiResponseBase { accounts: Trade[]; } export interface TradeHistory extends ApiResponseBase { history: Trade[]; } export interface DailyGain extends ApiResponseBase { dailyGain: Array<[DayGain]>; } export interface Gain extends ApiResponseBase { value: number; } export interface DailyData extends ApiResponseBase { dataDaily: Array<[DayData]>; } interface DayGain { date: string; value: number; profit: number; } interface Trade extends OpenOrder { profit: number; pips: number; swap: number; magic: number; } interface OpenOrder { openTime: string; symbol: string; action: string; sizing: { type: string; value: string; }; openPrice: number; tp: number; sl: number; comment: string; } interface TradingAccount { id: number; name: string; description: string; accountId: number; gain: number; absGain: number; daily: number; monthly: number; withdrawals: number; deposits: number; interest: number; profit: number; balance: number; drawdown: number; equity: number; equityPercent: number; demo: boolean; lastUpdateDate: string; creationDate: string; firstTradeDate: string; tracking: number; views: number; commission: number; currency: string; profitFactor: number; pips: number; invitationUrl: string; server: { name: string; }; } interface WatchedAccount { name: string; gain: number; drawdown: number; demo: boolean; change: number; } interface OutlookSymbol { name: string; shortPercentage: number; longPercentage: number; shortVolume: number; longVolume: number; longPositions: number; shortPositions: number; totalPositions: number; avgShortPrice: number; avgLongPrice: number; } interface OutlookGeneral { demoAccountsPercentage: number; realAccountsPercentage: number; profitablePercentage: number; nonProfitablePercentage: number; fundsWon: string; fundsLost: string; averageDeposit: string; averageAccountProfit: string; averageAccountLoss: string; totalFunds: string; } interface OutlookCountry { name: string; code: string; longVolume: number; shortVolume: number; longPositions: number; shortPositions: number; } interface DayData { date: string; balance: number; pips: number; lots: number; floatingPL: number; profit: number; growthEquity: number; floatingPips: number; } export {};