Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 52

 
Спасибо! 
 
Dimka-novitsek:

Спасибо!! Очень понятно.  

 

А вот... Не знаю даже стыдно просто спрашивать, но всё же , перевожу советник. Это полная ахинея? Просто убрать строку? 

Переменная text_color объявлена типом color, это беззнаковый тип, его значение никогда не может быть меньше нуля.

В этом твоя основная ошибка.

 
Urain:

Переменная text_color объявлена типом color, это беззнаковый тип, его значение никогда не может быть меньше нуля.

В этом твоя основная ошибка.

Ну да, а это не я писал, это я перевёл с эмкюэль 4 , вот у меня и стал ступор-что это. Думаю, может колор с цифрой таки сравнить можно.. 

 

 

А вот, скажите пожалуста что это? Как возникает такая ошибка, от чего, где смотреть в кодах??? 2012.10.25 16:29:32 Совсем убрал принт. (EURUSD,M1) cannot load indicator 'Moving Average' [4002]

 
Час искал место в советнике, где упоминается  MA!!!   Так ведь я не помню...   И. Вроде вот оно.  Что в нём смотреть? Как может браться именно такая ошибка?  
double CalculateStrengthPairsTF(string a_symbol, ENUM_TIMEFRAMES a_timeframe) {

SymbolSelect(
  a_symbol,       // имя символа
  true      // включить или выключить
   );

    long DIGITS_ = SymbolInfoInteger(a_symbol,SYMBOL_DIGITS);
   //---
    MqlTick last_tick;
   SymbolInfoTick(a_symbol,last_tick);
   double BID_ = last_tick.bid;
   BID_ = NormalizeDouble( BID_, (int)DIGITS_);
  
    MA_handle=iMA(a_symbol,periodd(a_timeframe),Period_,0,method_ma,price_applied);
    //--- заполнение массива MA[] текущими значениями индикатора iMA
   //--- в массив будет записано 100 элементов
   
 //--- если не удалось создать хэндл
   if(MA_handle==INVALID_HANDLE)
     {
      //--- сообщим о неудаче и выведем номер ошибки
     PrintFormat("Не удалось создать хэндл индикатора iMA для пары %s/%s, код ошибки %d",
                 a_symbol,
                  EnumToString(a_timeframe),
                  GetLastError()); ResetLastError();return (0.0);} 
                  
                  
 
   
   CopyBuffer(MA_handle,0,0,100,MA);
   //--- задаём порядок индексации массива MA[] как в MQL4
   ArraySetAsSeries(MA,true);  
   double iMA_ = NormalizeDouble(MA[0], (int)DIGITS_);
           
   ATR_handle=iATR(a_symbol,periodd(a_timeframe),Period_   );
   
    //--- если не удалось создать хэндл
   if( ATR_handle==INVALID_HANDLE)
     {
      //--- сообщим о неудаче и выведем номер ошибки
     PrintFormat("Не удалось создать хэндл индикатора iATR для пары %s/%s, код ошибки %d",
                 a_symbol,
                  EnumToString(a_timeframe),
                  GetLastError()); ResetLastError();return (0.0);} 
                  
                  
 
 
Я щас снова запущу робота- посмотреть, в каком порядке вылазит ошибка..  Т.е. вот ATR вроде не ошибается, а только MA
 
 
А можно ли уточнить, на какой именно строке ошибается ?   Может я и смотрю то не там?
 
Добавил принт
double CalculateStrengthPairsTF(string a_symbol, ENUM_TIMEFRAMES a_timeframe) {

   Print("a_symbol  " , a_symbol ,"  a_timeframe ", a_timeframe );
Принты ничего не дали для панимания!!    Что же делать?????Что?????
 
В советнике примерно 1000 мест, где вызывается функция, и честно говоря я напрочь не понимаю, что же может быть хоть примерно, как бирётся такая ошибка!!! Что и как смотреть!!! Я растерян! 
 
Dimka-novitsek: Что и как смотреть!!! Я растерян! 
 Описание выведенной на печать ошибки смотреть не пробовал, Димон Владимирыч?
Причина обращения: