Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 668

 
Leo59:
E come, nella mia domanda, si può applicare OnTimer()?

Beh, non sta a me sapere cosa conterete prima dell'apertura del mercato)

Per esempio così:

// В Init ставим флаг connection=false;

void OnTimer() {
// Обрабатываем информацию независимо от работы рынка в функции DataProcessing
DataProcessing();

if(TimeCurrent()>starttime) { // если рынок работает
   connection=true; // ставим флаг в положение "true"
   ...             // или сразу обрабатываем весь остальной код, в основном - торгвый
  }
}

void DataProcessing() {
// что-то делаем по таймеру
}

if(connection==true) { // или здесь торговые операции и остальной код, чтоб не в таймере
  ...
}

 
Vitaly Muzichenko:

Beh, non sta a me sapere cosa conterete prima dell'apertura del mercato)


Grazie Vitaly per i tuoi sinceri tentativi di aiutare!!!!
A quanto pare, la questione deve "sistemarsi". Potrei dover cambiare la logica dell'architettura del codice. "È sempre meglio al mattino".
GRAZIE MOLTO di nuovo !!!!
 
Leo59:
Grazie Vitaly per i tuoi sinceri tentativi di aiutare!!!!
A quanto pare, la questione deve "sistemarsi". Potrei dover cambiare la logica dell'architettura del codice. "È sempre meglio al mattino".
GRAZIE MOLTO di nuovo !!!!

Prova in questo modo, ora sarà "0" - Domenica

TimeDayOfWeekTimeGMT() )
 
Leo59:
Artyom, la domanda era su come definire il giorno libero programmaticamente senza ricorrere a TimeLocal(). ))

Visto, sentito, letto ;)

Ma lei ha detto che bisogna prima calcolare tutto, e poi "uscire nel mondo". E tu hai chiesto come un timer potrebbe aiutare in questo - quindi è questo che la tua domanda suggeriva, non la definizione di un giorno di riposo.

 
Vitaly Muzichenko:

Prova in questo modo, ora sarà "0" - Domenica

TimeDayOfWeekTimeGMT() )

Giusto!!! Restituisce "0". GRAZIE!!!!

E ho cercato di vedere cosa posso recuperare

Codici di ritorno del server commerciale


Codice

Costante

Descrizione


132

ERRARE_MERCATO_CHIUSO

Il mercato è chiuso

 
Mi chiedo cos'altro, a parte OrderSend(), restituisce l'errore 132 - mercato chiuso?
 
Leo59:
Mi chiedo cos'altro oltre a OrderSend() restituisce l'errore 132 - il mercato è chiuso?
niente, sto solo facendo un'operazione di scambio
 
Vitaly Muzichenko:
niente, sto solo facendo una transazione commerciale
)) In linea di principio, questo è abbastanza!!!!
GRAZIE!!!!
 
Leo59:
)) In linea di principio, questo è abbastanza!!!!
GRAZIE!!!!
Guarda qui, c'è una soluzione primitiva alla fine del thread.
 
Vitaly Muzichenko:
Guarda qui, alla fine del ramo c'è una soluzione primitiva.
È strano, gli sviluppatori devono aver sbagliato qualcosa. Qual è la differenza tra le funzioni diverse da Name?


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

bool  SymbolInfoSessionQuote(
   string            name,                // имя символа
   ENUM_DAY_OF_WEEK  day_of_week,         // день недели
   uint              session_index,       // номер сессии
   datetime&         from,                // время начала сессии
   datetime&         to                   // время окончания сессии
   );

Se i dati vengono ricevuti per la sessione, il simbolo e il giorno della settimana specificati, restituisce true, altrimenti restituisce false.

и

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

bool  SymbolInfoSessionTrade(
   string            name,                // имя символа
   ENUM_DAY_OF_WEEK  day_of_week,         // день недели
   uint              session_index,       // номер сессии
   datetime&         from,                // время начала сессии
   datetime&         to                   // время окончания сессии
   );

Se i dati vengono ricevuti per la sessione, il simbolo e il giorno della settimana specificati, restituisce true, altrimenti restituisce false.