Jump to content


* * * * * 2 votes

Учим бота работать в автомате (разработка триггера)


43 replies to this topic

#21 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 09 August 2012 - 09:01

Итак, общие выводы по результатам тестирования:
1. В триггер необходимо ввести регулируемую задержку срабатывания в районе 5-15 сек от события
2. Если ставка не стала, поправлять сразу ее не стоит, счет может стать 0-15 и ее заберут, но оставлять ставку на большой круг тоже рискованно, поэтому команда Green должна не только уравнивать, но и удалять незаматченные ставки.
3. Нужен триггер, останавливающий автоматическую торговлю

Самое большое преимущество автоматического бота считаю в безжалостном урезании убытков. Руками, наверное, больше в рынок не полезу, потому что нужна железная дисциплина. Всегда, когда на кнопке green красный минус появляется желание подождать, включается режим Бога, говоришь себе что цена вернется, догоняешься и в результате имеешь огромный минус.

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

Работу бота на теннисе больше показывать не буду, а то и так очень много скринов, модераторы, наверное, будут ругаться :).

На следующий неделе попробую футбол, давно хотел реализовать что-то вроде «вход стазу после гола, выход через 5-10 минут».

#22 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 10 August 2012 - 15:01

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

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

При этом все линии запускать сразу не стоит. Бот шлет запросы цены раз в 500 мсек (если позволяет подключение к Интернету). Этот интервал распределяется между всеми отрытыми окнами. Если открыть 10 окон, в каждом окне цена будет обновляться раз в 5 сек.

Нужен менеджер рынков, куда заранее можно внести список нужных матчей и настроить сканер(ы) на все выбранные рынки (сопоставить названия), выбрать сохраненные триггеры.

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

#23 OFFLINE   chipseto

    Пунтер


  • Участник
  • PipPip
  • 35 posts
12

Posted 10 August 2012 - 21:46

Чем дальше будет продвигаться разработка тем сложнее все будет становиться.  Понадобятся функции для огромного количества нюансов(если качество должно быть близким к ручной торговле а не типа ЗА 3х фаворитов). При этом эти функции должны быть взаимосвязаны потому что одно зависит от другого. И в итоге может получиться каша. Самому программисту сложно детально разобраться а пользователю мне кажется вообще нереально :) И самое главное голова в отличие от автомата все таки работает по другому. Если вручную например скальпирую в плюс на скачках то мой бот с огромной кучей условий торгует в лучшем случае в ноль - прямо мистика, до сих пор не понимаю почему, вроде делаю все тоже самое :).

Edited by chipseto, 10 August 2012 - 21:49.


#24 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 14 August 2012 - 17:47

Здравствуйте, продолжаю учить бота автоматической торговле.

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

Первые наброски менеджера событий тенниса, включающего слева цены от бетфаир, справа счет от myscore:
Attached File  mng.png   30.43K   1 downloads

#25 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 17 August 2012 - 19:05

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

Когда старшему сыну было 9 лет, жена порадовала, что будет еще двойня (мальчики), думал, ну ничего сложней будет в два раза, в реальности, оказалось, тяжелей раз в пять, хотя это не в тему форума.

Уже сейчас в менеджере пришлось ввести, как в ядерной подводной лодке, четыре степени ручного подтверждения (кнопки в нажатом состоянии) о том что:
- получаем рынки;
- настроены триггеры;
- получаем счет;
- выбран фаворит и информация (команды (игроки)) от BF и myscore сопоставлены.

Attached File  mng.png   18.02K   4 downloads

Еще раз подтверждаю, что chipseto был прав.

Цитата

Понадобятся функции для огромного количества нюансов

Но все решаемо. И чтобы не сбылось его еще одно пророчество:

Цитата

Самому программисту сложно детально разобраться а пользователю мне кажется вообще нереально

Для настойки (проектирования) автоматов (триггеров) максимально использую графический интерфейс.


В настройки триггера добавил раздел Disable – это те условия, при выполнении которых триггер отключается.

Attached File  trg.png   20.21K   3 downloads

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

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

