
Боты для ставок и API: автоматизация без блокировки счёта
Бот работает в три часа ночи. В девять утра ваш счёт всё ещё должен быть на месте. Betfair проводит настоящую границу между двумя способами этого добиться, и проходит она не там, где её описывают в большинстве веток форумов.
Бот для ставок это любой скрипт, который делает или ведёт ставки без руки на мышке. На Betfair Exchange разрешено оно или нет, решает не слово «бот», а слово «API». Условия Betfair относят ставку, сделанную иными автоматическими средствами, а не самим владельцем счёта вручную, к подозрительной активности, а затем тут же выводят из этого пункта API: ставки через него прямо исключены. Второе правило касается и пользователей API: счёт должен оставаться личным, а не сервисом, который работает на кого-то другого. Прежде чем это станет важным, проверьте логику на отложенных данных ключа Delayed и заложите в проект собственные ограничения API на запросы, одновременные вызовы и входы. Сами ключи, их стоимость и то, что четыре брокера говорят о своих инструментах, вынесены на отдельную страницу, ссылка на неё ниже.
Что на самом деле разделяет правило
Автоматизация это лишь одно из направлений среди прочих в более широком наборе профессиональных методов ставок, которые разбирает этот сайт. Отдельная страница ей нужна потому, что правила здесь конкретнее, чем «sharp-игроки пользуются софтом». На форумах «бот» считают чем-то одним: программой, которая делает ставки. Условия Betfair точнее. Пункт 12.1.4 называет среди видов активности, которые считаются подозрительными, ставку, сделанную «otherwise than through the Account holder placing each Bet manually», то есть иначе, чем самим владельцем счёта вручную. Если читать эту фразу отдельно, под неё попадает любой когда-либо написанный скрипт. Но отдельно её читать нельзя: в том же пункте есть собственное исключение, оговорённое во избежание сомнений, что ставки, сделанные «via the Application Programming Interface (API)», сюда не входят. Сложите два фрагмента, и разделение получится точным: скрипт, который кликает по обычному сайту, это именно то, на что нацелен пункт, а скрипт, который общается с API, это исключение, которое пункт сам для себя называет.
Заметка в сторону: слово «бот» несёт в этом предложении большую нагрузку, хотя в самом пункте его нет. Юристы Betfair написали «otherwise than through the Account holder placing each Bet manually», что длиннее, но намного труднее неточно процитировать. Ладно, вернёмся к тому, что это значит для вас.
Так что правило не звучит ни как «боты запрещены», ни как «боты допустимы». Оно уже: неофициальный скрипт, который работает с сайтом как очень быстрые руки, попадает под пункт о подозрительной активности, а та же логика, подключённая к официальному API, попадает под исключение. Тот, кто торгует по лестнице вручную, и скрипт, который делает то же самое через API, оцениваются одним и тем же документом по-разному, и разница в двери, а не в стратегии за ней.
Граница личного использования и где бот может её пересечь
Второй пункт важен не меньше, а читают его гораздо реже. Betfair может счесть использование счёта запрещённым, «if we suspect (acting reasonably) that your Account's usage represents 'business usage'», то есть если разумно подозревает, что оно является коммерческим. Определение намеренно широкое: «'business usage' includes any use by a betting operator or any use by an individual or organisation supplying data or services to a betting operator» (пункт 11.2.13). К исключению для API выше это отношения не имеет. Скрипт может полностью укладываться в исключение пункта 12.1.4 и всё равно нарушать 11.2.13, если на самом деле ведёт ставки для кого-то другого, питает платный сервис для подписчиков или служит серверной частью продукта, который продают другим игрокам.
Я бы считал, что эти два пункта отвечают на разные вопросы. Пункт 12.1.4 спрашивает, как была сделана ставка. Пункт 11.2.13 спрашивает, чьи это были деньги и чьё решение. Бот, который действует только на личном счёте одного человека, второй вопрос по умолчанию проходит. Бот, который управляет чужими суммами ставок или продаёт свои сигналы, не проходит, какой бы дверью он ни пользовался.
Любой путь к API начинается с верифицированного счёта. В собственной справке Betfair для разработчиков сказано прямо: без счёта Betfair «you cannot proceed with licensing» вообще, а проверки личности, которые на самом деле входят в верификацию, стоят перед любым ключом. У коммерческой автоматизации есть свой отдельный путь через бизнес-подразделение Betfair, а не личный ключ с бо́льшим бюджетом.
API это дверь. Скрипт на сайте дверью не является.
Что проверить, прежде чем пополнять баланс под ключ Live
Каждому, кто строит бота, хочется сразу перейти к ставкам. Честный порядок обратный: докажите логику на данных, которые намеренно отстают от реального времени, при минимальной сумме ставки, которую допускает площадка, и только потом думайте о платном ключе или серьёзном банкролле.
Этот разброс, от одной секунды в лучшем случае до трёх минут в худшем, не та погрешность, которую можно пропустить. Коэффициент, который скрипт видел в последний раз и счёл приемлемым, к моменту действия мог уйти далеко. Смягчить это некому: в документации Betfair прямо сказано, что тестовой среды, где можно проверять без реальных средств, нет. Каждая ставка, сделанная ключом Delayed, это настоящая ставка с настоящим результатом, поэтому минимальная сумма ставки, которую допускает площадка, единственный разумный способ пройти этот этап.
Гипотетический пример: все цифры выдуманы только ради арифметики. Допустим, скрипт следит за коэффициентом 2,10, решает поставить back, а API в этот самый момент возвращает снимок 180-секундной давности. За три минуты может случиться гол, красная карточка или снятие игрока в последний момент, поэтому коэффициент, на который, по мнению скрипта, он ставит, и коэффициент, который реально предлагается к моменту прихода ордера, могут оказаться двумя разными числами. Никакая хитрая логика выше по цепочке не исправит решение, построенное на устаревшей информации: именно задержку, а не стратегию поверх неё, стоит проверять в первую очередь.
Площадка это только половина картины; вторая половина это данные, на которые бот на самом деле реагирует, а скрипт, построенный на скудной истории, будет давать сбои на любом ключе. Проверьте арифметику вручную на калькуляторе, прежде чем доверять собственным числам скрипта, и помните, что комиссия биржи по-прежнему вычитается из любой выигрышной ставки; как она влияет на чистые результаты бота, стоит прочитать, прежде чем считать стратегию успешной только на бумаге.
Ограничения, под которые скрипт нужно проектировать
Всё это не о том, разрешена ли автоматизация. Речь о потолке, который сам API ставит поведению скрипта; он выражен простыми числами, а не оставлен на догадки. Четыре из них важнее всего, пока скрипт ещё на чертеже, и вместе с окном задержки ключа Delayed выше это цифры, которые Betfair может пересмотреть; перед тем как закладывать любую из них в рабочий код, проверьте актуальные условия.
- Лимит в 200 пунктов на запросы рыночных данных. Стоимость складывается по рынкам и типу запрошенных данных; превышение общей суммы возвращает ошибку вместо данных.
- Потолок в 3 одновременных запроса на вызовы по ордерам и позициям. Проверка текущих ордеров, прибыли и убытка или сведённых ордеров более трёх раз одновременно, пока предыдущие вызовы ещё выполняются, отклоняется, а не ставится в очередь.
- Потолок в 1000 инструкций в секунду на размещение, отмену, изменение или замену ордеров. Он действует на весь счёт при всех открытых соединениях, а не на один скрипт отдельно.
- Блокировка на 20 минут после слишком большого числа неудачных входов. Каждая следующая попытка входа автоматически отклоняется на этот период, чем бы ни были вызваны прежние неудачи.
Второй гипотетический пример, и именно он по-настоящему подводит людей. В скрипте с ошибкой в обработке входа сессия не успевает обновиться, и он повторяет попытки в плотном цикле вместо паузы. Двадцать минут это примерно один тайм футбольного матча; сработает блокировка к началу игры, и скрипт пропустит больше матча, чем когда-либо успел поймать. Исправление скучнее этой истории: держите сессию и считайте неудачный вход поводом остановиться, а не повторять немедленно.
Где собственные условия брокера добавляют ещё один слой
Всё сказанное выше это собственный свод правил Betfair, и он действует только для счёта Betfair, открытого напрямую. Биржевой инструмент брокера это другой продукт, открываемый у брокера, а не у Betfair, поэтому пункты Betfair об API автоматически туда не переносятся. Важны собственные условия каждого брокера, и о скриптах они говорят не одно и то же: одни публикуют собственный API, другие прямо запрещают автоматический доступ. Пункт брокера против скрейпинга считайте его внутренним правилом, которое нужно соблюдать и о смене которого нужно сообщать, а не чем-то, что можно обойти. Что каждый брокер уже говорит о ботах подробно разобрано по брокерам рядом со стоимостью ключей; здесь это повторяться не будет. Отдельно отметим, что часть брокеров сайта не обслуживает резидентов России, поэтому проверьте условия каждого брокера, прежде чем строить на нём что-либо.
Если создавать и поддерживать скрипт на самом деле не нужно, часть этого брокеры уже упаковали: встроенная автоматизация брокера вместо своего скрипта описывает то, что готово из коробки и не требует кода. Счёт, помеченный за подозрительную активность по пункту 12.1.4, автоматизированную или нет, тоже не оставят без внимания; как на самом деле выглядит ограничение счёта рассказывает об этой стороне вопроса.
Я бы ничего не строил, не прочитав действующие условия конкретного брокера, а не пересказ с форума. Условия четырёх брокеров в сравнении бок о бок это самый быстрый способ увидеть, где автоматизацию приветствуют, где о ней молчат и где она прямо запрещена.
Частые вопросы
Противоречит ли использование бота для ставок на Betfair Exchange правилам?
Не автоматически. Условия Betfair относят ставку, сделанную иными автоматическими средствами, а не самим владельцем счёта вручную, к подозрительной активности, а затем явно исключают из этого же пункта ставки через официальный API. Скрипт, работающий через API, подпадает под исключение; тот, что работает с обычным сайтом как очень быстрые руки, нет.
Можно ли запускать бота для кого-то другого или как бизнес?
Это пересекает отдельную границу. Betfair может счесть счёт запрещённым, если разумно подозревает, что использование является коммерческим, а оно определено так, что включает использование оператором ставок или любым, кто поставляет данные или услуги оператору. Личный счёт предназначен для собственных ставок владельца, автоматизированных или нет.
В чём на самом деле разница между ботом для ставок и API Betfair?
«Бот» это краткое название программы; API это конкретный разрешённый канал, который Betfair создал для автоматического доступа. Условия оценивают программу не по ярлыку, а только по тому, каким каналом сделана ставка.
Можно ли проверить бота для ставок, не рискуя реальными деньгами?
Не на ключе Delayed, бесплатном варианте для разработки: Betfair заявляет, что тестовой среды, где можно проверять без реальных средств, не существует, поэтому каждая сделанная им ставка это настоящая ставка с настоящим результатом, и пока логика только проверяется, лучше держать её на минимальной сумме.
Как быстро бот может размещать ордера, прежде чем API его ограничит?
Потолки, которые устанавливает Betfair: лимит в 200 пунктов на объём рыночных данных в одном запросе, не более 3 одновременных запросов на вызовы по ордерам и позициям и не более 1000 инструкций по ордерам на весь счёт в одну секунду. Слишком много неудачных входов добавляют сверху блокировку на 20 минут. Перед тем как полагаться на любую из этих цифр в рабочем коде, проверьте актуальную документацию.
Разрешают ли боты для ставок брокеры, представленные на этом сайте?
Это зависит от брокера, и здесь подробности повторяться не будут; страница о собственной позиции каждого брокера по API и автоматизации разбирает это по брокерам вместе со стоимостью ключей Betfair.