Upscale
Menu
On this page

Получить торговую статистику аккаунта трейдера

Попробовать ↓
GET/accounts/{accountId}/stats
Получить торговую статистику аккаунта трейдераАккаунты

Агрегирует по закрытым позициям аккаунта: доля выигрышей, средняя прибыль и убыток, соотношение риска и вознаграждения, максимальная просадка и среднее время удержания.

  • Отвечает пустым телом, пока у аккаунта ещё нет закрытых позиций.
  • Охватывает каждую фазу, через которую прошёл аккаунт, а не только текущую.
Базовый URL https://api.upscale.trade

Авторизация

bearerhttp · bearerобязательно

Персональный API-ключ с префиксом usk_.

Параметры

Путь
accountIdstring · uuidобязательно

Идентификатор торгового аккаунта. Должен принадлежать вызывающей стороне.

Пример: 00000000-0000-4000-8000-000000000000

Примеры

curl --request GET 'https://api.upscale.trade/accounts/{accountId}/stats' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY'

Ответы

200Ответapplication/json
sumPnlstring · fp9обязательно

Realised pnl summed over every closed position, fp9 raw, before fees and funding.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
sumFeestring · fp9обязательно

Trading fees paid over every closed position, fp9 raw.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
sumFundingstring · fp9обязательно

Funding settled over every closed position, fp9 raw. Positive when the account received more than it paid.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
profitstring · fp9обязательно

Net result of the closed positions, fp9 raw: pnl minus fees plus funding. This is what the win rate splits on.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
positionsCountnumberобязательно

Number of closed positions the statistics are built from.

Пример: 0
profitablePositionsCountnumberобязательно

Closed positions that ended at or above break-even.

Пример: 0
unprofitablePositionsCountnumberобязательно

Closed positions that ended below break-even.

Пример: 0
winratePercentnumberобязательно

Share of closed positions that ended at or above break-even, in percent with two decimals.

Пример: 62.5
minProfitstring · fp9 · nullableобязательно

Smallest win among profitable positions, fp9 raw. Null when there is none.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
minLossstring · fp9 · nullableобязательно

Smallest loss among losing positions, fp9 raw (negative, closest to zero). Null when there is none.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
maxProfitstring · fp9 · nullableобязательно

Largest win, fp9 raw. Null when no position ended in profit.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
maxLossstring · fp9 · nullableобязательно

Largest loss, fp9 raw (the most negative value). Null when no position ended in loss.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
avgProfitstring · fp9 · nullableобязательно

Average win across profitable positions, fp9 raw. Null when there is none.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
avgLossstring · fp9 · nullableобязательно

Average loss across losing positions, fp9 raw (negative). Null when there is none.

pattern
^(?:-?[1-9][0-9]*|0)$
Пример: 1000000000
riskRewardRationumber · nullableобязательно

Average win over the absolute average loss. Null while no losing position exists to divide by.

Пример: 1.8
maxDrawdownPercentnumber · nullableобязательно

Deepest equity drawdown of the account across all its phases, in percent with two decimals.

Пример: 12.34
avgLongPositionHoldTimenumber · nullableобязательно

Average holding time of long positions, in seconds.

Пример: 0
avgShortPositionHoldTimenumber · nullableобязательно

Average holding time of short positions, in seconds.

Пример: 0
avgPositionHoldTimenumber · nullableобязательно

Average holding time across all closed positions, in seconds.

Пример: 0
medianPositionHoldTimenumber · nullableобязательно

Median holding time across all closed positions, in seconds.

Пример: 0
maxProfitablePositionHoldTimenumber · nullableобязательно

Longest a profitable position was held, in seconds.

Пример: 0
maxUnprofitablePositionHoldTimenumber · nullableобязательно

Longest a losing position was held, in seconds.

Пример: 0
medianProfitablePositionHoldTimenumber · nullableобязательно

Median holding time of profitable positions, in seconds.

Пример: 0
medianUnprofitablePositionHoldTimenumber · nullableобязательно

Median holding time of losing positions, in seconds.

Пример: 0
avgLeverageProfitablePositionnumber · nullableобязательно

Average leverage of profitable positions — notional over margin, as a plain multiple.

Пример: 12
avgLeverageUnprofitablePositionnumber · nullableобязательно

Average leverage of losing positions — notional over margin, as a plain multiple.

Пример: 20
topMarketstring · nullableобязательно

Base asset ticker of the most traded market, by number of closed positions. Null when nothing has been closed.

Пример: BTC
topMarketPercentnumber · nullableобязательно

Share of closed positions that were on topMarket, in percent with two decimals.

Пример: 41.67
401

Неавторизовано

403

Аккаунт принадлежит другому пользователю (account_access_denied), или запрос аутентифицирован с помощью API-ключа, тогда как api_trading отключён на аккаунте (api_trading_not_enabled).

404

Нет аккаунта с этим идентификатором.

429

Превышен лимит частоты запросов API-ключа (api_key_rate_limit_exceeded). Retry-After указывает, когда вернуться; тело содержит бакет (read / write), окно, которое сработало, его лимит и retryAt.