PnLFlow PnLFlow
RU EN UA
Все статьи Automation

Как безопасно подключить биржу через API — PnL Flow

Как безопасно подключить биржу через API — PnL Flow

Подключить биржу через API можно безопасно, если правильно настроить разрешения. API позволяет автоматически передавать историю сделок в торговый журнал PnL Flow без необходимости вручную переносить данные. Главное — использовать API только для чтения и не предоставлять разрешения на торговлю или вывод средств.

Главное правило — выдавать приложению только те разрешения, которые действительно нужны.

Разберёмся, что такое API, какие права следует включать и как безопасно подключить биржу к торговому журналу.

Как подключить биржу через API безопасно

API — это способ, с помощью которого один сервис может получать определённые данные из другого сервиса.

Например, торговый журнал может через API получать с биржи:

  • историю сделок;
  • открытые и закрытые позиции;
  • цены входа и выхода;
  • комиссии;
  • реализованный PnL;
  • информацию об ордерах;
  • торговые пары;
  • время открытия и закрытия сделок.

Благодаря этому трейдеру не нужно вручную переносить каждую сделку в журнал.

После подключения статистика может автоматически использоваться для расчёта:

  • прибыли и убытков;
  • винрейта;
  • Profit Factor;
  • средней прибыльной сделки;
  • средней убыточной сделки;
  • результатов по дням;
  • результатов по торговым инструментам;
  • эффективности разных стратегий.

API-ключ — это не пароль от биржи

Это важное отличие.

При создании API-ключа биржа позволяет выбрать, какие действия будут доступны подключённому сервису.

Например:

Read Only / Только чтение

Сервис может получать информацию о ваших сделках и аккаунте, но не может совершать операции.

Trading / Торговля

API получает возможность создавать и отменять ордера.

Withdraw / Вывод средств

API может получить право на вывод криптовалюты.

Для подключения торгового журнала обычно достаточно доступа только для чтения — Read Only.

Какие разрешения безопасно использовать

Если API используется исключительно для аналитики и ведения торгового журнала, рекомендуется предоставлять минимально необходимый доступ.

Обычно достаточно разрешений типа:

  • Read;
  • Read Only;
  • View;
  • Account Information;
  • Orders History;
  • Trade History;
  • Position History.

Название разрешения зависит от конкретной биржи.

Главный принцип простой:

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

Какие разрешения лучше не включать

При создании API-ключа внимательно проверяйте список доступных разрешений.

Если подключение используется только для аналитики, не следует включать:

Withdraw

Это разрешение на вывод средств.

Для торгового журнала оно не требуется.

Transfer

На некоторых биржах API позволяет переводить средства между счетами или кошельками.

Если функция не нужна — оставляйте её отключённой.

Trade

Разрешение позволяет создавать, изменять или отменять ордера.

Для автоматического ведения торгового журнала эта функция также обычно не требуется.

Оптимальная схема выглядит так:

Биржа → API Read Only → Торговый журнал

Сервис получает данные о сделках, но не получает управление аккаунтом.

Почему принцип минимальных прав настолько важен

В информационной безопасности существует принцип Least Privilege — минимально необходимых привилегий.

Его смысл заключается в том, что сервис получает только те права, которые нужны ему для выполнения своей задачи.

Если торговому журналу необходимо только получать историю сделок, значит API должен иметь только права на чтение.

Даже если API-ключ каким-либо образом окажется скомпрометирован, ограниченные разрешения значительно уменьшают потенциальные риски.

API Key и Secret Key

После создания API биржа обычно предоставляет два значения:

API Key — идентификатор API-подключения.

Secret Key — секретный ключ, который используется для авторизации запросов.

Secret Key необходимо хранить особенно внимательно.

Во многих биржах он показывается только один раз — сразу после создания API.

Не рекомендуется:

  • отправлять Secret Key в Telegram;
  • отправлять его посторонним людям;
  • хранить ключ в открытом текстовом файле;
  • публиковать скриншоты страницы API;
  • вставлять ключи на неизвестных сайтах;
  • использовать один API-ключ одновременно для большого количества сервисов.

Для каждого сервиса лучше создавать отдельный API-ключ.

Например:

PnL Flow Read Only

Так вы всегда будете понимать, для чего был создан конкретный ключ.

Используйте отдельный API для каждого сервиса

Допустим, вы используете:

  • торгового бота;
  • аналитическую платформу;
  • торговый журнал.

Лучше не использовать один API-ключ для всех трёх сервисов.

Создайте отдельные ключи.

Это позволяет в любой момент отключить конкретное подключение, не затрагивая остальные сервисы.

Например:

Trading Bot API

Analytics API

PnL Flow API

Если вы перестали пользоваться одним из сервисов, соответствующий ключ можно просто удалить на бирже.

Ограничение API по IP

Некоторые биржи позволяют указать IP-адреса, с которых разрешено использовать API.

Это называется IP Whitelist.

Если сервис поддерживает такую функцию и предоставляет фиксированные IP-адреса, ограничение по IP может стать дополнительным уровнем защиты.

