在MQL5中一起学习和写作 - 页 41

 
Dimka-novitsek: 这是否意味着平台不支持这个货币对? 2012.09.21 16:23:17 为货币对CADJPY/PERIOD_D1创建iMA指标 手柄失败,错误代码4302。
你需要检查为什么发生了错误。错误代码并不表明符号未被选中的确切原因--是程序员没有提供所需符号的连接,还是该符号不被特定的报价提供者支持。
 
Yedelkin:
你必须检查错误发生的原因。毕竟,错误代码 并没有说明符号没有被选中的原因--是程序员没有提供与正确符号的连接,还是该符号确实不被特定的报价器所支持。

谢谢你!!!。对了!我一直都在想类似的事情。

哦,他们打断了。

但怎么做呢?是的,我的行为就像从帮助...

 
Dimka-novitsek 但怎么做呢?是的,我在演戏,因为从帮助...
没有现成的代码,但这里有一个想法:SymbolsTotal() 给出所有符号的总数。剩下的就是在这些符号中进行搜索,找出所寻找的符号是否存在于其中。如果没有,就打印出来,如果有,就检查一下所需的符号是否在市场观察中被选中。如果没有,就把它插上。
 
谢谢你!!!
 
有什么办法可以模拟周末的抽搐吗?
 
太好了!!!。谢谢你!!!。哇,我自己都没有想到,真的...告诉我,我不明白测试器中的指纹写在哪里,或者是否写在哪里。我在测试员的日志中没有看到他们的身影!
 
Dimka-novitsek: 告诉我,我不知道测试器中的指纹写在哪里,或者是否有。我在测试员的日志中没有看到他们的身影!
右键点击标签,会有一些选项
 
谢谢你!!!。现在...
 

晚上好!对一个老话题

我使用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个字符(哇!!)。

更重要的是,它不认得这个符号。在这里。

错误指示器未知符号
4801
符号不明

在我的终端中也没有CADJPY符号。这样看:Cntrl+M,右击,选择 "符号..."。