17.12.2018
1. Как сделать ставку на победителя предыдущего события?
К параметрам исхода, который победил в предыдущем рынке, можно обратиться с помощью префикса pw_ (что означает “previous winner”, т.е. предыдущий победитель). В частности, чтобы получить значение переменной исхода, победившего в ближайшем рассчитанном рынке, нужно написать pw_1_, исхода, победившего в рынке, закончившегося предпоследним от текущего рынка, -- pw_2_ и т.д.
Таким образом, если хотите поставить на исход с тем же порядковым номером, что и предыдущий победитель, воспользуйтесь таким условием:
У исхода Порядковый номер равно pw_1_sel_index.
Если хотите поставить на исход с таким же рангом (позицией в списке исходов, отсортированных по коэффициенту), воспользуйтесь таким условием:
У исхода Ранг равно pw_1_last_order.
2. С помощью какого условия можно ограничить триггер теми рынками, где коэффициенты первых двух фаворитов отличаются минимум на 10 тиков?
И У исхода Выражение триггера g_ticks(r_1_back_price, r_2_back_price) больше или равно 10
Здесь функция g_ticks возвращает разность (в тиках) между двумя коэффициентами, указанными в скобках.
3. Как делать отложенные ставки в MarketFeeder Pro?
Под отложенной ставкой обычно подразумевается ставка с коэффициентом, худшим, чем текущее наилучшее предложение на рынке. Например, если текущий коэффициент ЗА равен 2.0, а вы хотите сделать отложенную ставку ЗА по 1,5, чтобы она принялась не раньше, чем текущий коэффициент снизится до этого уровня. Дело в том, что если такую ставку сделать сразу, биржа автоматически улучшит ее коэффициент (поднимет в случае со ставками ЗА и опустит -- со ставками ПРОТИВ).
Однако как бы эти ставки ни назывались в других ботах или на форумах, они по сути своей те же триггеры, которые срабатывают, как только коэффициенты достигнут определенной границы.
Отложенная ставка ЗА будет выглядеть, например, таким образом:
А отложенная ставка ПРОТИВ может выглядеть так:
А вот пример ставки, уравнивающей прибыль, которая остается в рынке, пока ее не примет биржа:
4. Иногда при редактировании условий триггера у меня появляется такая ошибка:
Что я делаю не так?
Правила логической алгебры требуют, чтобы операторы И и ИЛИ не смешивались в одном выражении. Когда условия соединяются оператором И, то для выполнения триггера все эти условия должны удовлетворяться. Когда же они соединяются оператором ИЛИ, то достаточно, чтобы выполнялось только одно из таких условий. Из-за этой фундаментальной разницы два логических оператора не могут использоваться на одном и том же уровне. Но, к счастью, можно добавлять вложенные условия, используя блоки условий.
Блок условий может содержать условия, соединенные логическим оператором, принципиально отличающимся от того, который связывает блок с остальными условиями верхнего уровня.
В данном случае блоки условий работают как скобки в арифметических выражениях, например:
5 – (4 + 2) не одно и то же, что 5 – 4 + 2, правильно?
В приведенном выше скриншоте видно, что второе и третье условие начинаются с разных логических операторов. Чтобы отделить их от остальных условий, нужно вынести их в отдельный блок, вот так:
По сути, это означает: “У исхода должен быть ранг в заданных пределах И (либо текущий убыток в переменной current_lss равен нулю ИЛИ коэффициент исхода меньше заданного значения)”. Это вполне корректное логическое выражение.
Вы можете добавлять сколько угодно логических блоков (в пределах мощности вашего компьютера и размеров экрана). Для этого жмите ссылку "Добавить блок" в меню соответствующего блока: