Перепрыгнеть в содержание


* * * * * 2 голосов

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


43 ответов в эту тему

#21 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 09 August 2012 - 09:01

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

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

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

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

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

#22 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 10 August 2012 - 15:01

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

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

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

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

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

#23 OFFLINE   chipseto

    Пунтер


  • Участник
  • ПипПип
  • 35 сообщения
12

Добавлено 10 August 2012 - 21:46

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

Отредактировано chipseto, 10 August 2012 - 21:49.


#24 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 14 August 2012 - 17:47

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

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

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

#25 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 17 August 2012 - 19:05

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

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

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

Прикрепленный файл  mng.png   18.02K   4 Количество загрузок

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

Цитата

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

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

Цитата

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

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


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

Прикрепленный файл  trg.png   20.21K   3 Количество загрузок

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

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

#26 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 17 August 2012 - 20:43

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

#27 OFFLINE   chipseto

    Пунтер


  • Участник
  • ПипПип
  • 35 сообщения
12

Добавлено 18 August 2012 - 22:56

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

Отредактировано chipseto, 18 August 2012 - 22:56.


#28 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 24 August 2012 - 23:32

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

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

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

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

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

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

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

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

#29 OFFLINE   алексей

    Специалист


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

Добавлено 28 August 2012 - 17:49

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

#30 OFFLINE   алексей

    Специалист


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

Добавлено 28 August 2012 - 18:53

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

#31 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 28 August 2012 - 19:14

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

Цитата

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

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

#32 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 29 August 2012 - 09:21

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

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

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

Прикрепленный файл  m1.png   20.31K   1 Количество загрузок

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

Прикрепленный файл  m2.png   45.45K   0 Количество загрузок

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

Прикрепленный файл  m3.png   51.1K   0 Количество загрузок

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

Прикрепленный файл  m4.png   17.5K   0 Количество загрузок

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

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

#33 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 01 September 2012 - 13:45

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

#34 OFFLINE   pupkin

    Новичок


  • Участник
  • Пип
  • 9 сообщения
1

Добавлено 01 September 2012 - 13:55

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

#35 OFFLINE   Remis

    Специалист


  • Модератор
  • 1606 сообщения
349
  • МестоположениеEU

Добавлено 01 September 2012 - 13:55

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

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

#36 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 06 October 2012 - 20:33

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

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

#37 OFFLINE   spamer0k

    Специалист


  • Участник II
  • ПипПипПип
  • 139 сообщения
10

Добавлено 23 October 2012 - 04:57

Как успехи?

#38 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 23 October 2012 - 20:53

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

Как успехи?

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

#39 OFFLINE   spamer0k

    Специалист


  • Участник II
  • ПипПипПип
  • 139 сообщения
10

Добавлено 26 October 2012 - 02:24

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

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

#40 OFFLINE   BotBeetle

    Специалист


  • Участник II
  • ПипПипПипПип
  • 589 сообщения
262
  • МестоположениеМинск, Беларусь

Добавлено 26 October 2012 - 09:04

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