Pages:
Actions
  • #1 by alexandrino on 03 Apr 2013
  • Здраствуйте! Помогите написать триггер по заданному алгоритму:

    Если на рынке выполняется условие вида IF()+IF()=2, например 5 раз ПОДРЯД, то делается ставка  ВАСК. После чего происходит тайм-аут на 5 минут, и после этого происходит повторная проверка условия IF()+IF()=2 на выполнение 5 раз подряд для того чтобы сделать ставку ВАСК. Если условие выполняется, то делается ставка ВАСК, потом происходит тайм-аут на 5 мин и опять заново по кругу.
    Я акцентирую внимание на том, что условие должно выполняется именно 5 раз ПОДРЯД.
  • #2 by andro on 03 Apr 2013
  • Здраствуйте! Помогите написать триггер по заданному алгоритму:

    Если на рынке выполняется условие вида IF()+IF()=2, например 5 раз ПОДРЯД, то делается ставка  ВАСК. После чего происходит тайм-аут на 5 минут, и после этого происходит повторная проверка условия IF()+IF()=2 на выполнение 5 раз подряд для того чтобы сделать ставку ВАСК. Если условие выполняется, то делается ставка ВАСК, потом происходит тайм-аут на 5 мин и опять заново по кругу.
    Я акцентирую внимание на том, что условие должно выполняется именно 5 раз ПОДРЯД.

    Эммм... IF - операция ветвления .  Как понять IF () + IF () = 2    ?   Пример напиши .
    Может под IF понимается какой-то из критериев рынка или исхода ?  
    Лучше скажи что хочеш создать прямо - чем могу помогу :)

  • #3 by Oxa (WellDoneSoft) on 03 Apr 2013
  • Ранее сегодня был пример того, как прождать определенное время после выполнения триггера.

    Добавляем счетчик и получаем прикрепленные триггеры.
  • #4 by alexandrino on 03 Apr 2013
  • Спасибо за пример, но не совсем понятно как происходит проверка выполнения условия того, что условие (в данном случае коэф. ЗА будет больше 1) выполнилось 5 раз ПОДРЯД, прежде чем ставить ставку. Также не совсем понятно как работает  переменная IF(counter = max_cntr-1, 0, counter+1). Буду признателен если объясните, я в этом деле новичек.
  • #5 by andro on 04 Apr 2013
  • Также не совсем понятно как работает  переменная IF(counter = max_cntr-1, 0, counter+1). Буду признателен если объясните, я в этом деле новичек.

    Постараюсь перевести на более понятный язык ( да простит меня Oxa) :)
    counter := IF(counter = max_cntr-1, 0, counter+1)  
    --------------------------------
    const max_cntr = 5;
    conter = 0;
    --------------------------------

    if (counter == max_cntr-1)
    {
    counter = 0;
    }else{
    counter=counter+1;
    }
  • #6 by Oxa (WellDoneSoft) on 04 Apr 2013
  • Спасибо, andro.

    Автор, подробное описание того, как работает функция IF, а также остальные поддерживаемые функции и операторы, можно найти в разделе файла справки "Торговля триггерами - Справочник - Операторы и функции".
  • #7 by alexandrino on 04 Apr 2013
  • Спасибо, andro и Oxa, с функцией IF разобрался. Но в указанном примере ставка за делается без проверки условий выполнения условия 5 раз и не работает тайм-аут на 5 мин. Программа постоянно ставит одну и туже ставку ЗА.
  • #8 by Oxa (WellDoneSoft) on 04 Apr 2013
  • Спасибо, andro и Oxa, с функцией IF разобрался. Но в указанном примере ставка за делается без проверки условий выполнения условия 5 раз и не работает тайм-аут на 5 мин. Программа постоянно ставит одну и туже ставку ЗА.

    Эээ, ну так замените первое условие-заглушку на свое!
  • #9 by alexandrino on 04 Apr 2013
  • Да, заменил конечно! Там с условиями что-то не так! Сразу делается ставка т.к. выполняется условие (ставка ЗА больше 1) и количество выполнения триггера Ставка ЗА равно 0. А также делается ставка после выполнения условия (ставка ЗА больше 1) и выражение триггера counter больше 0.
    По идее ставка должна делаться только при условии:
    1. выполнении условия
    2. выражение триггер counter равно 0 (условие выполнено 5 раз подряд)
    3. выражение триггера тайм аута больше указанного значения в секундах
  • #10 by Oxa (WellDoneSoft) on 04 Apr 2013
  • Сразу делается ставка т.к. выполняется условие (ставка ЗА больше 1)

    Условие "коэффициент ЗА > 1" и есть заглушка. Уберите его и вместо него вставьте свое условие, тогда триггер будет выполняться только при удовлетворении вашему условию.
  • #11 by alexandrino on 04 Apr 2013
  • Да, естственно заменил Ваше условие-заглушку на свое условие! В результате триггер ставит очень много ставок!
  • #12 by Oxa (WellDoneSoft) on 04 Apr 2013
  • Да, все понятно теперь.
    Посмотрите новый файл триггеров в прикреплении.
  • #13 by alexandrino on 05 Apr 2013
  • Спасибо! Посмотрел новый триггер. Не совсем понятно для чего используется match_index? А также sel_id и mysels_market_id_sel_id? Объясните пожалуйста.
  • #14 by Oxa (WellDoneSoft) on 05 Apr 2013
  • Не совсем понятно для чего используется match_index?

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

    А также sel_id и mysels_market_id_sel_id? Объясните пожалуйста.

    Это способ найти исходы, которые были запомнены под именем mysels_market_id.
  • #15 by alexandrino on 06 Apr 2013
  • Спасибо, разобрался! Подскажите а как сделать, чтоб счетчик не просто считал выполнение первоначального условия, а обнулялся если первоначальное условие не выполнилось! Тем самым делалась ставка только при условии , что первональное услови выполнено 5 раз при 5 проверках.
Pages:
Actions