#26 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 17 August 2012 - 20:43

В предыдущем сообщении забыл добавить, что (как видно на рисунке trg.png) для работы автомата ввожу задержку срабатывания триггера после события – Delay. Привет WanGuardу! :) :) :)

#27 OFFLINE   chipseto

    Пунтер


  • Участник
  • PipPip
  • 35 posts
12

Posted 18 August 2012 - 22:56

Ну я не просто так писал - прошел частично этот путь и до сих пор не все глюки отловил. Не хочу каркать но это только самое начало. Если делать хорошо придется писать что-то вроде: менеджер простановки, менеджер отмены, менеджер стоплосса, менеджер корректировки, менеджер отслеживания, менеджер закрытия, менеджер распределения запросов и многое другое. Для каждого менеджера нужно написать гибкую изменяемую конфигурацию (от графического интерфейса мне пришлось быстро отказаться потому что данных слишком много и проще оказалось написать классы конфигураций). Естественно все это должно быть взаимосвязано. Естественно что для каждой сложной стратегии все это придется корректировать и отлаживать.
Также учесть то что изредка биржа в ответах может давать некорректные данные даже если везде в ответах "OK". А также не забыть учесть изменение данных во времени. При этом желательно чтобы все это работало параллельно как в рамках одного так и нескольких рынков. Особенно параллельность нужна во время инплей из-за задержки. В общем объем работы будет очень большой. Проще прописать несколько жестких алгоритмов как делают авторы многих платных ботов и не напрягаться :)

Edited by chipseto, 18 August 2012 - 22:56.


#28 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 24 August 2012 - 23:32

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

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

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

Мысли такие:
1. В свое время (лет шесть назад), гуляя по интернету, наткнулся на предложения выигрывать у казино блекджек, для чего кто-то продавал волшебные таблицы (потом нашел их в свободном доступе). Ну и как программист решил их проверить. Разработал модель игры и многомиллиардное итерации показали, что таблицы были практически правильные, но СЛИВ ОДНОЗНАЧЕН с вероятностью (точно не скажу, но если принципиально найду программу моделирования) в районе 52% - это если строго следовать правилам, а если играть по наитию, то вероятность выигрыша не выше плинтуса.

2. Аналитические отделы буков не зря едят свой хлеб. Они, как и казино играют в долгосрочку. Можно попробовать сыграть вмести с ними против тех, кто играет без правил. То есть, для начальной точки отсчета можно взять средней кэф по букам (может накинуть маржу), далее разложить игру на элементарные итерации, включая счет в геймах. А может наоборот, разложить игру так, чтобы мы приходили в итоге к среднему кэф по букам. Я на силен в теории вероятности, так как Sector, но современный комп позволяет решить эту задачу не только аналитическим путем, но и моделированием.

3. Что в итоге можно получить – матч, который разложен на элементарные геймы (не шахматы вариантов не так много), при этом в каждой узловой точке должна рассчитываться «справедливая» цена и будет находиться расчетная вероятность, которая и будет определять входим мы в рынок или наоборот выпрыгиваем из него.

4. Первоначальный вариант – входим на подаче, выходим на приеме – детский сад. А если счет 4-0 в сете в пользу фаворита, смысл выходить на его приеме - может выгодней жать окончания 1-го сета. Так вот слово может надо исключить. В триггере всех вариантов счета ввести не реально.

5. Ну и как итог. В результате моделирования нельзя будет получить как в блекджеке окончательную вероятность выигрыша. Но можно будет получить набор правил следуя, которым выйти на (дайте помечтать) на вероятность выигрыша 51% в долгосрочке.

#29 OFFLINE   алексей

    Специалист


  • Участник II
  • PipPipPip
  • 191 posts
12
  • МестоположениеПермь

Posted 28 August 2012 - 17:49

С нетерпением жду продолжения Вашей работы. Ещё раз огромное спасибо!

#30 OFFLINE   алексей

    Специалист


  • Участник II
  • PipPipPip
  • 191 posts
12
  • МестоположениеПермь

Posted 28 August 2012 - 18:53

А этого бота в свободно доступе нет?

