Author Topic: Как сделать так, чтобы триггер "подождал" некоторое время?  (Read 2067 times)

Tags:
  • All members
  • Posts: 50
  • Karma: +0/-0
Добрый день.

Подскажите, как сделать так. чтобы триггер подождал несколько секунд (от 5 до 10) после того, как условия выполнятся, перед тем как сделать ставку? И при этом взял коэффициент, который будет через эти 5-10 секунд.


  • Tim Vetrov
  • Administrator
  • Posts: 4569
  • Karma: +18/-0
  • Gender: Male
*
I'm happy to help Monday - Friday, 08:00-18:00 GMT
Буду рад помочь с понедельника по пятницу, 08:00-18:00 GMT

  • All members
  • Posts: 50
  • Karma: +0/-0
А как можно это сделать на теннисном рынке?

  • All members
  • Posts: 50
  • Karma: +0/-0
В общем ситуация такая, я указываю в условиях триггера к примеру второй сет и первый гейм. Как только первый сет заканчивается, триггер срабатывает сразу. То что срабатывает быстро, это конечно очень хорошо, но коэффициенты еще установились. Указывать условие со счетом например 0:15 или 15:0 в гейме не хочу. Для меня это важно.

  • All members
  • Posts: 50
  • Karma: +0/-0
Жаль что приходится придумывать "костыли", а нет просто опции подождать перед ставкой (какое то время) перед тем как условия выполнятся.

  • All members
  • Posts: 50
  • Karma: +0/-0
"Костыль" сделал вроде работает.

  • Administrator
  • Posts: 8952
  • Karma: +337/-2
  • Gender: Female
*
Жаль что приходится придумывать "костыли", а нет просто опции подождать перед ставкой (какое то время) перед тем как условия выполнятся.

Условия триггера проверяются при каждом обновлении рынка, поэтому "просто опция" не представляется такой уж простой. Допустим, у вас все условия выполнились, начинаем отсчет. В следующее обновление они уже не выполняются, а еще через пару секунд -- снова выполняются. От какого момента делать отсчет?

Если на каждую частную ситуацию делать специальную опцию, редактор триггеров станет нефункциональным. Есть вполне рабочие решения на этот конкретный случай.
Always try your triggers in Test Mode before switching to real money!

Follow us on Twitter.

Usuários brasileiros, bem vindos ao nosso WhatsApp chat!

Присоединяйтесь к нашей официальной группе ВКонтакте!

  • All members
  • Posts: 50
  • Karma: +0/-0
Oxa, добрый день.

1.    Я  правильно понимаю, что если у меня рынок обновляется раз в 0,2 секунды, то условия триггера успевают провериться 5 раз за секунду в каждом рынке, даже если у меня 20-50 рынков в данный момент?  Если это так, то это впечатляет.
2.    По поводу действия (опции) «подождать».

Футбол. Все мы понимаем, что после гола необходимо некоторое время, для того, чтобы «установились» правильные коэффициенты. К примеру, я жду гол. Условие в триггере: market_score1 + market_score2 = 1. Гол забили, условие верно и сработал триггер и тут приходится писать подобные условия в триггере: У исхода выражение триггера (now_time-last_inplay)/mf_second больше sec_since_goal. Хорошо, ничего страшного, сам пользовался этим примером. Но это не очень удобно, к тому же футбольный рынок может приостанавливаться не только после забитого гола, а в теннисе рынки вообще не приостанавливаются. Но это условие в принципе рабочее (в футболе), так как далее мы проверяем счет в матче.
Удобно и практично было бы иметь возможность выбрать действие в триггере «подождать» с указанием количества секунд. Тот же пример market_score1 + market_score2 = 1 – условие выполнилось? Выполнилось. Далее (как вижу это я) триггер ничего не делает (и не проверяет условия) в пределах указанных секунд в опции действии «подождать». Я понимаю, что в течение 30-60 секунд коэффициенты должны «установиться» и соответственно после этого делаю ставку. Так как в программе есть возможность в одном триггере делать сразу несколько действий (что удобно), то выглядело это примерно так в одном триггере:
1 действие: подождать 60 сек.
2 действие: Ставить ЗА  коэф. back_price ставка default_backa

При чем (важно), чтобы back_price триггер брал в момент, после того как прошли 60 секунд, т.е. когда мы предполагаем что коэффициенты в данный момент корректны.





  • All members
  • Posts: 50
  • Karma: +0/-0

Теннис. Я делал проверку на окончание первого сета следующим образом: tennis_current_set = 2 и tennis_current_game = 1 и триггер срабатывал настолько молниеносно, что успевал делать ставку до того момента, как цена изменилась и стала корректной. То есть ставка делалась по цене, как будто сет еще не завершен. Это конечно очень круто, что MF PRO работает настолько быстро, и я был вчера приятно удивлен, но в то же время для меня это создало проблему. То же самое происходило (бот срабатывал очень быстро, до изменения цены) когда я делал проверку на окончание первого гейма во втором сете. Уверен, программа так же быстро сработает и при проверке счета в гейме (не проверял).
Для решения данной проблемы мне пришлось делать 2 триггера вместо одного. Первый триггер проверял условие (окончание первого сета) с функцией «Исполнять не чаще чем 3 сек.» без каких либо действий, а второй триггер проверял количество выполнений первого триггера равным 3 или более. Таким образом, второй триггер делал ставку по нужной цене примерно через 10 секунд после окончания первого сета. Как мне и нужно было. Так же мне пришлось делать 2 триггера и на второе условие. Что оказалось не удобным решением.
Так как я теперь знаю, насколько быстро работает MF PRO (быстрее изменения цен на теннисном рынке), то мне однозначно пригодилась бы опция (действие) «подождать». В то же время для меня важно обновлять рынки быстро (0,2 сек.).
Вместо двух триггеров, я бы выбрал 2 действия: Подождать и Ставить.
Хочется проверить несколько идей по скальпингу теннисных рынков внутри гейма, но теперь это видится проблематичным из-за отличной работы MF PRO!).  Придется дальше делать подобные «костыли». Но если есть возможность добавить подобное действие в программу, это было бы очень здорово.

Под идеей опции «подождать» я понимаю, что триггер не выполняет ни каких действий, не проверяет условия указанное время. Затем идет выполнение следующее действие данного триггера.


  • All members
  • Posts: 50
  • Karma: +0/-0
Примерно так:


  • Tim Vetrov
  • Administrator
  • Posts: 4569
  • Karma: +18/-0
  • Gender: Male
*
Программа неплохо работает с параметрами времени.
В программе есть переменные last_suspend и last_goal_time.
Сравнивая их с not_time, можно получить требуемую задержку в выполнении триггера.
Так же Вы можете делать задержку от любого события - выставляете значение своей переменной в now_time и сравниваете с now_time.
Пример:

Code: [Select]
У исхода выражение триггера now_time - last_goal_time больше 10*mf_second
"задерживает" выполнение триггера на 10 секунд от последнего гола.
P.S. какие же это "костыли"...
I'm happy to help Monday - Friday, 08:00-18:00 GMT
Буду рад помочь с понедельника по пятницу, 08:00-18:00 GMT

  • All members
  • Posts: 50
  • Karma: +0/-0
Спасибо. По футболу понятно. А как сделать задержку на теннисном матче подскажете?

  • All members
  • Posts: 50
  • Karma: +0/-0
Или это относится и к теннисным рынкам тоже?

  • All members
  • Posts: 50
  • Karma: +0/-0
Спасибо, буду использовать.