В таком случае запросы API будут приниматься только с указанных серверов.

Даже если кто-то получит API-ключ, использовать его с другого IP может быть невозможно.

Однако возможность настройки зависит от конкретной биржи и способа работы подключаемого сервиса.

Включите двухфакторную аутентификацию

API — только одна часть безопасности биржевого аккаунта.

На самом аккаунте рекомендуется включить двухфакторную аутентификацию — 2FA.

Наиболее распространённый вариант — приложение-аутентификатор.

Дополнительно многие биржи позволяют настроить:

  • антифишинговый код;
  • подтверждение входа;
  • уведомления о новых устройствах;
  • whitelist адресов вывода;
  • отдельный пароль для операций;
  • ограничения API.

Чем лучше защищён сам биржевой аккаунт, тем выше общий уровень безопасности.

Регулярно проверяйте список API-ключей

Со временем легко забыть, каким сервисам вы когда-либо предоставляли API-доступ.

Поэтому периодически заходите в раздел API Management вашей биржи.

Проверьте:

  • какие ключи активны;
  • для каких сервисов они создавались;
  • какие разрешения имеют;
  • когда использовались последний раз;
  • нужен ли вам этот API до сих пор.

Если ключ больше не используется — лучше удалить его.

Что делать, если API-ключ мог попасть к посторонним

Если есть подозрение, что Secret Key был скомпрометирован, не нужно ждать появления подозрительной активности.

Самый безопасный вариант:

  1. Зайти на биржу.
  2. Открыть раздел управления API.
  3. Удалить скомпрометированный ключ.
  4. Создать новый API.
  5. Установить минимальные разрешения.
  6. Подключить новый ключ к нужному сервису.

После удаления старого API он перестанет работать.

Как подключение API помогает трейдеру

Основное преимущество API для торгового журнала — автоматизация.

Без API трейдеру приходится вручную записывать:

  • дату сделки;
  • торговую пару;
  • направление позиции;
  • цену входа;
  • цену выхода;
  • размер позиции;
  • результат;
  • комиссии.

Если сделок много, ручное ведение журнала быстро становится неудобным.

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

Какие данные действительно важны

Само наличие истории сделок ещё не делает трейдера лучше.

Основная ценность торгового журнала появляется тогда, когда данные превращаются в статистику.

Например, можно увидеть:

  • в какие дни недели торговля наиболее прибыльная;
  • на каких торговых парах результаты хуже;
  • какая средняя прибыль на сделку;
  • сколько составляет средний убыток;
  • какой винрейт у стратегии;
  • какие сделки приносят большую часть прибыли;
  • в какие периоды появляется серия убытков.

На длинной дистанции такие данные помогают находить повторяющиеся ошибки.

API против ручного импорта

Ручной импорт может подойти трейдеру, который совершает несколько сделок в месяц.

Но при активной торговле появляются проблемы:

  • сделки легко забыть;
  • данные можно внести неправильно;
  • комиссии часто не учитываются;
  • заполнение журнала занимает время;
  • статистика может оказаться неполной.

API помогает автоматизировать этот процесс.

При этом для аналитического сервиса нет необходимости предоставлять полный доступ к биржевому аккаунту.

Достаточно режима Read Only.

Безопасная схема подключения биржи

Перед подключением API можно использовать простой чек-лист:

  • включена двухфакторная аутентификация на бирже;
  • создан отдельный API-ключ для торгового журнала;
  • включены только разрешения на чтение;
  • разрешение на вывод средств отключено;
  • разрешение на перевод средств отключено;
  • торговые разрешения отключены, если они не требуются;
  • Secret Key нигде не публикуется;
  • старые и неиспользуемые API-ключи удалены;
  • при возможности настроено ограничение по IP.

Главное правило

API сам по себе не является опасным инструментом.

Риски возникают в основном тогда, когда API получает слишком много разрешений или секретный ключ хранится небезопасно.

Для торгового журнала придерживайтесь простого принципа:

только чтение данных — без торговли, переводов и вывода средств.

Так можно автоматизировать сбор статистики и анализировать свои сделки, не предоставляя сервису лишних возможностей.

Подробные права доступа и ограничения API лучше всегда проверять в официальной документации биржи.

Итак, подключить биржу через API безопасно можно только в том случае, если использовать минимальные права доступа и внимательно хранить API Key и Secret Key.

PnL Flow — анализ торговли вместо ручных таблиц

PnL Flow создан для системного анализа результатов трейдера.

Вместо того чтобы просто смотреть на итоговый баланс биржи, торговый журнал позволяет анализировать историю торговли, PnL, прибыльные и убыточные периоды и другие ключевые показатели.

Подключая биржу через API, всегда используйте минимально необходимые разрешения и внимательно проверяйте настройки доступа.

Хороший торговый журнал помогает ответить не только на вопрос «сколько я заработал?», но и на гораздо более важный вопрос — «почему я получил именно такой результат?»