Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 669

 
Leo59:
Estranho, penso que os criadores estragaram alguma coisa. Quais são as diferenças entre as funções, para além do Nome?


Permite-lhe obter a hora de início e fim de uma sessão de cotação especificada para o símbolo e dia da semana especificados.

и

Permite-lhe obter a hora de início e fim da sessão de negociação especificada para o símbolo e dia da semana especificados.

É possível exagerar se não se compreender)

Existem instrumentos que são cotados de uma só vez, mas só podem ser comercializados em determinados momentos, razão pela qual existem duas funções.

 

Rapazes, atrevo-me a perguntar novamente, uma vez que a minha pergunta se perdeu entre as mensagens

Existe uma construção como esta, passa por todas as cartas abertas no terminal:

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

Como descubro que o gráfico não é o principal, mas abre em modo de teste e salta-o?

Obrigado!

 

Olá colegas, poderiam sugerir um manipulador para um erro como este?

Obrigado.

 
Por favor, coloque as suas perguntas MQL4 MT4 MetaTrader 4 na linha deperguntas MQL4 MT4 MT4 MetaTrader 4 Iniciantes. Especialmente se se tratar de operações comerciais.
 
Cavalheiros, como é que rapidamente descobrem onde se encontra o sinal na classificação?
 
Renat Akhtyamov:
Cavalheiros, como é que descubro rapidamente qual é a posição de um sinal na classificação?
Isto só pode ser descoberto para o seu sinal - "Sinais" -> "Meus Sinais" e no início do nome do sinal serão números - este é o número de posição no ranking do mostruário do sinal.
 
Vladimir Karputov:
Só pode descobrir isto para o seu sinal - "Sinais" -> "Meus Sinais" e no início do nome do sinal haverá números - este é o número de posição no ranking da mostra de sinais.
Apanhei-o, senks!
 
Renat Akhtyamov:
Cavalheiros, como é que descubro rapidamente onde se encontra o sinal no ranking?

Programática? Assim.

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:

Programática? Assim.

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());
     }
  }
Óptimo! Obrigado!
 
Vitaly Muzichenko:

Rapazes, atrevo-me a perguntar novamente, uma vez que a minha pergunta se perdeu entre as mensagens

Existe uma construção como esta, passa por todas as cartas abertas no terminal:

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

Como descubro que o gráfico não é o principal, mas abre em modo de teste e salta-o?

Obrigado!

Algo não se encontra claramente nas propriedades. E se no modo de teste criar algo no gráfico, por exemplo um botão com um nome manhoso e depois verificar a sua presença?