АвтоБукмекер
инструмент для умных игроков

Механизм Автостратегий

Механизм автостратегий, реализованный в новой версии программы БетДрайвер, немного отличается от предыдущих версий.
Первое принципиальное отличие заключается в том, что теперь Вы можете создавать неограниченное количество стратегий самостоятельно. Все они основаны на нескольких базовых программах, в которые заложен расширенный функционал для реализации различных вариантов стратегий ставок.
Есть некая общая функциональная модель, по которому работает программа. Вы лишь корректируете параметры работы так, как считаете нужным.
Таким образом, каждая создаваемая Вами стратегия - это набор настроек, который сохраняется под каким-то именем и работает независимо.
Рассмотрим базовую автостратегию АвтоБукмекер.
Общая модель работы стратегии состоит из нескольких этапов.
Этап 1. Поиск рынков. Для начала работы необходимо выбрать те рынки, на которых мы планируем реализовать нашу стратегию. Есть возможность выбрать ряд параметров, по которым рынки будут попадать в выборку для работы.
Далее рынки, которые попадут в выборку, будут обрабатываться по заданному алгоритму.
Этап 2. Обработка рынков.
Все найденные рынки постоянно мониторятся программой "по кругу". На каждом рынке программа делает ставки по заданному алгоритму.
Общий принцип ставок следующий:
  • сначала выставляются первоначальные ставки Против на основании выбранных параметров;
  • если ставка принимается, то:
    - если включены дополнительные ставки Против, то делается еще дополнительная ставка Против по алгоритму понижения;
    - если дополнительные ставки против не включены, то через заданную паузу будет сделана опять первоначальная ставка Против;
  • если включен режим Торговли, то:
    - после каждой принятой ставки Против делается ставка За;
    - если после этого Принята ставка За, то будет сделана опять ставка Против аналогичная предыдущей (которая "породила" ставку За).
  • Этап 3. Закрытие рынков.
    Закрытие рынков можно включить, можно не включать.
    Если закрытие включено, то с момента начала закрытия программа перестает делать ставки по основному алгоритму, отменяет все ставки и пытается уравнять результаты по всем исходам.

    Теперь, когда понятна общая схема работы программы, рассмотрим все возможные ее параметры. Параметры Поиска рынков
    search markets

    Параметры следует выбирать последовательно - сверху вниз, т.к. состав некоторых параметров зависит от выбранных ранее значений.
    Описание параметров:
  • Биржи
    Возможные значения: UK или AU
    Биржи, на которых нужно искать рынки UK - Великобритания, AU - Австралия
  • Виды спорта
    Виды спорта, по которым необходимо искать рынки.
  • Страны
    Страны, в которых проходят соревнования. Если не указано, то поиск производится по всем странам.
  • Venue
    Venue - Место проведения, ипподром. Актуально только для скачек и собачьих бегов. Если не указано, то поиск производится по всем ипподромам.
  • Соревнования
    Соревнования, турниры. Если не указано, то поиск производится по всем соревнованиям.
  • Виды рынков
    Возвожные виды рынков зависят от видов спорта. У многих видов спорта свои особенности. Например, на скачках есть виды рынков: WIN (Победитель), Place (Призер) и другие.
    В футболе свои виды, их гораздо больше: MATCH_ODDS (Ставки), OVER_UNDER (Тоталы), CORRECT_SCORE (Результат, точный счет) и многие другие.
    Внимание! Если не указано, то поиск производится по всем видам рынков.
  • С поддержкой СЦ
    Искать рынки только с поддержкой Стартовой цены.
  • С поддержкой In-Play
    Искать только рынки, на которых планируется, что рынок будет открыт для ставок по ходу игры (In-Play).
  • Уже перешли в In-Play
    Искать только рынки, которые уже перешли в режим In-Play в момент поиска.
  • Минимальная/максимальная сумма в паре
    Объем принятых ставок на рынке в момент поиска. 0 - без ограничений.
  • Минимальное/максимальное количество исходов
    Минимальное/максимальное количество исходов на рынке. 0 - без ограничений.
  • Период поиска
    В каждый поиск программа ищет рынки, начинающиеся с текущего момента и по заданный Период поиска. На приведенном скриншоте - на 1 час вперед.
  • Фильтр
    Дополнительный текстовый фильтр. Если указан, то будут находиться только рынки и соревнования, содержащие данную строку.
  • Частота поиска
    Периодичность, с которой будет повторяться поиск рынков.
  • Максимальное количество рынков
    Максимальное количество рынков, добавляемые в результаты поиска. Параметр может быть полезным для тестирования стратегий. 0 - без ограничений.
  • Минимальное/максимальное окончание номера рынка
    Фильтр для случайной выборки рынков по окончанию его номера (ID). По умолчанию от 0 до 99 - то есть все рынки.
    Параметр может быть полезен в случае запуска одной стратегии на нескольких счетах - для разделения рынков между счетами случайным образом.
  • Минимальная/максимальная минута часа старта рынка
    Фильтр для выборки рынков, начинающиеся в определенные минуты часа. По умолчанию от 0 до 59 - то есть все рынки.
    Параметр может быть полезен в случае запуска одной стратегии на нескольких счетах - для разделения рынков между счетами по времени старта.
  • Период обновления общих данных по рынку
    Периодичность, с которой обновляются общие данные по рынкам. Самое главное - это время старта рынка.
    Параметр актуален особенно для теннисных матчей, где время старта рынков часто меняется - переносится на более позднее время.
  • Параметры Обработки рынков
    Все найденные рынки постоянно мониторятся программой "по кругу". На каждом рынке программа делает ставки по заданному алгоритму.
    filters for bets
    Описание параметров:
  • Виртуальные суммы
    При установленной галке программа "будет видеть" на рынках так называемые виртуальные (зеркальные) суммы.
    Подробнее о них можно прочитать здесь (на английском языке): https://api.developer.betfair.com/.../Virtual+Bets
  • Частота обработки
    Периодичность, с которой программа будет запрашивать данные по рынкам и производить дальнейшие действия при необходимости.
  • Обрабатывать рынки In-Play
    При установленном параметре ставки будут делаться в том числе в In-Play, иначе - только до перехода рынка в инплей (Pre-In-Play).
    Внимание! Параметры поиска "Уже перешли в In-Play" и "С поддержкой In-Play" влияют только на добавление рынков в результаты поиска.
    При этом, будут ли делаться ставки в In-Play определяется только этим параметром "Обрабатывать рынки In-Play".
  • Комиссия Betfair (%)
    Комиссия, которая применяется на Вашем счете. Нужна только для расчета результатов работы стратегии на вкладке Статистика:
    statistics
  • Счетчик транзакций
    Лимит ставок (транзакций) в час. За превышение лимита в 1000 транзакций в час на бирже предусмотрена комиссия.
    Параметр Период (минут) - это длина отрезка внутри часа в минутах, за который будут лимитироваться транзакции.
    Например, если указано 1, значит лимит 1000 в час будет означать 1000 / 60 * 1 = 17 в минуту;
    если указано 15 минут, значит лимит 1000 в час будет означать 1000 / 60 * 15 = 250 в 15 минут.
    Если указать 60 минут, то программа внутри часа не будет ограничивать транзакции, будет действовать только общий лимит - 1000 в час.
    Остальные параметры транзакций не редактируются, в них отображается количество сделанных транзакций в текущий промежуток времени.
    В параметре "Всего транзакций" показано количество транзакций, сделанных с момента старта стратегии.

  • Параметры Расчета базового коэффициента
    search markets
    search markets Описание параметров:
  • Алгоритм расчета базового коэффициента
    Возможные варианты:
    - По всем сматченным суммам. Базовый коэффициент рассчитывается на основании объемов всех сделок на рынке по следующему алгоритму:
    а) по каждому исходу считается средневзвешенный коэффициент по всем сматченным суммам по формуле: (коэффициент * сумма по коэффициенту) / (общая сумма по всем коэффициентам)
    б) коэффициенты по всем исходам переводятся в вероятности (1 / коэффициент), суммируются, пропорционально приводятся к единице и обратно переводятся в коэффициенты
    Примечание: может возникнуть ситуация, когда сумма вероятностей средневзвешенных коэффициентов будет сильно отличаться от единицы.
    Если она будет больше 1.2 или емьше 0.8, программа считает, что такую погрешность слишком большой и базовые коэффициенты посчитаны не будут

    г) таким образом по каждому исходу получается базовый коэффициент равный "чистому" или "честному"
    - По сматченным суммам c момента входа. Алгоритм расчета аналогичен, но в рассчет берутся только суммы, сматченные после того, как рынок был найден.
    Как только по всем исходам будут сматчены какие-то суммы, базовые коэффициенты будут посчитаны.
    - Считать текущие рыночные коэффициенты базовыми. Программа считает базовыми текущие коэффициенты с левой стороный рынка (коэффициенты доступные для ставок За)
  • Минимальная сумма "видимости" коэффициента на рынке
    При определении текущего коэффициента на рынке (при установленном алгоритме расчета от текущих) те коэффициенты, на которых находятся суммы меньше заданного параметра, будут игнорироваться.
    Например, на рынке на каком-то исходе такая ситуация: 1.56 ($1500) - 1.57 ($2300) - 1.58 ($10)
    Если в данном параметре поставить 20, то в качестве текущего коэффициента будет взят 1.57, а если 10 или меньше, то 1.58
  • Считать базовый коэффициент только один раз
    Если данный флаг установлен, базовый коэффициент будет считаться только один раз при первом входе на рынок.
    Однако, если при первом входе рассчитать базовый не удалось, программа будет пытаться рассчитать его пока не получится.
    Как только базовый коэффийиент будет рассчитан, программа его запомнит и больше пересчитывать не будет.
    Если флаг снят, то программа будет пересчитывать базовый коэффициент по заданному алгоритму каждый раз при входе на рынок.

  • Параметры Фильтров для ставок
    search markets
    Описание параметров:
  • Минимальный/Максимальный Overround (%)
    Overround - сумма обратных коэффициентов на рынке, умноженная на 100
    Например, если на рынке лучшие коэффициенты для ставок За: 1.7 / 3.5 / 5.5,
    Overround = (1/1.7 + 1/3.5 + 1/5.5) * 100 = 105.58%
    Если текущий Overround на рынке не вписывается в заданные ограничения, первоначальные ставки на рынке не делаются.
    По умолчанию 0 - без ограничений.
  • Только для скачек: Минимальная/Максимальная длина трассы
    Длина трассы задается в виде: XmYf, например, 1m6f. Может присутствовать два символа, например, 6f или 1m.
    Если длина рынка не вписывается в заданный диапазон, первоначальные ставки на рынке не делаются.
  • Только для скачек: Препятствия
    Возможные варианты:
    - Все рынки - без ограничений
    - Только с препятсвиями - ставки делаются только на тех рынках, в названии которых присутствуют обозначения Chs или Hrd
    - Только без препятсвий - ставки делаются только на тех рынках, в названии которых отсутствуют обозначения Chs или Hrd
  • Минимальный/Максимальный коэффициент ставок Против
    Ставки Против будут делаться только в заданном диапазоне коэффициентов
  • Удалять рынки, не удовлетворяющие условиям при первом входе
    Если флаг установлен, то после того как программа найдет рынок, если он не будет подходить по заданным фильтрам, он будет удален из списка для обработки и больше обрабатываться не будет.
    Если флаг не установлен, но рынок не проходит по фильтрам, программа просто пропускает его и обрабатывает в следующий раз.
  • Минимальный/Максимальный спред на исходе (в тиках)
    Спред - разница между рыночными коэффициентами За и Прротив. 0 - без ограничений

  • Параметры Ставок Против
    search markets Описание параметров:
  • Сумма первоначальных ставок
    Сумма задается в валюте счета. Сумма ставки зассчитывается из заданного варианта:
    - Payout ("Выплата") - Сумма ставки = Заданная Сумма / Коэффициент
    - BetAmount ("Сумма ставки") - Сумма ставки = Заданная Сумма
    - Liability ("Ответственность") - Сумма ставки = Заданная Сумма / (Коэффициент - 1)
  • Маржа от базового коэффициента
    Маржа задается в тиках или в процентах.
    Если в тиках, значит коэффициент первоначальной ставки будет уменьшен от базового на заданное количество тиков.
    Если в процентах, коэффициент первоначальной ставки будет уменьшен от базового на заданное количество процентов и округлен в меньшую сторону до ближайшей корректной цены.
  • Дополнительная формула понижения первоначальной ставки
    Формула дополнительного (к основной марже) понижения в тиках в зависимости от коэффициента.
    В формуле можно использовать переменную k - коэффициент.
    При расчете цены первоначальной ставки она будет дополнительно понижена на количество тиков, полученное по данной формуле.
    Например, можно вписать формулу: 10/k - значит при коэффициенте 2 он будет понижен еще на 5 тиков (10/2 = 5), а при коэффициенте 5 он будет понижен еще на 2 тика (10/5=2)
  • Максимальные обязательства на исходе
    Сумма фактически возникших по принятым ставкам обязательств на исходе, после которой программа прекращает делать ставки Против на этом исходе.
  • Максимальное количество ставок Против на исходе
    Максимальное количество ставок Против на исходе, которые не перекрыты принятой ставкой За
  • Частота выставления первоначальных ставок
    Периодичность, с которой программа выставляет Первоначальные ставки Против, если дополнительные ставки Против не делаются.
    Пока ставка Против не принята, еще одна Первоначальная ставка не делается.
    Если Первоначальная ставка принята, а дополнительные ставки отключены, то через заданный промежуток времени программа выставит опять Первоначальную ставку Против по заданному алгоритму.
  • Делать дополнительные ставки
    Если флаг установлен, то после принятия Первоначальной ставки Против будет сделана дополнительная ставка Против по алгоритму понижения.
  • Понижение дополнительных ставок против
    Понижение задается либо в тиках, либо в процентах, от предыдущей принятой ставки Против
  • Коэффициент понижения суммы при понижении
    Сумма дополнительной ставки, рассчитанная в зависимости от заданного варианта суммы ставки, будет умножена на данный коэффициент.
  • Подключать сужествующие ставки Против при старте
    При влюченном параметре непринятые ставки Против, которые были выставлены вне стратегии, будут подключены к стратегии. Необходимо устанавливать данный переметр при перезапуске программы. В других случаях нетребуется.

  • Параметры торговли
    search markets
    Описание параметров:
  • Включить торговлю
    При установленом флаге каждая принятая ставка Против будет "порождать" обратную ставку За по заданному алгоритму.
    Далее каждая принятая ставка За будет "порождать" обратную ставку Против.
  • Делать ставки За с признаком "Оставить в In-Play"
    При установленном флаге ставки За будут оставлены в In-Play. В этом случае в параметрах поиска необходимо установить признак "С поддержкой In-Play"
  • Повышение ставок За
    Значение в тиках или процентах, на которое необходимо увеличить коэффициент ставок За.
    Сумма ставок За рассчитается таким образом, чтобы уравнять положительный результат по всем исходам.
  • Торговать по возможности вниутри спреда
    При установленом флаге программа будет делать ставки За выше, чем заданные тики или проценты, если ставка окажется лучшим предложением на рынке - то есть внутри спреда.
    То же самое относится к Обратным ставкам Против, которые выставляются после принятия ставок За.
  • Коэффициент понижения суммы ставок За
    Сумма ставки За, рассчитанная для уравнивания по всем исходам, будет умножена на данный коэффициент.

  • Параметры Закрытия рынков
    search markets
    Описание параметров:
  • Отменять все ставки после перехода рынка в In-Play
    Если оказалось, что программа выставила в In-Play ставки после перехода, они будут отменены
  • Закрывать рынки
    Если флаг установлен, программа прекратит делать ставки по основному алгоритму за заданное время до старта рынка, отменит все ставки и будет пытаться уравнять результат по всем исходам.
  • Время закрытия (до старта события)
    Время до начала события, за которое начинать закрытие рынков.
  • Время мгновенного закрытия (до старта события) Время, за которое необходимо уравнять рынок по рыночным коэффициентам.
  • Частота попыток закрытия
    Периодичность, с которой программа будет пытаться уравнять результаты по всем исходам
  • Использовать зеркальное закрытие
    Если параметр установлен, при формировании закрывающих ставок на двухисходных рынках программа будет выбирать исход, на который выгоднее сделать ставку. Например, вместо ставки За с кэфом 1.2 выгоднее сделать ставку Против с кэфом 5.6.
  • Только отменить ставки Против
    При установленном флаге программа в момент закрытия просто отменит все ставки против, а ставки За оставит.
    больше никаких ставок на рынке сделано не будет
  • Закрывающие ставки оставлять в In-Play
    Если параметр установлен, закрывающие ставки будут делаться с признаком "Оставить In-Play"
  • Погрешность итогов при уравнивании
    Разница в итогах при попытках уравнивания.
    Например, если установить в данном параметре 1 цент, то программа будет пытаться уравнивать до тех пор, пока результаты на всех исходах не будут отличаться больше чем на 1 цент. Рекомендуется ставить не менее 5 центов, т.к. иногда добиться полного уравнивания невозможно.
  • Минимальная сумма закрывающих ставок
    Меньше этой суммы закрывающие ставки делаться не будут. Сделано для "экономии" транзакций.
  • Минимальный/Максимальный коэффициенты ставок За/Против
    При желании можно ограничить коэффициенты закрывающих ставок. С коэффициентами вне заданных диапазонов закрывающие ставки делаться не будут.
  • Дополнительные настройки
    search markets
  • В параметрах "Оповещения" можно задать имя звукового файла, который будет проигрываться при принятии ставок, если установлена соответствующая галочка.
  • Автостарт - при установленной галочке Автостарт стратегия всегда будет запущена в интервале времени, который задается в параметрах Время запуска и Время остановки
    . Если время запуска и время остановки заданы как 00:00:00, стратегия будет работать постоянно без остановок.
  • Прекращать делать ставки при достижении прибыли/убытка - если в данных параметрах заданы значения, отличные от нуля, стратегия пеестанет делать ставки, если прибыль/убыток по резальтатам работы стратегии превысит указанное значение. Прибыль/убыток работы стратегии:
    search markets
    обнуляется при остановке стратегии. Таким образом, можно задать максимальные убытки/прибыль по итогам работы дня, а с помощью параметров Время запуска и Время остановки останавливать и запускать стратегию раз в сутки.

  • Удачи Вам в поиске своей стратегии!