Ошибка params - invalid array access при использовании iCustom

 
void OnTick()
{
   //double params[] = {38, 0, 100, 4.0, 4};

   double params[64];
   params[0] = 38;
   params[1] = 0;
   params[2] = 100;
   params[3] = 4.0;
   params[4] = 4;
   for(int i = 5; i < 64; i++) {
      params[i] = 0;
   }

   int indicator_handle = iCustom(Symbol(), 0, "Indicator", params); //Здесь возникает эта оишбка
   if(indicator_handle == INVALID_HANDLE)
   {
      Print("Error creating indicator handle");
      return;
   }

   double line1_value[];
   double line2_value[];
   int copied1 = CopyBuffer(indicator_handle, 1, 1, 1, line1_value);
   int copied2 = CopyBuffer(indicator_handle, 2, 1, 1, line2_value);
   if(copied1 > 0 && copied2 > 0)
   {
      double line1Price = line1_value[0];
      double line2Price = line2_value[0];

      double price = Close[1];

      if(price == line1Price || price == line2Price) 
      {
         // Открытие сделки
      }
   }
   else
   {
      Print("Error copying indicator data");
   }
}
Документация по MQL5: Константы, перечисления и структуры / Именованные константы / Прочие константы
Документация по MQL5: Константы, перечисления и структуры / Именованные константы / Прочие константы
  • www.mql5.com
Прочие константы - Именованные константы - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Reas Gramori:

Хз как решить проблему, прошу помощи

 
Reas Gramori #:

Хз как решить проблему, прошу помощи

Решить просто: прочитать как передавать параметры. В справке пример есть.

Документация по MQL5: Технические индикаторы / iCustom
Документация по MQL5: Технические индикаторы / iCustom
  • www.mql5.com
iCustom - Технические индикаторы - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Reas Gramori #:

Хз как решить проблему, прошу помощи

Просто надо внимательно читать документацию.

Структура MqlParam должна заполняться в соответствии с инструкцией. 

struct MqlParam
  {
   ENUM_DATATYPE     type;                    // тип входного параметра, значение перечисления ENUM_DATATYPE
   long              integer_value;           // поле для хранения целочисленного значения
   double            double_value;            // поле для хранения значения double или float
   string            string_value;            // поле для хранения значения строкового типа
  };

Это не просто массив, как у вас в коде.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура входных параметров индикатора
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура входных параметров индикатора
  • www.mql5.com
Структура входных параметров индикатора - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Благодарю, проблема решена