AlgoVesta › Глоссарий › Лимит запросов биржи

Исполнение ордеров

Лимит запросов биржи

Лимит запросов (rate limit) биржи — это максимальное число запросов к API или максимальный «вес» запросов, которые биржа принимает от одного IP-адреса или API-ключа за заданный промежуток времени; превышение этого лимита возвращает ошибки, а при продолжении — временный бан IP или ключа.

Почему это важно

Автоматизация делает гораздо больше запросов, чем человек: установка плеча, размещение входа, создание защитных ордеров, опрос позиций и проверка исполнений для каждого сигнала на каждом счёте. Лимиты общие для всего, что использует один и тот же IP или ключ, поэтому один некорректно работающий цикл может заблокировать ордера для всех остальных счетов на том же сервере. Бан во время быстрого движения рынка — худший случай: позиции невозможно открыть, а стопы, живущие только в программе, невозможно передвинуть. Лимиты также различаются между биржами и между конечными точками, поэтому платформа должна их планировать заранее, а не обнаруживать методом проб.

Как это реализовано в AlgoVesta

AlgoVesta держит число вызовов на один ордер фиксированным и небольшим и получает рыночные данные из общих публичных фидов, а не опрашивает биржу отдельно по каждому счёту. Бюджеты запросов отслеживаются по каждой бирже и по каждому ключу, и когда площадка отвечает сообщением о лимите или бане, затронутый ключ или сервер снижает нагрузку вместо немедленного повтора; это состояние фиксируется и отображается в панели. Баны, сообщаемые общим тестнетом, отделяются от банов боевого рынка, чтобы тестовая среда не могла вывести из ротации серверы исполнения боевых сделок. Стопы и цели размещаются как отложенные ордера на площадке, поэтому временный лимит не оставляет позицию без защиты. Исторические данные и другие тяжёлые чтения выполняются с отдельных машин, чтобы они не могли расходовать бюджет серверов исполнения. См. статью логика повторных попыток и страницу Поддерживаемые биржи.

Пример

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

Типичные ошибки

На практике

Узнайте, как AlgoVesta автоматизирует это