Как зациклить действия триггера

Разберем на примере, как зацикливать одну и ту же операцию на каком-либо исходе с помощью триггеров. Мы рассмотрим, каким образом группировать действия и повторять их при определенных условиях.

Вот типичная ситуация: ставим ПРОТИВ второго фаворита, уравниваем прибыль и, если все ставки в паре, то повторяем до упора.

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

  1. Сделать ставку ПРОТИВ второго фаворита
  2. Уравнять прибыль на исходе, против которого была сделана ставка
  3. Повторить указанные действия, если все ставки в паре

С чего начать

Начнем с простого и реализуем первые два пункта.

Простые триггеры для ставки ПРОТИВ и уравнивания

Эти триггеры достаточно понятны сами по себе. Если я их применю в случайно выбранном рынке скачек, вот что я получу:

Как триггеры делают ставки

А теперь сделаем так, чтобы эти ставки повторялись, т.е. ставка - уравнивание - ставка - уравнивание и т.д. Этого можно достичь, повторяя блок с триггерами.

По умолчанию любой блок повторяется “один раз”. Это означает, что любой триггер из этого блока может сработать только один раз в отдельно взятом рынке (если только это не противоречит настройкам самого триггера). Если вам нужно, чтобы один или несколько триггеров повторились в одном и том же рынке несколько раз, возможно, на одном и том же исходе, тогда вам нужно сгруппировать эти триггеры в блок, который затем повторить.

Меняем способ повторения блока

Зацикливаем триггеры

Изменим свойство "Повторять" у нашего блока с "один раз" на "не чаще, чем 5 сек.”. 

Повторение блока триггеров

Совет: всегда устанавливайте частоту повторения триггера в значение, которое больше частоты обновления ваших ставок (Опции ставок -> Обновлять список текущих ставок раз в … сек.). Так, если ставки обновляются каждые 3 секунды, то крайне важно, чтобы блок повторялся не чаще одного раза в 4 секунды. Ваши триггеры должны иметь возможность дождаться актуального списка текущих ставок!

Слова “не чаще, чем 5 сек.” на самом деле означают, что блок будет повторяться раз в 5 секунд или реже, в зависимости от частоты обновления рынка.

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

Триггер для закрытия блока и повторения триггеров

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

Посмотрим на третий пункт нашей исходной задачи:

Повторить указанные действия, если все ставки в паре

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

Задание условий, при которых триггеры выполнятся

Запустим эти триггеры и посмотрим, что выйдет!

Неверные условия триггера могут привести к непредсказуемым результатам

Ого, что-то явно пошло не так! Ставки все равно идут, не дожидаясь уравнивния. Похоже, что триггер игнорирует свои условия! 

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

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

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

Вот как это должно быть на самом деле:

Корректные условия для зацикливания триггеров с уравниванием

Эта конфигурация приводит к желаемому результату:

Как действуют правильные триггеры

Резюме

Подытожим: 

  1. Нет смысла повторять блок триггеров, если вы не планируете выполнять их действия больше, чем один раз на каждом исходе в рынке;
  2. Чтобы повторить определенные триггеры, поместите их в отдельный блок и установите свойство "Повторить" этого блока в "не чаще, чем X сек.", где X - это число, которое больше значения частоты обновления ваших ставок. Например, если ставки обновляются каждые 3 секунды, для верности установите частоту повторения триггеров в 5-6 секунд ;
  3. Сформулируйте все условия, при которых триггеры должны повторяться. Добавьте их в отдельный триггер с действием "закрыть блок". Укажите имя блока, который нужно повторить.
  4. На этапе тестирования рекомендуем добавить задержку тестовых ставок, чтобы приблизить скорость появления ставок в программе к реальности:
    Задержка тестовых ставок
Если вы еще не слышали о BetFair или у вас еще нет учетной записи, самое время зарегистрироваться и получить бесплатно $30 к депозиту (см. правила биржи). Регистрируйтесь с помощью ссылки ниже:
 
© 2005-2017 WellDone Creative Software. Все права защищены. Условия использования.
BetFair® и логотип BetFair являются зарегистрированной торговой маркой The Sporting Exchange Limited. Gamble responsibly.