Author Topic: Переменная bm_backp  (Read 1275 times)

Tags:
  • All members
  • Posts: 6
Переменная bm_backp
« on: 04 Jan 2016, 09:49 »
Привет всем!

Обращаюсь к более опытным пользователям МаркетФидера.
Столкнулся с трудностью при написании триггера.
Мой триггер выставляет ставки выше линии рынка на несколько тиков. Отменяет ставки, при определенных условиях, и выставляет заново.
Когда ставки спариваются, я использую переменную bm_backp для уравнения спаренной(ых) ставки(ок).
Как я вижу алгоритм этой переменной:
1. При выставлении неспаренной ставки ей присваивается id;
2. id присваиваются по порядку(1,2,3,4 и т.д.);
3. При спаривании ставки этот же id остается и у ставки в паре;
4. Переменная bm_backp возвращает коэффициент последней ставке в паре по крайнему id.
Таким образом, если мой триггер выставил несколько ставок, например, ЗА по коэффициенту 2.02, 2.04, 2.06, но в различное время, и эти ставки одновременно принимаются, то переменная bm_backp вернет тот коэффициент у которого id крайний, хотя они спарились в одно и тоже время.
Или я неправ и переменная bm_backp возвращает последний коэффициент по времени заключения.
В любом случае вопрос. Как мне получить минимальный коэффициент из трёх ставок в паре(или даже больше), если они спарились в одно и тоже время, и id не обязательно у наименьшего коэффициента?
Минимальный коэффициент мне необходим для того, чтобы уравнять ставки.

Заранее спасибо!

  • Administrator
  • Posts: 8821
  • Gender: Female
*
Re: Переменная bm_backp
« Reply #1 on: 04 Jan 2016, 10:03 »
К сожалению, ставки сортируются по времени их размещения, а не по ID.

Средний коэффициент размещенных вами парных ставок на определенный исход возвращается переменной bm_backavp. Возможно, он вам также подойдет.

Если нет, есть вариант найти минимальное значение с помощью громоздкой, но рабочей конструкции вида:

MINV(IF(bm_1_backp=0, 2000, bm_1_backp), IF(bm_2_backp=0, 2000, bm_2_backp), IF(bm_3_backp=0, 2000, bm_3_backp), IF(bm_4_backp=0, 2000, bm_4_backp))

Здесь предполагается, что у вас может быть максимум четыре парные ставки ЗА на исходе. Если может быть больше, добавьте еще операндов типа IF(bm_5_backp=0, 2000, bm_5_backp) в формулу.
Если у вас нет ни одной ставки, эта формула вернет 2000, что вам следует учесть в условиях триггера, например:

У исхода выражение триггера MINV(IF(bm_1_backp=0, 2000, bm_1_backp), IF(bm_2_backp=0, 2000, bm_2_backp), IF(bm_3_backp=0, 2000, bm_3_backp), IF(bm_4_backp=0, 2000, bm_4_backp)) в пределах 1.01 и 1000
Always try your triggers in Test Mode before switching to real money!

Follow us on Twitter.

Join our WhatsApp chat!

Присоединяйтесь к официальному Telegram-каналу!

  • All members
  • Posts: 6
Re: Переменная bm_backp
« Reply #2 on: 05 Jan 2016, 08:59 »
Дело в том, что парных ставок может быть гораздо больше 4-х.
А важность представляют только последние спаренные, но еще не уравненные. Уравнение происходит на основе коэффициента принятой ставки. Таким образом, bm_backavp не подходит, т.к. он вернет средний от всех парных ставок, а не только от последних.

При спаривании, например, 3х ставок одновременно, значит время их размещения будет одинаковым? И тогда переменные bm_1_backtime, bm_2_backtime, bm_3_backtime должны вернуть одинаковое число?

  • Administrator
  • Posts: 8821
  • Gender: Female
*
Re: Переменная bm_backp
« Reply #3 on: 05 Jan 2016, 09:57 »
А можно поинтересоваться, зачем вам что-то расчитывать вручную, если действие "уравнять прибыль" само определит, какие ставки уже уравнены, а какие нет, и само вычислит нужный размер уравнивающей ставки?
Always try your triggers in Test Mode before switching to real money!

Follow us on Twitter.

Join our WhatsApp chat!

Присоединяйтесь к официальному Telegram-каналу!

  • All members
  • Posts: 6
Re: Переменная bm_backp
« Reply #4 on: 06 Jan 2016, 09:30 »
Хорошее замечание!

Но в функции автоматическое уравнение отсутствует возможность отключить хеджирование. А также нет опции через некоторое время уравнять ставки по доступным коэффициентам, не дожидаясь пока линия рынка достигнет стоп-лосс.

Таким образом, если функция автоматическое уравнение будет расширена, то не придется придумывать конструкции.
И соответственно, если будет хеджирование вкл/выкл в уравнении ставок, то нужна и отдельная кнопка "прохеджировать рынок".

 

Please note, BetFair is seems to be currently OFFLINE