Ошибки, баги, вопросы - страница 1698

 
Vladimir Pastushak:

 все равно в наследнике вываливаются методы родителя которые не должны вываливаться.

Они "вываливаются", но при попытке их вызова будет ошибка компиляции.
 
Karputov Vladimir:

Если отказаться от копирования буфера:

то индикатор успешно заканчивает свою работу 

Если отказываться от копирования буфера, то и хэндл тогда ни к чему. Это Вы так разработчикам помогаете локализовать баг?
 
fxsaber:
Если отказываться от копирования буфера, то и хэндл тогда ни к чему. Это Вы так разработчикам помогаете локализовать баг?
Пытаюсь как можно более точно локализовать проблему. Это может сильно сократить время отклика на обращение в СервисДеск.
 
fxsaber:
А куда его добавлять и как это хотя бы теоретически может помочь. Это баг терминала. Причем серьезный баг. Потому как мне повезло - я вижу в логе, что индикатор работает. А сколько вот таких индикаторов без выводов в логи пашут в терминале, а Вы о них ничего совсем не знаете. Вот только темы поднимаются, а почему у меня CPU так грузится на пустом терминале?
Добавлять перед проверкой корректности хэндла в OnCalculate(). И если флаг записан - выход из OnCalculate(). Правда, конечно, OnCalculate() это вряд ли остановит... зато никаких действий выполнено не будет..
 
Alexey Kozitsyn:
Добавлять перед проверкой корректности хэндла в OnCalculate(). И если флаг записан - выход из OnCalculate(). Правда, конечно, OnCalculate() это вряд ли остановит... зато никаких действий выполнено не будет..
Типа, пущай неконтролируемое количество индикаторов висит в терминале, ведь они все равно почти ничего не потребляют.
 
Karputov Vladimir:
Пытаюсь как можно более точно локализовать проблему. Это может сильно сократить время отклика на обращение в СервисДеск.
Заявку написали?
 
На MQL5 пишу не долго, ни разу не программист. Знал MQL4, теперь немного знаю MQL5. По какой причине почти каждый день сталкиваюсь с багами в MT5? Фактически, человек с улицы почти каждый день совершенно случайно находит баги! Это что за дела, почему так сыро? Тестеров нет совсем? Не совру сказав, что MT начинает раздражать. А еще больше раздражает осознание, что ни на чем другом я программировать и не умею.
 

А вот и корень зла: пока не просчитан индикаторный буфыер (пока prev_calculated==0) - нельзя ничего делать

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//if(handle!=INVALID_HANDLE)
   if(prev_calculated!=0)
     {
      Buffer[rates_total-1]=MathRand();

      double BufferCopy[];
      Print(__FUNCTION__);
      if(CopyBuffer(handle,0,0,1,BufferCopy)>0)
         Print(TOSTRING(BufferCopy[0])+TOSTRING(Buffer[rates_total-1]));
     }

   return(rates_total);
  }

 вот так всё работает и индикатор сразу выгружается.

 
Karputov Vladimir:

А вот и корень зла: пока не просчитан индикаторный буфыер (пока prev_calculated!=0) - нельзя ничего делать

 вот так всё работает и индикатор сразу выгружается.

Не работает.
 
fxsaber:
На MQL5 пишу не долго, ни разу не программист. Знал MQL4, теперь немного знаю MQL5. По какой причине почти каждый день сталкиваюсь с багами в MT5? Фактически, человек с улицы почти каждый день совершенно случайно находит баги! Это что за дела, почему так сыро? Тестеров нет совсем? Не совру сказав, что MT начинает раздражать. А еще больше раздражает осознание, что ни на чем другом я программировать и не умею.
Нельзя каждый случай неправильного стиля программирования списывать на баги. Иначе будет как в сказке про пастуха, который без повода кричал: "Волки, волки". Все бросались на помощь - а оказывалась, что волков нет. А вот когда действительно напали волки и пастух снова позвал на помощь - никто не пришёл ему на помощь - все решили, что он снова разыгрывает.
Причина обращения: