tester stopped because OnInit failed

 

 При указании в коде в хендле индикатора конкретного таймфрейма, например PERIOD_H4, и при тесте по ценам открытия на старших ТФ(D1 или H8), происходит ошибка загрузки индикатора: cannot load indicator 'MACD' [4805] и как следствие: tester stopped because OnInit failed.

 Причем стоковые советники терминала (MACD_Sampele и Мувинг аверейдж) при изменении значения ТФ в хендле индикатора, также не работают по ценам открытия на всех ТФ. Какие мнения? Может я делаю, что-т не так?

 
Andrey Davydov:

 При указании в коде в хендле индикатора конкретного таймфрейма, например PERIOD_H4, и при тесте по ценам открытия на старших ТФ(D1 или H8), происходит ошибка загрузки индикатора: cannot load indicator 'MACD' [4805] и как следствие: tester stopped because OnInit failed.

 Причем стоковые советники терминала (MACD_Sampele и Мувинг аверейдж) при изменении значения ТФ в хендле индикатора, также не работают по ценам открытия на всех ТФ. Думаю, что в буфер инд. не копируются данные. Значение "CopyBuffer" возвращает -1. Какие мнения? Может я делаю, что-т не так?

Как вариант прикрепите код - и Вам помогут

 
Yuriy Zaytsev:

Как вариант прикрепите код - и Вам помогут

В терминале МТ5 есть для примера советники (MACD Sample и Moving Averages), так вот, если в коде этих советников в хендел индикатора вставить конкретный ТФ, например PERIOD_H4, вместо "_Period", то при тесте по ценам открытия на старших ТФ и возникает ошибка загрузки индикатора.

int OnInit(void)
  {
//--- prepare trade class to control positions if hedging mode is active
   ExtHedging=((ENUM_ACCOUNT_MARGIN_MODE)AccountInfoInteger(ACCOUNT_MARGIN_MODE)==ACCOUNT_MARGIN_MODE_RETAIL_HEDGING);
   ExtTrade.SetExpertMagicNumber(MA_MAGIC);
   ExtTrade.SetMarginMode();
//--- Moving Average indicator
   ExtHandle=iMA(_Symbol,PERIOD_H4,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE);
   if(ExtHandle==INVALID_HANDLE)
     {
      printf("Error creating MA indicator");
      return(INIT_FAILED);
     }
//--- ok
   return(INIT_SUCCEEDED);
  }
Причина обращения: