初学者的问题 MQL5 MT5 MetaTrader 5 - 页 669

 
Leo59:
很奇怪,我觉得开发商把一些东西搞乱了。除了名称之外,功能有什么不同?


允许你获得指定符号和星期的指定 报价 时段的开始和结束时间。

и

允许你获得指定符号和星期的指定交易 时段的开始时间和结束时间。

如果你不了解它,有可能会做得过头)

有些工具是在一个时间段内报价的,但它们只能在某些时间段内进行交易,这就是为什么有两个功能。

 

伙计们,我敢再问一次,因为我的问题在信息中丢失了

有一个像这样的结构,穿过终端中所有开放的图表

for(long currChart = ChartFirst(); currChart != -1; currChart=ChartNext(currChart)) {
 if(currChart == график тестера) continue; // Что сюда написать?
  ObjectSetInteger(currChart,"Sync",OBJPROP_BGCOLOR,clrGreen);
}

我如何发现该图表不是主图表,而是以测试者模式打开,并跳过它?

谢谢你!

 

同事们好,请你们为这样的错误推荐一个处理程序。

谢谢你。

 
请将您的MQL4 MT4 MetaTrader 4问题发布在MQL4 MT4 MetaTrader 4初学者问题 线程中。 特别是如果它涉及到贸易业务
 
先生们,你们如何快速了解信号在排名中的位置?
 
Renat Akhtyamov:
先生们,我怎样才能快速找出信号在评级中的哪个位置?
这只能为你的信号找到--"信号"->"我的信号",在信号名称的开头会有数字--这是在信号展示的排名中的位置数。
 
Vladimir Karputov:
你只能为你的信号找到这一点--"信号"->"我的信号",在信号名称的开头会有数字--这是在信号展示排名中的位置号。
知道了,老人家!
 
Renat Akhtyamov:
先生们,我怎样才能迅速找到信号在排名中的位置?

按程序进行?像这样。

void OnStart()
  {
//--- запрашиваем общее количество сигналов в базе
   int total=SignalBaseTotal();
//--- цикл по всем сигналам
   for(int i=0;i<total;i++)
     {
      //--- выбираем сигнал для дальнейшей работы
      if(SignalBaseSelect(i))
        {
         //--- получение свойств сигнала
         long   id    =SignalBaseGetInteger(SIGNAL_BASE_ID);          // id сигнала
         long   pips  =SignalBaseGetInteger(SIGNAL_BASE_PIPS);        // результат торговли в пипсах
         long   subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков
         string name  =SignalBaseGetString(SIGNAL_BASE_NAME);         // имя сигнала
         double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE);        // цена подписки на сигнал
         string curr  =SignalBaseGetString(SIGNAL_BASE_CURRENCY);     // валюта сигнала
         long   rating=SignalBaseGetInteger(SIGNAL_BASE_RATING);      // рейтинг и есть
         //--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков
         if(price==0.0 && pips>0 && subscr>0)
            PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr);
        }
      else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError());
     }
  }
 
Alexey Volchanskiy:

按程序进行?像这样。

void OnStart()
  {
//--- запрашиваем общее количество сигналов в базе
   int total=SignalBaseTotal();
//--- цикл по всем сигналам
   for(int i=0;i<total;i++)
     {
      //--- выбираем сигнал для дальнейшей работы
      if(SignalBaseSelect(i))
        {
         //--- получение свойств сигнала
         long   id    =SignalBaseGetInteger(SIGNAL_BASE_ID);          // id сигнала
         long   pips  =SignalBaseGetInteger(SIGNAL_BASE_PIPS);        // результат торговли в пипсах
         long   subscr=SignalBaseGetInteger(SIGNAL_BASE_SUBSCRIBERS); // количество подписчиков
         string name  =SignalBaseGetString(SIGNAL_BASE_NAME);         // имя сигнала
         double price =SignalBaseGetDouble(SIGNAL_BASE_PRICE);        // цена подписки на сигнал
         string curr  =SignalBaseGetString(SIGNAL_BASE_CURRENCY);     // валюта сигнала
         long   rating=SignalBaseGetInteger(SIGNAL_BASE_RATING);      // рейтинг и есть
         //--- выводим все прибыльные бесплатные сигналы с ненулевым количеством подписчиков
         if(price==0.0 && pips>0 && subscr>0)
            PrintFormat("id=%d, name=\"%s\", currency=%s, pips=%d, subscribers=%d",id,name,curr,pips,subscr);
        }
      else PrintFormat("Ошибка выбора сигнала. Код ошибки=%d",GetLastError());
     }
  }
很好!谢谢你!
 
Vitaly Muzichenko:

伙计们,我敢再问一次,因为我的问题在信息中丢失了

有一个像这样的结构,穿过终端中所有开放的图表

for(long currChart = ChartFirst(); currChart != -1; currChart=ChartNext(currChart)) {
 if(currChart == график тестера) continue; // Что сюда написать?
  ObjectSetInteger(currChart,"Sync",OBJPROP_BGCOLOR,clrGreen);
}

我如何发现该图表不是主图表,而是以测试者模式打开,并跳过它?

谢谢你!

有些东西显然不在属性中。如果在测试者模式下,你在图表上创建一些东西,例如一个带有棘手名称的按钮,然后检查它的存在?