#31 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 28 August 2012 - 19:14

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

Цитата

Самому программисту сложно детально разобраться а пользователю мне кажется вообще нереально

О первых результатах по моделированию скоро напишу.

#32 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 29 August 2012 - 09:21

Начало моделирования теннисного матча.

1. Модель одного гейма. Реализация (программная) очень простая, пример как написать код показал Sector.

Результаты
1.1 График вероятности выиграть гейм (y), при вероятности взять одну подачу от 50 до 75% (x) (в точке со стрелкой вероятность совпадает с рассчитанной здесь)

Attached File  m1.png   20.31K   1 downloads

1.2 График, c какой вероятностью закончится гейм (y), с заданным счетом (x) при вероятности взять одну подачу от 50 до 75%

Attached File  m2.png   45.45K   0 downloads

И что это дает, наверное, ничего. Есть сайты, где есть статистика подач и приемов, но они хотят денег.

Attached File  m3.png   51.1K   0 downloads

Следующий шаг - моделирование сета, где в каждой узловой точке будет модель гейма.

Attached File  m4.png   17.5K   0 downloads

В результате моделирования сета, хочу через начальные кэфы на сет, выйти на вероятности: взять подачу, проиграть прием.

У кого какие мысли, может, это уже кто-то прошел и это путь в никуда?

#33 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 01 September 2012 - 13:45

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

#34 OFFLINE   pupkin

    Новичок


  • Участник
  • Pip
  • 9 posts
1

Posted 01 September 2012 - 13:55

BotBetfair желаю отлично отдохнуть!

#35 OFFLINE   Remis

    Специалист


  • Модератор
  • 1,606 posts
349
  • МестоположениеEU

Posted 01 September 2012 - 13:55

СообщенияBotBetfair, on 01 September 2012 - 13:45, сказал:

Всем привет из Африки, из солнечного Туниса. На десять дней беру перерыв и сворачиваю пока все работы.
Желаем приятно провести время!Набирайся сил и при возвращение будем только рады увидеть продолжение своих разработок.

#36 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 06 October 2012 - 20:33

Продолжаю исследования в области моделирования теннисного матча. Моделирование возможных результатов одного гейма подключил к сканеру. В результате, по текущему счету можно определить вероятность выигрыша гейма. Одна проблема – нужна вероятность выигрыша подачи. Сейчас ее задаю вручную, а нужно как-то взять из вероятности выиграть сет – коэффициент на сет дает бетфаир. Вот оттуда его и надо достать и тогда такой модуль может послужить основой для логики принятия решения входа выхода из рынка автомата.

Пример работы расчета на двух геймах, при условной (заданной) вероятности взять подачу у каждого по 60%
Attached File  scanner.png   74.38K   3 downloads

#37 OFFLINE   spamer0k

    Специалист


  • Участник II
  • PipPipPip
  • 139 posts
10

Posted 23 October 2012 - 04:57

Как успехи?

#38 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 23 October 2012 - 20:53

Сообщенияspamer0k, on 23 October 2012 - 04:57, сказал:

Как успехи?

Теннис, хоть он мне нравиться больше чем футбол, отодвинут на второй план, пока. Зачем изобретать велосипед... , пробую реализовать идеи Sector-а в полуавтомате.

#39 OFFLINE   spamer0k

    Специалист


  • Участник II
  • PipPipPip
  • 139 posts
10

Posted 26 October 2012 - 02:24

СообщенияBotBetfair, on 23 October 2012 - 20:53, сказал:

Теннис, хоть он мне нравиться больше чем футбол, отодвинут на второй план, пока. Зачем изобретать велосипед... , пробую реализовать идеи Sector-а в полуавтомате.
а вылаживать готовый варик будешь или ты чисто для себя пилишь софт? :)

#40 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • PipPipPipPip
  • 589 posts
262
  • МестоположениеМинск, Беларусь

Posted 26 October 2012 - 09:04

В свободном доступе, конечно, не будет, а если бот окажется убыточным, то, в соответствии со стандартной практикой Интернета, – начну его продавать. :)