MQL5 проблемы с ATR в выходные дни. - страница 2

 
Alexey Viktorov #:

Ааа… Я-то думал надо ехать, а оказывается нужны шашечки.

Я не пользую эти классы, потому и проверять не буду, а проверить не помешало-бы если есть желание разобраться

Что-то типа iBarShift() поставить вместо 1.

не поможет это, даже перебор баров в несколько дней назад не поможет, будет возвращать 0. 

И тут не причем тут стандартный класс, он так же как и все использует CopyBuffer, вопрос по проблеме остается открытым, надеюсь до разработчиков это будет донесено.

После изменения способа общения без сервис деск, я не понимаю как отправлять баги им...

 
Alexandr Gavrilin #:

не поможет это, даже перебор баров в несколько дней назад не поможет, будет возвращать 0. 

И тут не причем тут стандартный класс, он так же как и все использует CopyBuffer, вопрос по проблеме остается открытым, надеюсь до разработчиков это будет донесено.

После изменения способа общения без сервис деск, я не понимаю как отправлять баги им...

Хочу уточнить, это только в выходные? Сегодня этой проблемы нет?

В выходные мне было лениво проверять… А до следующих выходных далеко.

 
на мт4 работает нормально
 
Alexey Viktorov #:

Хочу уточнить, это только в выходные? Сегодня этой проблемы нет?

В выходные мне было лениво проверять… А до следующих выходных далеко.

только в выходные, в мт4 работает а в мт5 нет.

 
Alexandr Gavrilin #:

только в выходные, в мт4 работает а в мт5 нет.

Проверил. Вот этот код отрабатывает на ура без проблем…

int habdle = 0;
/*******************Expert initialization function*******************/
int OnInit()
 {
  habdle = iATR(_Symbol, PERIOD_D1, 14);
  return(INIT_SUCCEEDED);
 }/******************************************************************/

/************************Expert tick function************************/
void OnTick()
 {
//double atr[];
//int copy = CopyBuffer(habdle, 0, 1, 1, atr);
//Comment("****** ", DoubleToString(atr[0], _Digits));
//DebugBreak();
 }/******************************************************************/

/***********************OnChartEvent function************************/
void OnChartEvent(const int id,         // идентификатор события
                  const long& lparam,   // параметр события типа long
                  const double& dparam, // параметр события типа double
                  const string& sparam  // параметр события типа string
                 )
 {
  if(id == CHARTEVENT_CLICK)
   {
    double atr[];
    int copy = CopyBuffer(habdle, 0, 1, 1, atr);
    Comment("****** ", DoubleToString(atr[0], _Digits));
   }
 }/******************************************************************/

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
 {
  Comment("");
 }/******************************************************************/

Наверное напрашивается вывод — не надо пользоваться СБ.

 
Alexey Viktorov #:

Проверил. Вот этот код отрабатывает на ура без проблем…

Наверное напрашивается вывод — не надо пользоваться СБ.

в готовых классах удобство, работает без переписывания работы с индикатором и мт4 и мт5.

в выходные попробую ваш пример, вы его на младшем тф чем д1 запускали? Потому что на д1 и мой вариант работает, но как переключаюсь на меньший тф, получать данные перестает.

 
Alexandr Gavrilin #:

в готовых классах удобство, работает без переписывания работы с индикатором и мт4 и мт5.

в выходные попробую ваш пример, вы его на младшем тф чем д1 запускали? Потому что на д1 и мой вариант работает, но как переключаюсь на меньший тф, получать данные перестает.

Да. Проверено на Н1 и М1

 

Видимо разработчики услышали меня) Это исправлено и работает в индикаторах через стандартный класс CiATR все заработало.

проверено мт5 билд 3416