MQL5で学び、共に書く - ページ 41

 
Dimka-novitsek: これは、プラットフォームがこのペアをサポートして いないということでしょうか? 2012.09.21 16:23:17 Failed to createiMA indicator handle for pair CADJPY/PERIOD_D1, error code 4302
なぜエラーが発生したのかを確認する必要があります。エラーコードは、シンボルが選択されない正確な理由を示すものではありません。プログラマーが必要なシンボルの接続を提供していないのか、シンボルが特定の見積もりプロバイダによってサポートされていないのか、などです。
 
Yedelkin:
なぜエラーが発生したのかを確認する必要があります。結局のところ、プログラマーが正しいシンボルへの接続を提供していないのか、あるいはそのシンボルが特定の見積もりプロバイダーによって本当にサポートされていないのか、などシンボルが選択されない理由がエラーコードには 書かれていない。

ありがとうございます!!!そうなんだ!ずっとそんなことを考えていたんです。

あ、邪魔が入った。

が、どうやって?そう、まるでヘルプから行動しているような...。

 
Dimka-novitsek が、どうやって?はい、ヘルプから行動しています...。
既成のコードはありませんが、次のようなアイデアがあります:SymbolsTotal() は、すべてのシンボルの合計数を提供 します。あとは、これらの記号の中から目的の記号があるかどうかを探すだけである。ない場合は印刷し、ある場合はMarket Watchで目的のシンボルが選択されているかどうかを確認します。そうでない場合は、プラグを差し込んでください。
 
ありがとうございます!
 
週末に向けてチックのシミュレーションをする方法はないのでしょうか?
 
素晴らしい!!!ありがとうございます!!!いやー、自分でも思いつかなかったです、本当に...。教えてください!テスターのどこにプリントが書かれているのか、書かれているのかがわかりません。テスターのログブックには載っていないんですよー。
 
Dimka-novitsek: 教えてください!テスターのどこにプリントが書いてあるのか、わからないんです。テスターのログブックには載っていないんですよー。
タブの上で右クリックすると、オプションが表示されます。
 
ありがとうございます!!!今は...
 

こんばんは!(^o^)古いトピックへ

SymbolsTotal()関数を使って、101個のシンボルがあることを調べました(すごい!!)。

そして最も重要なのは - このシンボルのようなものは、愚かな認識していないです。これです。

err_indicator_unknown_symbol
4801
不明な記号

しかし、あなたが必要とする場合、ここでは、可能であれば、ルックプライス

/////////////////////////////////////////////////////////////////////

double CalculateStrengthPairsTF(string a_symbol, ENUM_TIMEFRAMES a_timeframe) {

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

    int DIGITS_ = SymbolInfoInteger(a_symbol,SYMBOL_DIGITS);
   //---
    MqlTick last_tick;
   if(SymbolInfoTick(a_symbol,last_tick));
   double BID_ = last_tick.bid;
   BID_ = NormalizeDouble( BID_, DIGITS_);
  // Print("a_symbol");Print(a_symbol); Print("a_timeframe");Print(a_timeframe); Print( "Period_");Print( Period_); ResetLastError();
    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();} 
                  
                  
  int Total= SymbolsTotal(true);Print("Total");Print(Total);                 
  int Dotal= SymbolsTotal(false);Print("Dotal");Print(Dotal);        
   
   
   CopyBuffer(MA_handle,0,0,100,MA);
   //--- задаём порядок индексации массива MA[] как в MQL4
   ArraySetAsSeries(MA,true);  
   double iMA_ = NormalizeDouble(MA[0], DIGITS_);
           
   ATR_handle=iATR(a_symbol,periodd(a_timeframe),Period_   );
   CopyBuffer(ATR_handle,0,0,100,ATR);
   ArraySetAsSeries(ATR,true);
   double iATR_ = NormalizeDouble(ATR[0], 4);
   double for_ret = 0;
   if (iATR_ > 0.0) {
      for_ret = 100.0 * (MathAbs(BID_ - iMA_) / iATR_);
      if (BID_ < iMA_) for_ret = -1.0 * for_ret;
   }
   return (for_ret);
}



///////////////////////////////////////////////////////////////////////////////

 
Dimka-novitsek: SymbolsTotal()を使って、全部で101文字あることを調べました(すごい!!).

もっと重要なのは、そのシンボルを認識しないことです。これです。

err_indicator_unknown_symbol
4801
不明な記号

また、私のターミナルにはCADJPYのシンボルがありません。Cntrl+M、右クリック、オプション「記号...」で表示されます。