Задержите сигнал тревоги на несколько секунд - страница 3

 
GumRai:

Что вы хотите сказать?

Почему? Нет ничего плохого в использовании Time[0] для обнаружения нового бара.

Мой код в порядке. Ему нужно 3 секунды после начала полосы.

Иногда при обновлении истории Time[0] не работает.

https://forum.mql4.com/ru/65066/page6#1016370

(рус.)

 
omissamf:
Привет, ребята, вы великолепны !!!
Я не знаю, как поблагодарить вас за сотрудничество.
Код, размещенный eevviill, работает очень хорошо, это то, что я имел в виду.
Код GumRai вместо этого делает перерисовку и дает сигнал всякий раз , когда RSI пересекает уровни 30/70.
Я вставил рабочий код в соответствии с предложениями eevviill, надеясь, что он еще послужит.

Спасибо за все, Массимо.


С удовольствием.
 
Здравствуйте eevviill, просто любопытно: что вы имели в виду:
P.S. Не используйте Time [0], используйте Bars?
Можно ли поменять коодис , который разместил GumRai?
это просто мое любопытство, потому что я пытаюсь понять и изучить язык.
Спасибо, Макс.
 
eevviill: P.S. Не используйте Time[0], используйте Bars
Не используйте бары, они могут измениться при обновлении (новая загруженная история.) Не используйте объем (вы можете пропустить тики) Всегда используйте время.
 
omissamf:
Здравствуйте eevviill, просто любопытно: что вы имели в виду:
P.S. Не используйте Time [0], используйте Bars?
Можно ли поменять коодис , который написал GumRai?
это просто мое любопытство, потому что я пытаюсь понять и изучить язык.
Спасибо, Макс.

В моем коде Барс. Вы можете проверить это.

Для обнаружения нового бара используйте только Bars.

 
WHRoeder:
Не используйте бары, они могут измениться при обновлении (новая загруженная история.) Не используйте объем (вы можете пропустить тики) Всегда используйте время.

И? Барс остался прежним?

Вы ошибаетесь.

 
omissamf:
Код GumRai вместо этого делает перерисовку и подает сигнал всякий раз , когда RSI пересекает уровни 30/70.


Вы имеете в виду этот пример, который я разместил?

   static datetime BarStart=0;
   static bool check=false;
   if(BarStart!=Time[0])
     {
      BarStart=Time[0];
      check=true;
     }
   if(check && TimeCurrent()>=Time[0]+3)
     {
      check=false;
      //Check Condition
     }

Я не думаю, что это вызовет перерисовку или дополнительные сигналы.

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

   if(check && TimeCurrent()>=Time[0]+3)
     {
      check=false;
      //Check Condition
     }

блока.

 
eevviill:

И? Барс остался прежним?

Вы ошибаетесь.

Если поступает новая история, бары меняются. Однако это не указывает советнику, что сформировался новый бар.

 
WHRoeder:

Если поступает новая история, бары меняются. Однако это не указывает советнику, что сформировался новый бар.



Если история графика будет обновляться и количество баров увеличится, то бары не изменятся????.

 

Я отредактировал последние 2 сообщения. Пожалуйста, прекратите препирательства, они ничего не дают.

Я буду продолжать использовать Time[0] для обнаружения нового бара, так как у меня никогда не было проблем с этим.

Честно говоря, я не знаю, что происходит, когда Bars достигает максимума в истории, поэтому я не буду использовать Bars. Если eevviil предпочитает использовать Bars, это его дело. WHRoeder является чрезвычайно опытным и ценным участником этого форума, и все, что он говорит, не должно быть легкомысленно отвергнуто.