Скачать MetaTrader 5

ошибка 4802

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Dim Hakimov
2177
Dim Hakimov  

Здравствуйте! Подскажите плиз в чем тут дело= не запускаются расчеты = ошибка 4802. спасибо.

 

#include <Trade\Trade.mqh>
//--- входные параметры

input string    ZigZag ="Параметры  ZigZag ";
input int      ExtDepth=12;
input int      ExtDeviation=5;
input int      ExtBackstep=3;


//--- глобальные переменные
int zzHandle;      // хэндл индикатора  ZigZag
double zzVal[];    // динамические массивы для хранения численных значений индикатора  ZigZag

double zz[2]={0,0},zz1=0,zz2=0;// значения 1-го и 2-го зигзага


//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Получить хэндл индикатора  ZigZag
      zzHandle= iCustom (NULL,0," ZigZag ",ExtDepth,ExtDeviation,ExtBackstep,0,PRICE_CLOSE);  //Расчет индикатора ZigZag
//--- Нужно проверить, не были ли возвращены значения Invalid Handle
   if(zzHandle<0)
     {
      Alert("Ошибка при создании индикаторов - номер ошибки: ",GetLastError(),"!!");
     }
    
     
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
 
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
    //--- Объявляем структуры, которые будут использоваться для торговли

ArraySetAsSeries(zzVal,true);

int copied=CopyBuffer(zzHandle,0,0,100,zzVal);
 if(copied<=0)
  {
   Print("Не удалось скопировать значения индикатора. Error =",GetLastError());
 //  return;
  }
 
// Ищем ближайший экстремум
  int a=0;

  for (int i=1;i<100;i++)
   {
   if (zzVal[i]!=0)
   {
     if(a<2)
      {
       zz[a]=zzVal[i];
       a++;
      }
    }
   } 

//---
   zz1=zz[0];
   zz2=zz[1];
 
       
  }

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
o_o
Модератор
24106
o_o  
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
Nikolay Demko
12568
Nikolay Demko  
dimmi2000:

Здравствуйте! Подскажите плиз в чем тут дело= не запускаются расчеты = ошибка 4802. спасибо.

 ...

Обратите внимание, что у вас в коде имя индикатора написано с пробелом " ZigZag ", возможно такого индикатора просто у вас нет.
podkovka
7
podkovka  

Вопрос старый, но возможно кому-то поможет:

строку - 

zzHandle= iCustom (NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,PRICE_CLOSE);  //Расчет индикатора ZigZag

заменить на - 

zzHandle=iCustom(NULL,0,"Examples\\ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,PRICE_CLOSE);  //Расчет индикатора ZigZag
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий