Questions des débutants MQL5 MT5 MetaTrader 5 - page 52

 
Merci !
 
Dimka-novitsek:

Merci ! !! Très compréhensible.

Et là... Je ne sais pas, je suis gêné de demander, mais quand même, je traduis le conseiller. Est-ce que c'est un tas de conneries ? Il suffit d'enlever la ficelle ?

La variable text_color est déclarée comme type color, c'est un type non signé, sa valeur ne peut jamais être inférieure à zéro.

C'est votre principale erreur.

 
Urain:

La variable text_color est déclarée comme type color, c'est un type non signé, sa valeur ne peut jamais être inférieure à zéro.

C'est votre principale erreur.

Ouais, eh bien, je n'ai pas écrit ça, je l'ai traduit de emkuel 4, donc j'ai été confus quant à ce que c'est. Je pense que peut-être la couleur peut être comparée à un nombre...

Mais dites-moi s'il vous plaît, qu'est-ce que c'est ? Comment cette erreur se produit, à partir de quoi, où regarder dans les codes ??? 2012.10.25 16:29:32 Complètement supprimé l'impression. (EURUSD,M1) ne peut pas charger l'indicateur 'Moving Average' [4002]

 
J'ai passé une heure à chercher un endroit dans l'EE qui mentionne le MA !!! Je ne me souviens pas... Et. C'est là. Que faut-il y chercher ? Comment cette erreur particulière peut-elle être relevée ?
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);} 
                  
                  
 
 
Je vais relancer le robot pour voir dans quel ordre l'erreur apparaît... Par exemple, ATR ne semble pas faire d'erreur, mais seulement MA.
 
 
Pouvez-vous être plus précis sur la ligne qui n'est pas correcte ? Est-ce que je cherche au mauvais endroit ?
 
Ajout d'une empreinte.
double CalculateStrengthPairsTF(string a_symbol, ENUM_TIMEFRAMES a_timeframe) {

   Print("a_symbol  " , a_symbol ,"  a_timeframe ", a_timeframe );
Les empreintes n'ont rien donné à comprendre ! !! Que faire?????Que faire ?????
 
Il y a environ 1000 endroits dans l'EA où la fonction est appelée, et honnêtement je ne comprends pas ce qui pourrait être au moins approximativement comment une telle erreur est faite !!!!. Que chercher et comment chercher ! !! Je suis confus !
 
Dimka-novitsek: Quoi regarder et comment regarder ! !! Je suis confus !
Avez-vous essayé de regarder la description de l'erreur imprimée, Dimon Vladimirovich ?