Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 52

 
Grazie!
 
Dimka-novitsek:

Grazie!!! Molto comprensibile.

E qui... Non lo so, mi vergogno a chiederlo, ma comunque sto traducendo il consigliere. È un mucchio di stronzate? Rimuovere semplicemente la stringa?

La variabile text_color è dichiarata come tipo color, è un tipo senza segno, il suo valore non può mai essere inferiore a zero.

Questo è il tuo principale errore.

 
Urain:

La variabile text_color è dichiarata come tipo color, è un tipo senza segno, il suo valore non può mai essere inferiore a zero.

Questo è il tuo principale errore.

Sì, beh, non l'ho scritto io, l'ho tradotto da emkuel 4, quindi mi sono confuso su cosa sia. Penso che forse il colore può essere paragonato a un numero...

Ma ditemi, per favore, che cos'è? Come si verifica questo errore, da cosa, dove guardare nei codici?? 2012.10.25 16:29:32 Stampa completamente rimossa. (EURUSD,M1) non può caricare l'indicatore 'Moving Average' [4002]

 
Ho passato un'ora a cercare un posto nell'EA che menziona il MA!!! Non riesco a ricordare... E... eccolo qui. Cosa cercare in esso? Come si può rilevare questo particolare errore?
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);} 
                  
                  
 
 
Eseguirò di nuovo il robot per vedere in che ordine appare l'errore... Cioè ATR non sembra fare un errore, solo MA
 
 
Puoi essere più specifico su quale linea è sbagliata? Sto cercando nel posto sbagliato?
 
Aggiunta una stampa.
double CalculateStrengthPairsTF(string a_symbol, ENUM_TIMEFRAMES a_timeframe) {

   Print("a_symbol  " , a_symbol ,"  a_timeframe ", a_timeframe );
Le stampe non hanno dato nulla per capire!!! Cosa fare?????Cosa?????
 
Ci sono circa 1000 posti nell'EA dove viene chiamata la funzione, e onestamente non capisco cosa potrebbe essere almeno approssimativamente come si verifica un tale errore!!!! Cosa cercare e come cercare!!! Sono confuso!
 
Dimka-novitsek: Cosa guardare e come guardare!!! Sono confuso!
Ha provato a guardare la descrizione dell'errore stampato, Dimon Vladimirovich?
Motivazione: