Проблема с загрузкой индикаторов из стандартного набора.

 

Приветствую друзья,

 

Возникла проблема на "некоторых терминалах мт5" с загрузкой стандартных индикаторов. Проблема возникла у клиента моей системы.

 

Вот его скрин:

Сама система здесь: https://www.mql5.com/ru/market/product/326 

 Вызов индикаторов:

      h_ma1=iMA(symb,Period(),periodma1,0,MAmethod,MAprice);
      h_ma2=iMA(symb,Period(),periodma2,0,MAmethod,MAprice);
      h_macd=iMACD(symb,Period(),FastMACD,SlowMACD,MACDSMA,MACDprice);
      h_stoh=iStochastic(symb,Period(),SOPeriodK,SOPeriodD,SOslowing,SOmethod,SOpricefield);
      h_rsi=iRSI(symb,Period(),RSIPeriod,RSIprice);
      h_cci=iCCI(symb,Period(),CCIPeriod,CCIprice);
      h_wpr=iWPR(symb,Period(),WPRPeriod);
      h_bb=iBands(symb,Period(),BBPeriod,0,BBdeviation,BBprice);
      h_env=iEnvelopes(symb,Period(),ENVPeriod,0,ENVmethod,ENVprice,ENVdeviation);
      h_al=iAlligator(symb,Period(),ALjawperiod,0,ALteethperiod,0,ALlipsperiod,0,ALmethod,ALprice);
      h_ama=iAMA(symb,Period(),AMAperiod,AMAfastperiod,AMAslowperiod,0,AMAprice);
      h_ao=iAO(symb,Period());
      h_ich=iIchimoku(symb,Period(),IKHtenkansen,IKHkijunsen,IKHsenkouspanb);

 ну и допустим сигнал:

int TradeSignal_01(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
//--- ноль означает отсутствие сигнала
   int sig=0;

//--- проверим хендлы индикаторов
   if(h_ma1==INVALID_HANDLE)//--- если хэндл невалидный
     {
      //--- создадим его снова                                                      
      h_ma1=iMA(symToWork,TFMigrate(TF),periodma1,0,MAmethod,MAprice);
      //--- выходим из функции
      return(0);
     }
   else //--- если хэндл валидный 
     {
      //--- копируем значения из индикатора в массив
      if(CopyBuffer(h_ma1,0,0,3,ma1_buffer)<3) //--- и если данных меньше требуемых
         //--- выходим из функции
         return(0);
      //--- зададим индексацию в массиве как таймсерию                                   
      if(!ArraySetAsSeries(ma1_buffer,true))
         //--- в случае ошибки индексации выходим из функции
         return(0);
     }

   if(h_ma2==INVALID_HANDLE)//--- если хэндл невалидный
     {
      //--- создадим его снова                                                      
      h_ma2=iMA(symToWork,TFMigrate(TF),periodma2,0,MAmethod,MAprice);
      //--- выходим из функции
      return(0);
     }
   else //--- если хэндл валидный 
     {
      //--- копируем значения из индикатора в массив
      if(CopyBuffer(h_ma2,0,0,2,ma2_buffer)<2) //--- и если данных меньше требуемых
         //--- выходим из функции
         return(0);
      //--- зададим индексацию в массиве как таймсерию                                   
      if(!ArraySetAsSeries(ma1_buffer,true))
         //--- в случае ошибки индексации выходим из функции
         return(0);
     }

//--- проводим проверку условия и устанавливаем значение для sig
   if(ma1_buffer[shift+1]<ma2_buffer[shift] && ma1_buffer[shift]>ma2_buffer[shift])
      sig=1;
   else if(ma1_buffer[shift+1]>ma2_buffer[shift] && ma1_buffer[shift]<ma2_buffer[shift])
      sig=-1;
   else sig=0;

//--- возвращаем торговый сигнал
   return(sig);
  }

 

 

подскажите на чьей стороне проблема?  

Торговый робот (Expert Advisor) Universal EA
Торговый робот (Expert Advisor) Universal EA
  • отзывов: 10
  • 2012.10.29
  • Vladislav Andruhenko
  • www.mql5.com
Универсальная торговая система Мультивалютная торговая система, основанная на работе стандартных индикаторов. В данном советнике можно применить до 3 сигналов от 12 стандартных индикаторов. Все индикаторы имеют настраиваемые внешние параметры....
Файлы:
1.jpg  296 kb
 
судя по ошибке "Символ не выбран в MarketWatch", возможно стоит добавить нужные символы в MarketWatch
 
_Techno_:
судя по ошибке "Символ не выбран в MarketWatch", возможно стоит добавить нужные символы в MarketWatch
Спасибо. ;-) честно говоря я как то думал об этом, даже нашел что 4302 это символы, но думаю надо бы ошибку выводить как не правильный символ, Спасибо . 
 
может и символ не правильный, какрй нить префикс в начале, или конце
 
_Techno_:
может и символ не правильный, какрй нить префикс в начале, или конце
да попробовал у себя - добавил символ которого не существует, и действительно так и получилось ошибка - опыт на будущее -надо ставить проверку на неправильный ввод символа. Все приходит с опытом, еще раз спасибо.