初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 52

 
ありがとうございました。
 
Dimka-novitsek:

ありがとうございます!!!非常に理解しやすい。

そして、ここ...わからない、聞くだけでも恥ずかしいのに、それでもEAを翻訳しているんです。それは全くのデタラメか?紐を外すだけ?

text_color変数はcolor型として宣言され、それは符号なし型で、その値は決してゼロより小さくなることはありません。

それがあなたの一番の間違いです。

 
Urain:

text_color変数はcolor型として宣言され、それは符号なし型で、その値は決してゼロより小さくなることはありません。

それがあなたの一番の間違いです。

ええ、私が書いたのではなく、エムキューレ4から訳したので、何が何だかわからなくなっています。もしかしたら、色も数字に例えられるかもしれないと思うのですが......。

では、その内容を教えてください。このエラーはどのようにして発生するのか、何から発生するのか、コードのどこを見ればいいのか? 2012.10.25 16:29:32 完全に印刷が削除されました。(EURUSD,M1) cannot load indicator 'Moving Average' [4002].

 
EAでMAに言及しているところを探すのに1時間かかったよ!!!思い出せない...そして、そこにあるのは何を見るか?この特殊なエラーはどのように拾えばいいのでしょうか?
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);} 
                  
                  
 
 
もう一度ロボットを動かして、どのような順番でエラーが出るのか見てみたいのですが...。I.e.ATRはエラーにならないようですが、MAだけはエラーになります。
 
 
どの行で間違っているのか、もう少し具体的に教えてください。見ている場所が悪いのか?
 
プリントを追加しました。
double CalculateStrengthPairsTF(string a_symbol, ENUM_TIMEFRAMES a_timeframe) {

   Print("a_symbol  " , a_symbol ,"  a_timeframe ", a_timeframe );
プリントは何も理解させなかった!どうしよう......どうしよう......どうしよう......どうしよう!
 
EA内で関数が呼び出される箇所が1000箇所ほどあり、正直、何がどうなったらこのようなエラーが発生するのか、おおよそ理解できません!!!!何をどう見るか!!!!混乱してるんだ!
 
Dimka-novitsek: 何をどう見るか!!!!混乱してるんだ!
Dimon Vladimirovichさんは、印刷されたエラーの説明を見てみましたか?
理由: