/** * Open trade */ export declare type OpenTrade = { /** * _id historical trade id */ _id: string; /** * MetaApi account id */ accountId: string; /** * trade volume */ volume: number; /** * trade duration in minutes */ durationInMinutes: number; /** * trade profit */ profit: number; /** * trade gain */ gain: number; /** * trade success */ success: string; /** * time the trade was opened at in broker timezone, YYYY-MM-DD HH:mm:ss.SSS format */ openTime: string; /** * trade type */ type: string; /** * symbol the trade relates to */ symbol: string; /** * trade opening price */ openPrice: number; /** * the number of pips earned (positive) or lost (negative) in this trade */ pips: number; /** * trade risk in % of balance */ riskInBalancePercent?: number; /** * trade risk in pips */ riskInPips?: number; /** * trade comment */ comment?: string; /** * trade market value */ marketValue?: number; }; /** * Historical trade */ export declare type Trade = { /** * historical trade id */ _id: string; /** * MetaApi account id */ accountId: string; /** * trade volume */ volume: number; /** * trade duration in minutes */ durationInMinutes: number; /** * trade profit */ profit: number; /** * trade gain */ gain: number; /** * trade success */ success: string; /** * time the trade was opened at in broker timezone, YYYY-MM-DD HH:mm:ss.SSS format */ openTime: string; /** * trade type */ type: string; /** * symbol the trade relates to */ symbol?: string; /** * time the trade was closed at in broker timezone, YYYY-MM-DD HH:mm:ss.SSS format */ closeTime?: string; /** * trade opening price */ openPrice?: number; /** * trade closing price */ closePrice?: number; /** * the number of pips earned (positive) or lost (negative) in this trade */ pips?: number; /** * trade risk in % of balance */ riskInBalancePercent?: number; /** * trade risk in pips */ riskInPips?: number; /** * trade comment */ comment?: string; /** * trade market value */ marketValue?: number; }; /** * profit from trading a currency pair in one trading day */ export declare type CurrencySummaryHistoryDayMetrics = { /** * date of trading day, in broker timezone, YYYY-MM-DD format */ date: string; /** * total profit at the end of the day */ totalProfit: number; /** * total pips of trading day */ totalPips?: number; /** * total profit of short trades per day */ shortProfit?: number; /** * total profit of long trades per day */ longProfit?: number; /** * total pips of short trades per day */ shortPips?: number; /** * total pips of long trades per day */ longPips?: number; }; /** * provides general data of this currency trading */ export declare type CurrencySummaryTotalMetrics = { /** * cumulative profit of this currency trading */ profit: number; /** * the number of all trades with this currency */ trades: number; /** * cumulative pips of this currency trading */ pips?: number; /** * the number of winning trades with this currency */ wonTrades?: number; /** * the number of losing trades with this currency */ lostTrades?: number; /** * percentage of winning trades with this currency */ wonTradesPercent?: number; /** * percentage of losing trades with this currency */ lostTradesPercent?: number; }; /** * provides profit and number of trades in specific trade and currency */ export declare type CurrencySummaryTradeMetrics = { /** * cumulative profit of this currency trading */ profit: number; /** * the number of all trades with this currency */ trades: number; /** * cumulative pips of this currency trading */ pips?: number; }; /** * provides statistics on winning and losing trades indicating * the amount in the context of long and short positions. * Statistics is given for all currency pairs, for which positions were opened */ export declare type CurrencySummaryMetrics = { /** * trading currency pair */ currency: string; /** * history of trading a currency pair per trading days */ history: Array; /** * general data (such as profit, number of trades) about trading a specific currency pair */ total: CurrencySummaryTotalMetrics; /** * profit and number of trades of short trades in a specific currency */ short?: CurrencySummaryTradeMetrics; /** * profit and number of trades of long trades in a specific currency */ long?: CurrencySummaryTradeMetrics; }; /** * provides statistics for one trade period compared to * the results for the previous period */ export declare type PeriodMetrics = { /** * cumulative profit of this period */ profit: number; /** * cumulative pips of this period */ pips: number; /** * cumulative lots of this period */ lots: number; /** * gain of this period */ gain: number; /** * the number of trades of this period */ trades: number; /** * percentage of winning trades of this period */ wonTradesPercent: number; /** * difference in profit with the previous period */ profitDifference: number; /** * difference in pips with the previous period */ pipsDifference: number; /** * difference in lots with the previous period */ lotsDifference: number; /** * difference in gain with the previous period */ gainDifference: number; /** * difference in the number of trades with the previous period */ tradesDifference: number; /** * difference in percentage of winning trades with the previous period */ wonTradesPercentDifference: number; }; /** * provides statistics for today, this week, this month, this year */ export declare type Periods = { /** * trade information for today */ today?: PeriodMetrics; /** * trade information for this week */ thisWeek?: PeriodMetrics; /** * trade information for this month */ thisMonth?: PeriodMetrics; /** * trade information for this year */ thisYear?: PeriodMetrics; }; /** * provides each profit received from the volume of trade and changes in * balance, total accumulated income and existing account drawdown by day */ export declare type DailyGrowthMetrics = { /** * date of trading day in broker timezone, YYYY-MM-DD format */ date: string; /** * cumulative profit per day */ profit?: number; /** * cumulative pips per day */ pips?: number; /** * cumulative lots per day */ lots?: number; /** * cumulative gains per day */ gains?: number; /** * total profit in this day end */ totalProfit: number; /** * total gains in this day end */ totalGains: number; /** * balance in this day end */ balance: number; /** * percentage of balance drawdown in this day end */ drawdownPercentage?: number; /** * maximum registered balance drawdown in basic currency during this day */ drawdownProfit?: number; }; /** * currency pair trading information for monthly analysis */ export declare type MonthlyAnalyticCurrencyMetrics = { /** * currency pair */ currency: string; /** * average holding time of long trades */ averageHoldingTimeLongsInMilliseconds?: number; /** * average holding time of short trades */ averageHoldingTimeShortsInMilliseconds?: number; /** * the difference between reward and risk, where the lesser is always one. * So 0 means reward:risk=1:1, 2 means 3:1, -0.5 means 1:1.5 */ rewardToRiskRatio: number; /** * the percentage of popularity of this currency this month */ popularityPercent: number; }; /** * monthly analysis of trading on this account */ export declare type MonthlyAnalyticsMetrics = { /** * date of trading month in broker timezone, YYYY-MM format */ date: string; /** * cumulative profit per month */ profit: number; /** * cumulative pips per month */ pips: number; /** * cumulative lots per month */ lots: number; /** * cumulative gains per month */ gains: number; /** * the number of trades of this month */ trades: number; /** * @property {Array} [currencies] list of currency pair trading * informations for monthly analysis */ currencies: Array; }; /** * opening/closing deals by days of the week or by by hours of the day */ export declare type TradeByTimeMetrics = { /** * date of trading month in broker timezone, YYYY-MM format */ date: string; /** * the total profit of the trades at this time */ profit: number; /** * the total profit of short trades at this time */ shortProfit?: number; /** * the total profit of long trades at this time */ longProfit?: number; /** * the total profit of winning trades at this time */ wonProfit?: number; /** * the total profit of losing trades at this time */ lostProfit?: number; /** * the total pips of the trades at this time */ pips?: number; /** * the total pips of short trades at this time */ shortPips?: number; /** * the total pips of long trades at this time */ longPips?: number; /** * the total pips of winning trades at this time */ wonPips?: number; /** * the total pips of losing trades at this time */ lostPips?: number; /** * cumulative lots of trades at this time */ lots: number; /** * cumulative gains of trades at this time */ gains: number; /** * cumulative gains of short trades at this time */ shortGains?: number; /** * cumulative gains of long trades at this time */ longGains?: number; /** * cumulative gains of winning trades at this time */ wonGains?: number; /** * cumulative gains of losing trades at this time */ lostGains?: number; /** * the number of all trades at this time */ trades: number; /** * the number of short trades at this time */ shortTrades?: number; /** * the number of long trades at this time */ longTrades?: number; /** * the number of winning trades at this time */ wonTrades?: number; /** * the number of losing trades at this time */ lostTrades?: number; /** * percentage of short trades at this time */ shortTradesPercent?: number; /** * percentage of long trades at this time */ longTradesPercent?: number; /** * percentage of winning trades at this time */ wonTradesPercent?: number; /** * percentage of losing trades at this time */ lostTradesPercent?: number; /** * day hour (only for by hour case)', within 0-23 */ hour?: number; /** * weekday number (only for by day case), within 0-6 */ day?: number; }; /** * risk of ruin of balance metrics */ export declare type RiskOfRuinMetrics = { /** * loss size of balance */ lossSize: number; /** * probability of loss shows the risk of losing a particular part of the balance */ probabilityOfLoss: number; /** * the number of losing trades that must be entered sequentially * in order for this part of the balance to be lost */ consecutiveLosingTrades: number; }; /** * metrics of one trade duration */ export declare type OneTradeDurationMetrics = { /** * list of gains for this duration */ gains: Array; /** * list of profits for this duration */ profits: Array; /** * list of lots for this duration */ lots: Array; /** * list of pips for this duration */ pips?: Array; /** * duration of trades in minutes */ durationInMinutes: number; }; /** * metrics for each duration of trades */ export declare type TradeDurationMetrics = { /** * metrics of winning trades */ won?: Array; /** * metrics of losing trades */ lost?: Array; }; /** * collection of metrics of trades in the current column for the diagram */ export declare type TradeDurationDiagramColumnCollectionMetrics = { /** * list of gains */ gains: Array; /** * list of profits */ profits: Array; /** * list of lots */ lots: Array; /** * list of pips */ pips?: Array; }; /** * information column about the duration of trades for the diagram */ export declare type TradeDurationDiagramColumnMetrics = { /** * the number of durations in this column */ durations: number; /** * the number of trades in this column */ trades: number; /** * name of this column, one of 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months' */ name: string; /** * minimum trade duration in this column in seconds */ minDurationInSeconds: number; /** * maximum trade duration in this column in seconds */ maxDurationInSeconds?: number; /** * collection of metrics of winning trades in this column */ won?: TradeDurationDiagramColumnCollectionMetrics; /** * collection of metrics of losing trades in this column */ lost?: TradeDurationDiagramColumnCollectionMetrics; }; /** * trading statistics metrics */ export declare type Metrics = { /** * indicates whether open positions are included in the metrics, * "false" means that there are no open positions. Only for a request with includeOpenPositions=true */ inclusive?: boolean; /** * money on the account, not accounting for the results of currently open positions */ balance: number; /** * date of maximum balance that have ever been on the account, * in broker timezone, YYYY-MM-DD HH:mm:ss.SSS format */ highestBalanceDate?: string; /** * maximum balance that have ever been on the account */ highestBalance?: number; /** * the result (current amount) of all positions, including opened */ equity: number; /** * current value of margin */ margin: number; /** * current value of free margin */ freeMargin: number; /** * current value of margin level */ marginLevel?: number; /** * total number of closed positions on the account */ trades: number; /** * total amount withdrawn from the deposit */ withdrawals?: number; /** * average trade length * (time from open to close) in milliseconds */ averageTradeLengthInMilliseconds?: number; /** * the best profit from one trade that has ever been on the account */ bestTrade?: number; /** * the worst profit from one trade that has ever been on the account */ worstTrade?: number; /** * the best pips from one trade that has ever been on the account */ bestTradePips?: number; /** * the worst pips from one trade that has ever been on the account */ worstTradePips?: number; /** * date of the best profit from one trade that have ever been on the account, * in broker timezone, YYYY-MM-DD HH:mm:ss.SSS format */ bestTradeDate?: string; /** * date of the best pips from one trade that have ever been on the account, * in broker timezone, YYYY-MM-DD HH:mm:ss.SSS format */ bestTradePipsDate?: string; /** * date of the worst profit from one trade that have ever been on the account, * in broker timezone, YYYY-MM-DD HH:mm:ss.SSS format */ worstTradeDate?: string; /** * date of the worst pips from one trade that have ever been on the account, * in broker timezone, YYYY-MM-DD HH:mm:ss.SSS format */ worstTradePipsDate?: string; /** * compound annual growth rate */ cagr?: number; /** * commissions charged by the broker for the entire period */ commissions?: number; /** * compound daily rate of return */ dailyGain?: number; /** * compound monthly rate of return */ monthlyGain?: number; /** * percentage of current equity to balance */ equityPercent?: number; /** * the average expected profitability of one trade in basic currency */ expectancy?: number; /** * the average expected profitability of one trade in pips */ expectancyPips?: number; /** * time-weighted rate of return */ gain?: number; /** * geometric holding period return */ geometricHoldingPeriodReturn?: number; /** * cumulative interest and swap for the entire period */ interest?: number; /** * the number of long trades */ longTrades?: number; /** * the number of short trades */ shortTrades?: number; /** * the number of long winning trades */ longWonTrades?: number; /** * the number of short winning trades */ shortWonTrades?: number; /** * percentage of long winning trades */ longWonTradesPercent?: number; /** * percentage of short winning trades */ shortWonTradesPercent?: number; /** * percentage of maximum drawdown of balance during the entire trading history */ maxDrawdown?: number; /** * mar ratio */ mar?: number; /** * total volume of trades */ lots?: number; /** * cumulative price units */ pips?: number; /** * the total yield of closed positions for the entire period (total result) */ profit: number; /** * cumulative deposit for the entire period */ deposits: number; /** * simple deposit increase without regard to reinvestment */ absoluteGain?: number; /** * the amount yielded by winning trades divided by the amount * of losses yielded by losing trades. Result in range 0 - Infinity means: `0` - only loss, `1` - profit equals to * loss, `Infinity` - only profit. */ profitFactor?: number; /** * average return earned in excess of the risk-free rate per unit of volatility. * It is calculated if there are at least 30 closed deals in the history */ sharpeRatio?: number; /** * differentiates harmful volatility from total overall volatility. * It is calculated if there are at least 30 closed deals in the history */ sortinoRatio?: number; /** * statistical measure of volatility shows how much * variation or dispersion. It is calculated if there are at least 30 closed deals in the history */ standardDeviationProfit?: number; /** * a statistical measure that is used to describe profit distribution. * It is calculated if there are at least 30 closed deals in the history */ kurtosisProfit?: number; /** * average holding period return. * It is calculated if there are at least 30 closed deals in the history */ averageHoldingPeriodReturn?: number; /** * average win in basic currency */ averageWin?: number; /** * average win in pips */ averageWinPips?: number; /** * average loss in basic currency */ averageLoss?: number; /** * average loss in pips */ averageLossPips?: number; /** * percentage of winning trades */ wonTradesPercent?: number; /** * percentage of losing trades */ lostTradesPercent?: number; /** * ability of a trading system to generate wins and losses in streaks. * It is calculated if there are at least 30 closed deals in the history */ zScore?: number; /** * probability that a profit will be followed by a profit and a loss by a loss */ probability?: number; /** * the number of days that have passed since the opening of the first trade */ daysSinceTradingStarted?: number; /** * currency trading summary */ currencySummary?: Array; /** * daily gain shows the change in account profitability on trading days */ dailyGrowth?: Array; /** * monthly analysis of trading on this account */ monthlyAnalytics?: Array; /** * closing deals by days of the week */ closeTradesByWeekDay?: Array; /** * opening deals by hour of the day */ openTradesByHour?: Array; /** * trading stats for a few periods compared to the results for the previous period */ periods?: Periods; /** * risk of ruin of balance */ riskOfRuin?: Array; /** * metrics for each duration of trades */ tradeDuration?: TradeDurationMetrics; /** * list of information columns about the duration of trades for the diagram */ tradeDurationDiagram?: Array; /** * total market value of all trades on the account */ totalTradeMarketValue?: number; };