Заработок на ставках'одной кнопкой'
Эффективная торговляна Betfair
Самостоятельная разработкастратегий
АвтоСтавки
инструмент для умных игроков
Механизм Автостратегий
Механизм автостратегий, заложенный в программе заключается в том, что Вы можете создавать неограниченное количество стратегий, основанных на нескольких базовых стратегиях, в которых заложен определенный алгоритм работы и расширенный функционал для реализации различных вариантов стратегий торговли и ставок.Есть некая общая функциональная модель, по которому работает программа, Вы лишь корректируете параметры работы так, как считаете нужным.
Таким образом, каждая создаваемая Вами стратегия - это набор настроек, который сохраняется под своим названием и работает независимо.
Рассмотрим основную и самую функциональную базовую автостратегию АвтоСтавки.
Общая модель работы стратегии состоит из нескольких этапов.
Этап 1. Поиск рынков. Для начала работы необходимо выбрать те рынки, на которых планируется реализовать стратегию. Для этого необходимо задать ряд параметров, по которым рынки будут попадать в выборку для работы.
Далее рынки, которые попадут в выборку, будут обрабатываться по заданному в дальнейших параметрах алгоритму.
Параметры Поиска рынков
Параметры следует выбирать последовательно - сверху вниз, т.к. состав некоторых параметров зависит от выбранных ранее значений.
Описание параметров:
Возможные значения: UK или AU
Биржи, на которых нужно искать рынки UK - Великобритания, AU - Австралия
Виды спорта, по которым необходимо искать рынки.
Страны, в которых проходят соревнования. Если не указано, то поиск производится по всем странам.
Venue - Место проведения, ипподром. Актуально только для скачек и собачьих бегов. Если не указано, то поиск производится по всем ипподромам.
Соревнования, турниры. Если не указано, то поиск производится по всем соревнованиям.
Возвожные виды рынков зависят от видов спорта. У многих видов спорта свои особенности. Например, на скачках есть виды рынков: WIN (Победитель), Place (Призер) и другие.
В футболе свои виды, их гораздо больше: MATCH_ODDS (Ставки), OVER_UNDER (Тоталы), CORRECT_SCORE (Результат, точный счет) и многие другие.
Внимание! Если не указано, то поиск производится по всем видам рынков.
Искать рынки только с поддержкой Стартовой цены.
Искать только рынки, на которых планируется, что рынок будет открыт для ставок по ходу игры (In-Play).
Искать только рынки, которые уже перешли в режим In-Play в момент поиска.
Объем принятых ставок на рынке в момент поиска. 0 - без ограничений.
Минимальное/максимальное количество исходов на рынке. 0 - без ограничений.
В каждый поиск программа ищет рынки, начинающиеся с текущего момента и по заданный Период поиска. На приведенном скриншоте - на 1 час вперед.
Дополнительный текстовый фильтр. Если указан, то будут находиться только рынки и соревнования, содержащие данную строку.
Периодичность, с которой будет повторяться поиск рынков.
Максимальное количество рынков, добавляемые в результаты поиска. Параметр может быть полезным для тестирования стратегий. 0 - без ограничений.
Фильтр для случайной выборки рынков по окончанию его номера (ID). По умолчанию от 0 до 99 - то есть все рынки.
Параметр может быть полезен в случае запуска одной стратегии на нескольких счетах - для разделения рынков между счетами случайным образом.
Фильтр для выборки рынков, начинающиеся в определенные минуты часа. По умолчанию от 0 до 59 - то есть все рынки.
Параметр может быть полезен в случае запуска одной стратегии на нескольких счетах - для разделения рынков между счетами по времени старта.
Периодичность, с которой обновляются общие данные по рынкам. Самое главное - это время старта рынка.
Параметр актуален особенно для теннисных матчей, где время старта рынков часто меняется - переносится на более позднее время.
Этап 2. Обработка рынков
Все найденные рынки постоянно мониторятся программой "по кругу". На каждом рынке программа делает ставки по заданному алгоритму.
Описание параметров:
При установленной галке программа "будет видеть" на рынках так называемые виртуальные (зеркальные) суммы.
Подробнее о них можно прочитать здесь (на английском языке): https://api.developer.betfair.com/.../Virtual+Bets
Периодичность, с которой программа будет запрашивать данные по рынкам и производить дальнейшие действия при необходимости.
При установленном параметре ставки будут делаться в том числе в In-Play, иначе - только до перехода рынка в инплей (Pre-In-Play).
Внимание! Параметры поиска "Уже перешли в In-Play" и "С поддержкой In-Play" влияют только на добавление рынков в результаты поиска.
При этом, будут ли делаться ставки в In-Play определяется только этим параметром "Обрабатывать рынки In-Play".
Комиссия, которая применяется на Вашем счете. Нужна только для расчета результатов работы стратегии на вкладке Статистика:
Лимит ставок (транзакций) в час. За превышение лимита в 1000 транзакций в час на бирже предусмотрена комиссия.
Параметр Период (минут) - это длина отрезка внутри часа в минутах, за который будут лимитироваться транзакции.
Например, если указано 1, значит лимит 1000 в час будет означать 1000 / 60 * 1 = 17 в минуту;
если указано 15 минут, значит лимит 1000 в час будет означать 1000 / 60 * 15 = 250 в 15 минут.
Если указать 60 минут, то программа внутри часа не будет ограничивать транзакции, будет действовать только общий лимит - 1000 в час.
Остальные параметры транзакций не редактируются, в них отображается количество сделанных транзакций в текущий промежуток времени.
В параметре "Всего транзакций" показано количество транзакций, сделанных с момента старта стратегии.
Этап 3. Фильтры для ставок
Как сказано выше, по всем найденным рынкам с заданной частотой программа запрашивает данные с биржи и делает ставки по заданному алгоритму. Сначала рынки и исходы на этих рынках проверяются на заданные фильтры - условия. Если и рынок и исход прошел все фильтры, делаются ставки, иначе рынок пропускается и повторная обработка следует при следующем получении данных.
Рассмотрим эти условия:
Описание параметров:
Overround - сумма обратных коэффициентов на рынке, умноженная на 100
Например, если на рынке лучшие коэффициенты для ставок За: 1.7 / 3.5 / 5.5,
Overround = (1/1.7 + 1/3.5 + 1/5.5) * 100 = 105.58%
Если текущий Overround на рынке не вписывается в заданные ограничения, первоначальные ставки на рынке не делаются.
По умолчанию 0 - без ограничений
Внимание! Для рынков с несколькими победителями (например, Place в скачках) оверроунд задается также: в пределах от 100, но при расчете 100 умножается на количество победителей. Если задать от 105 до 110, то на рынках с двумя победителями подходящие рынки будут с оверроундом от 205 до 210; на рынках с тремя победителями от 305 до 310.
На рынке находятся исходы с наименьшими коэффициентами. Допустим, это исходы с коэффициентом 3.5 (Фаворит 1) и коэффициентом 4.5 (Фаворит 2). Далее коэффициент фаворита 2 делится на коэффициент фаворита 1, то есть: 4.5 / 3.5 = 1.28 - это и есть искомое соотношение.
Длина трассы задается в виде: XmYf, например, 1m6f. Может присутствовать два символа, например, 6f или 1m.
Если длина рынка не вписывается в заданный диапазон, первоначальные ставки на рынке не делаются.
Возможные варианты:
- Все рынки - без ограничений
- Только с препятствиями - ставки делаются только на тех рынках, в названии которых присутствуют обозначения Chs или Hrd
- Только без препятствий - ставки делаются только на тех рынках, в названии которых отсутствуют обозначения Chs или Hrd
Номера трапов, с которых стратуют лошади, через запятую. Например: 1,2,6,7. Если не задано, то ограничений нет.
Возможные варианты:
- Любой
- Падающий
- Растущий
- Горизонтальный
Тренд считается на основании трех цен: средняя по исходу, средневзвешенная (с учетом сматченных сумм) и текущая.
Вычисляется процент изменения средневзвешенной цены относительно средней (считается, что средневзвешенная - это более поздняя, то есть более объективная) и если этот процент больше, чем заданный в параметре "Процент изменения при расчете тренда", значит тренд есть. Если нет, то он "Горизонтальный".
Если параметр установлен, значит программа сделает ставку максимум на заданное количество подходящих исходов, даже если параметрам будут соответствовать больше. 0 - без ограничений.
Если указаны наименования исходов, то только на заданные исходы будут делаться ставки. Например, 0 - 0, Ничья, Over 2.5 Goals. Наименования нужно задавать на том языке, на котором программа получает данные. В общих настройках программы задается: на Русском или Английском. Посмотреть точное наименование того или иного исхода можно посмотреть, открыв нужный рынок в программе.
Можно задать имя текстового файла, из которого программа будет считывать исходы и делать ставки только на них. Каждое наименование исхода должно быть написано в файле на отдельной строке. Файл будет перечитываться с заданной периодичностью в следующем параметре.
Спред - разница между рыночными коэффициентами За и Прротив. 0 - без ограничений
0 - без ограничений
Если фильтр по счету задан, то только при перечисленных счетах программа будет делать ставки
Внимание!Часто российские провайдеры блокируют сервис Betfair, с которого программа получает счет.
В этом случае в логах будут видны ошибки при получении счета и соответствующие фильтры работать не будут (ни по счету, ни по минуте матча). Чтобы убедиться, что Ваш провайдер сервис не блокирует, откройте любой рынок в In-Play и посмотрите, отображается ли в нем счет и минута матча.
Этап 4. Ставки
Если все предыдущие фильтры рынок и конкретный исход на нем прошли, делаются ставки.
Описание параметров:
Сначала необходимо посчитать базовый коэффициент, исходя из которого программа будет считать коэффициент ставки.
Возможные варианты расчета базового коэффициента:
- По всем сматченным суммам. Базовый коэффициент рассчитывается на основании объемов всех сделок на рынке по следующему алгоритму:
а) по каждому исходу считается средневзвешенный коэффициент по всем сматченным суммам по формуле: (коэффициент * сумма по коэффициенту) / (общая сумма по всем коэффициентам)
б) коэффициенты по всем исходам переводятся в вероятности (1 / коэффициент), суммируются, пропорционально приводятся к единице и обратно переводятся в коэффициенты
Примечание: может возникнуть ситуация, когда сумма вероятностей средневзвешенных коэффициентов будет сильно отличаться от единицы.
Если она будет больше 1.2 или меньше 0.8, программа считает, что такую погрешность слишком большой и базовые коэффициенты посчитаны не будут
г) таким образом по каждому исходу получается базовый коэффициент равный "чистому" или "честному"
- По сматченным суммам c момента входа. Алгоритм расчета аналогичен, но в рассчет берутся только суммы, сматченные после того, как рынок был найден.
Как только по всем исходам будут сматчены какие-то суммы, базовые коэффициенты будут посчитаны.
- Считать текущие рыночные коэффициенты базовыми. Программа считает базовыми текущие коэффициенты на рынке. Причем для ставок Против берутся коэффициента "Слева" - то есть доступные для ставок За, а для ставок За берутся коэффициенты "Справа" - то есть доступные для ставок Против.
- Считать текущие противоположные коэффициенты базовыми. Программа считает базовыми текущие коэффициенты на рынке. Причем для ставок Против берутся коэффициента "Справа" - то есть доступные для ставок Против, а для ставок За берутся коэффициенты "Слева" - то есть доступные для ставок За.
- Считать последние сматченные коэффициенты базовыми. Программа считает базовыми последние сматченные на исходе коэффициенты.
При определении текущего коэффициента на рынке (при установленном алгоритме расчета от текущих) те коэффициенты, на которых находятся суммы меньше заданного параметра, будут игнорироваться.
Например, на рынке на каком-то исходе такая ситуация: 1.56 ($1500) - 1.57 ($2300) - 1.58 ($10)
Если в данном параметре поставить 20, то в качестве текущего коэффициента будет взят 1.57, а если 10 или меньше, то 1.58
По умолчанию 3 - стандартное количество коэффициентов на рынке, среди которых ищется сумма видимости. Если увеличить, то программа будет искать сумму видимости не только среди лучших трех коэффициентов, а среди заданного количества.
Возможные варианты: Back(За) или Lay(Против)
Сумма задается в валюте счета. Сумма ставки зассчитывается из заданного варианта:
- Payout ("Выплата") - Сумма ставки = Заданная Сумма / Коэффициент
- BetAmount ("Сумма ставки") - Сумма ставки = Заданная Сумма
- Liability ("Ответственность") - Сумма ставки = Заданная Сумма / (Коэффициент - 1)
Маржа задается в тиках, в процентах от коэффициента (по сути процент повышения вероятности) или в процентах от величины коэффициент - 1 (по сути отражает комиссию Betfair).
Если в тиках, значит коэффициент ставки будет уменьшен (для ставок Против) / увеличен (для ставок За) от базового коэффициента на заданное количество тиков.
Если в процентах, коэффициент первоначальной ставки будет уменьшен (для ставок Против) / увеличен (для ставок За) от базового коэффициента на заданное количество процентов и округлен до ближайшей корректной цены. Например, если делаем ставки Против, то при базовом коэффициенте 1.5 и марже 10% будет выставлена ставка с коэффициентом: 1.5 * (100 - 10) / 100 = 1.35.
Если в процентах от (кэф - 1), коэффициент первоначальной ставки будет уменьшен (для ставок Против) / увеличен (для ставок За) от базового коэффициента на заданное количество процентов от величины (коэф - 1) и округлен до ближайшей корректной цены. Например, если делаем ставки Против, то при базовом коэффициенте 1.5 и марже 10% будет выставлена ставка с коэффициентом: (1.5 - 1) * (100 - 10) / 100 + 1 = 1.45.
Если рассчитанный коэффициент попадает в заданный диапазон, то ставки будут сделаны, иначе - нет.
Если признак установлен, ставки будут делаться не по рассчитанному коэффициенту от базового, а по Betfair Starting Price (Стартовой цене). Если установлен параметр ""коэффициент СЦ не хуже", то будет установлена ставка по СЦ, но с лимитом по указанному коэффициенту.
Если установлено, то по истечении заданного времени после выставления ставка будет отменена, если не будет сматчена.
Если установлена маржа -1 тик от текущих рыночных коэффициентов, то есть ставки выставляются впереди всех на рынке, то при установке данного признака ставки будут отменяться, если конкурирующие заявки на рынке были отменены. Например, на рынке коэффициенты "слева" 1.2 - 1.25 - 1.3. Стратегия выставила ставку Против 1.31. Если сумма 1.3 с рынка исчезнет, то ставка 1.31 будет отменена и будет выставлена снова, но уже 1.26.
По умолчанию 1 - на одном исходе делается только одна ставка. Можно задать любое количество, тогда после сматчивания ставки, если количество ставок на исходе не достигнет максимального, будет выставлена еще ставка по тем же правилам, но возможно уже в новой рыночной ситуации.
Если установлена маржа -1 тик от текущих рыночных коэффициентов, то есть ставки выставляются впереди всех на рынке, то ставки будут переставляться всегда на лучшие позиции. Однако, если рыночный коэффициент уже не входит в диапазон допустимых, то ставки переставляться естественно не будут, но останутся "висеть". При установке данного параметра они будут отменяться в таких ситуациях.
при установке параметра ставки будут делаться с признаком "Оставить в In-Play". В этом случае в параметрах поиска необходимо установить признак "С поддержкой In-Play"
Этап 5. Обратные ставки
Описание параметров:
При установленом флаге каждая принятая ставка будет "порождать" обратную ставку.
При установленном флаге обратные ставки будут оставлены в In-Play. В этом случае в параметрах поиска необходимо установить признак "С поддержкой In-Play".
Значение в тиках или процентах, на которое необходимо увеличить/уменьшить коэффициент обратных ставок.
Если признак установлен, сматченные суммы будут переставляться на обратные при каждом получении данных о сматчивании, то есть с приодичностью, заданной в параметре "Частота обработки рынков". Если параметр не установлен, то ставка будет переставлена на обратную только тогда, когда будет приянта полностью.
Этап 7. Закрытие рынков
Под закрытием рынков понимается уравнивание результатов по всем исходам.
Описание параметров:
Если параметр установлен, все ставки будут отменены после перехода рынка в In-Play.
Если параметр установлен, то в какой-то момент времени в зависимости от заданного типа закрытия прекращает делать ставки на рынке по алгоритмам, описанным в предыдущих этапах, отменяет все ставки и с заданной периодичностью пытается уравнять результаты по всем исходам. Уравнивание происходит по коэффициентам "Перед лучшими". Например, если на рынке "слева" 1.5, "справа" 1.55, то закрывающая ставка За будет выставлена с коэффициентом 1.54, а закрывающая ставка Против - с коэффициентом 1.51.
Возможные варианты:
- По времени до начала старта. - означает, что момент закрытия наступакет, когда до старта рынка остается заданное время в параметре "Время закрытия (до старта события)". Также в данном типе закрытия в параметре "Время мгновенного закрытия (до старта события)" можно указать время, за которое необходимо уравнять рынок по рыночным коэффициентам;
- По количеству принятых ставок на рынке - означает, что момент закрытия наступает как только на рынке будет принято заданное количество ставок (в параметре "Количество принятых ставок");
- По достижению Целевой прибыли - означает, что как только программа обнаружит на рыке ситуацию, при которой мгновенное закрытие (то есть по рыночным коэффициентам) принесет заданную прибыль (в параметре "Целевая прибыль"), рынок будет закрыт и уравнен;
- По времени после перехода рынка в In-Play - означает, что момент закрытия наступит спустя заданное в параметре "Время закрытия после перехода в In-Play" время.
Если параметр установлен, при формировании закрывающих ставок на двухисходных рынках программа будет выбирать исход, на который выгоднее сделать ставку. Например, вместо ставки За с кэфом 1.2 выгоднее сделать ставку Против с кэфом 5.6.
Если параметр установлен, то в момент закрытия программа отменит все ставки, но закрывающих ставок делать не будет.
Если параметр установлен, закрывающие ставки будут делаться с признаком "Оставить In-Play"
Допустимая разница в итогах на исходах при уравнивании. Например, если поставить 1 цент, программа будет пытаться уравнять результаты по всем исходам до терх пор, пока разница в них будет превышать 1 цент, хотя это часто невозможно. Как только разница в результатах по всем исходам будет меньше заданной суммы, программа посчитает рынок уравненным.
Меньше этой суммы уравнивающие ставки делаться не будут. Сделано для экономии транзакций.
При желании можно ограничить коэффициенты закрывающих ставок. С коэффициентами вне заданных диапазонов закрывающие ставки делаться не будут.
Дополнительные настройки
. Если время запуска и время остановки заданы как 00:00:00, стратегия будет работать постоянно без остановок.
обнуляется при остановке стратегии. Таким образом, можно задать максимальные убытки/прибыль по итогам работы дня, а с помощью параметров Время запуска и Время остановки останавливать и запускать стратегию раз в сутки.
Удачи Вам в поиске своих прибыльных стратегий!