Questions des débutants MQL5 MT5 MetaTrader 5 - page 669

 
Leo59:
C'est étrange, je pense que les développeurs ont fait une erreur. En quoi les fonctions sont-elles différentes en dehors du nom ?


Permet d'obtenir l'heure de début et de fin d'une session de cotation spécifiée pour le symbole et le jour de la semaine spécifiés.

и

Permet d'obtenir l'heure de début et l'heure de fin de la session de trading spécifiée pour le symbole et le jour de la semaine spécifiés.

Il est possible d'en faire trop si l'on ne comprend pas)

Il y a des instruments qui sont cotés à un moment donné, mais qui ne peuvent être négociés qu'à certains moments, c'est pourquoi il y a deux fonctions.

 

Les gars, j'ose demander à nouveau, car ma question est perdue parmi les messages

Il y a une construction comme ça, qui passe en revue tous les graphiques ouverts dans le terminal :

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

Comment puis-je savoir que le graphique n'est pas le principal, mais qu'il est ouvert en mode "Testeur" et le sauter ?

Merci !

 

Bonjour chers collègues, pourriez-vous suggérer un gestionnaire pour une erreur de ce type ?

Merci.

 
Veuillez poster vos questions sur MQL4 MT4 MetaTrader 4 dans le fil de discussionQuestions pour les débutants de MQL4 MT4 MetaTrader 4. Surtout s'il s'agit d'opérations commerciales.
 
Messieurs, comment savoir rapidement où se situe le signal dans les classements ?
 
Renat Akhtyamov:
Messieurs, comment puis-je savoir rapidement quelle est la position d'un signal dans le classement ?
Cela ne peut être découvert que pour votre signal - "Signaux" -> "Mes signaux" et au début du nom du signal seront des chiffres - c'est le numéro de la position dans le classement de la vitrine du signal.
 
Vladimir Karputov:
Vous ne pouvez le découvrir que pour votre signal - "Signaux" -> "Mes signaux" et au début du nom du signal il y aura des chiffres - c'est le numéro de position dans le classement de la vitrine du signal.
Je l'ai, senks !
 
Renat Akhtyamov:
Messieurs, comment savoir rapidement où se situe le signal dans le classement ?

De manière programmée ? Comme ça.

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:

De manière programmée ? Comme ça.

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());
     }
  }
Super ! Merci !
 
Vitaly Muzichenko:

Les gars, j'ose demander à nouveau, car ma question est perdue parmi les messages

Il y a une construction comme ça, qui passe en revue tous les graphiques ouverts dans le terminal :

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

Comment puis-je savoir que le graphique n'est pas le principal, mais qu'il est ouvert en mode "Testeur" et le sauter ?

Merci !

Quelque chose n'est clairement pas dans les propriétés. Et si, en mode testeur, vous créez quelque chose sur le graphique, par exemple un bouton avec un nom délicat, puis vérifiez sa présence ?