Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 669

 
Leo59:
Strano, penso che gli sviluppatori abbiano incasinato qualcosa. Come sono diverse le funzioni a parte il Nome?


Permette di ottenere l'ora di inizio e di fine di una sessione di quotazione per il simbolo e il giorno della settimana specificati.

и

Permette di ottenere l'ora di inizio e di fine della sessione di trading specificata per il simbolo e il giorno della settimana specificati.

È possibile esagerare se non lo si capisce)

Ci sono strumenti che sono quotati in un momento, ma possono essere scambiati solo in certi momenti, ecco perché ci sono due funzioni.

 

Ragazzi, oso chiedere di nuovo, visto che la mia domanda si perde tra i messaggi

C'è una costruzione come questa, passa attraverso tutti i grafici aperti nel terminale:

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

Come posso scoprire che il grafico non è quello principale, ma aperto in modalità tester e saltarlo?

Grazie!

 

Ciao colleghi, potreste suggerire un gestore per un errore come questo?

Grazie.

 
Si prega di postare le vostre domande MQL4 MT4 MetaTrader 4 nel threadMQL4 MT4 MetaTrader 4 Beginners Question. Soprattutto se si tratta di operazioni commerciali.
 
Signori, come si fa a scoprire rapidamente dove si trova il segnale nella classifica?
 
Renat Akhtyamov:
Signori, come posso trovare rapidamente la posizione di un segnale nel rating?
Questo può essere scoperto solo per il tuo segnale - "Segnali" -> "I miei segnali" e all'inizio del nome del segnale saranno numeri - questo è il numero di posizione nella classifica della vetrina del segnale.
 
Vladimir Karputov:
Puoi scoprirlo solo per il tuo segnale - "Segnali" -> "I miei segnali" e all'inizio del nome del segnale ci saranno dei numeri - questo è il numero di posizione nella classifica della vetrina dei segnali.
Capito, senks!
 
Renat Akhtyamov:
Signori, come posso scoprire rapidamente dove si trova il segnale nella classifica?

In modo programmatico? Come questo.

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:

In modo programmatico? Come questo.

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

Ragazzi, oso chiedere di nuovo, visto che la mia domanda si perde tra i messaggi

C'è una costruzione come questa, passa attraverso tutti i grafici aperti nel terminale:

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

Come posso scoprire che il grafico non è quello principale, ma aperto in modalità tester e saltarlo?

Grazie!

È chiaro che qualcosa non c'è nelle proprietà. E se nella modalità tester si crea qualcosa sul grafico, per esempio un pulsante con un nome difficile e poi si controlla la sua presenza?