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

 
Привет, ребята, я должен извиниться перед Гам Раем. Сегодня утром спокойно и открыто ввел ваш код и он заработал !!!!.
Я не понял, что было не так, потому что я думаю, что я ввел как в прошлый раз, но, конечно, это я ошибаюсь. Извините меня, GumRai. Вы великий !
!!

Приветствую, Массимо.


int start()
{
  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
    

//_________________________________

/*void OnTimer(){
{
if(Bars!=prev_bars) current_candle_alert_been=false;
prev_bars=Bars;

if(current_candle_alert_been) return;
if(TimeLocal()-time_dif<Time[0]+seconds) return;
current_candle_alert_been=true;
 */    
      //Indicator Buffer 1
      if(iRSI(NULL, PERIOD_CURRENT, Period1, PRICE_CLOSE, 0) < 30
      
      )
        {
         Buffer1[0] = Low[0] - iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick Low - Average True Range
         if(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Buy"); time_alert = Time[0]; } //Instant alert, only once per bar
        }
      else
        {
         Buffer1[0] = 0;
        }
      //Indicator Buffer 2
      if(iRSI(NULL, PERIOD_CURRENT, Period1, PRICE_CLOSE, 0) > 70
     
      )
        {
         Buffer2[0] = High[0] + iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick High + Average True Range
         if(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Sell"); time_alert = Time[0]; } //Instant alert, only once per bar
        }
      else
        {
         Buffer2[0] = 0;
        }
     }
      
return(0);
}
 //-----------------------------------------------------------------------------------------------------------------------------


 

Не беспокойтесь,

Я просто рад, что у тебя все получилось.

 
GumRai: Но вы говорите, что Bars увеличивается при добавлении более ранних данных на график. Это значит, что добавление более ранних баров увеличивает отдачу от баров, поэтому использование Bars вместо Time[] будет определять новый бар, даже если нового бара не было?

Именно.

Индикаторы не используют новый штрих-код. Они используют либо rates_total и previous_calculated, либо Bars и IndicatorCounted(), поэтому они пересчитывают вновь добавленные более ранние данные.

Советники используют код нового бара Time[0] для обнаружения нового бара.

Пример на дневном графике: Четверг=[1] Пятница=[0] Бары=2

Затем добавляется история: вторник=[3], среда=[2] четверг=[1] пятница=[0] Бары изменились на 4, но день по-прежнему пятница: нового дня нет.

Бары ненадежны (обновление/переподключение может изменить количество баров на графике) Объем ненадежен (пропущены тики) Всегда используйте время. Новая свеча - Форум MQL4
 
WHRoeder:

Именно.

Индикаторы не используют новый штрих-код. Они используют либо rates_total и previous_calculated, либо Bars и IndicatorCounted(), поэтому они пересчитывают вновь добавленные более ранние данные.

Советники используют код нового бара Time[0] для определения нового бара.

Пример на дневном графике: Четверг=[1] Пятница=[0] Бары=2

Затем добавляется история: вторник=[3], среда=[2] четверг=[1] пятница=[0] Бары изменились на 4, но день по-прежнему пятница: нового дня нет.


Да, конечно. Вы снова ошибаетесь. Нет нового дня. Но есть новые бары-данные-дни, и вам нужно пересчитать все данные в индикаторе или советнике.

 

Я знаю, что эта тема старая, но не могли бы вы помочь мне проверить прилагаемый индикатор. Я хочу, чтобы стрелка появлялась за 90с до того, как произойдет событие. Я перепробовал множество решений, но у меня не получается. Я бы вставил сам код, но он выше 64000.

https://pastebin.com/XSHR9ZvH


спасибо

Файлы:
 
Ibiso Irumudomon: Я хочу, чтобы стрелка появлялась за 90с до того, как произойдет событие.
Как и мы все. Здесь нет читающих мысли, и наши хрустальные шары треснуты. Пока рынок не сдвинется настолько, чтобы создать ваш сигнал, сигнала не будет.
Причина обращения: