Analogo di TimeTradeServer per MT4 - pagina 4

 

È un buon punto, è necessario conoscere l'orario del server nei fine settimana. Perché il tempo del server si ferma e dà sempre il venerdì.
Bisogno di un modo per identificare, fine settimana per le fotocopiatrici senza usare dll

Il TimeTradeServer funziona perfettamente in MT5, aggiungilo a mt4 e questo risolverebbe subito i problemi con l'analisi del tempo.

 
Alexandr Gavrilin:

È un buon punto qui, è necessario conoscere l'orario del server nel fine settimana. Perché il tempo del server si ferma e dà sempre il venerdì.
Abbiamo bisogno di un modo per identificare il fine settimana per le fotocopiatrici senza usare dll

TimeTradeServer funziona perfettamente in MT5, aggiungilo a mt4 e risolverebbe subito i problemi con l'analisi del tempo.

Quando la funzione OrderSend() si imbatte in un errore "market is closed" (esiste una cosa del genere), fermate tutti i tentativi di trading e aspettate che il prezzo cambi, il che significherebbe che il mercato si è aperto.

 
Dmitry Fedoseev:

Quando la funzione OrderSend() si imbatte in un errore di "mercato chiuso" (esiste una cosa del genere), fermiamo tutti i tentativi di trading e aspettiamo che il prezzo cambi, il che significa che il mercato si è aperto.

e "come non incontrato", l'intera storia è caricata con ordini pendenti)

 
fxsaber:

Vitaly ha dato un link a questa funzione. Non ricordo su cosa si basa l'idea. Ma devo averlo controllato mentre scrivevo. Fate una prova.

L'idea si basa sul trovare le quotazioni dell'ultimo minuto per il simbolo più comune (in questo caso EURUSD) e una sorta di calcolo dell'offset temporale del server da GMT. Ma ci sono così tanti "se" qui che, purtroppo, non è una soluzione al problema.

Controllato su Alpari, non funziona:


 
Ihor Herasko:

Controllato su Alpari, non funziona:

Quindi ci saranno dati di riproduzione?

 
fxsaber:

Quindi ci saranno dati da riprodurre?

Ho dato una foto. Forse non riesci a vederlo?

 
Taras Slobodyanik:

e "come non mi sono imbattuto", tutta la storia è disseminata di pause)

Puoi essere più specifico?

 
Ihor Herasko:

Ho fatto un disegno.

Come si riproduce da un disegno?

 
Ihor Herasko:

L'idea si basa sul trovare le quotazioni dell'ultimo minuto per il simbolo più comune (in questo caso EURUSD) e su una sorta di calcolo dell'offset temporale del server da GMT. Ma ci sono così tanti "se" qui che, purtroppo, non è una soluzione al problema.

Controllato su Alpari, non funziona:


non si dovrebbe cercare l'ultimo (23:59) minuto su EURUSD, ma la notte sull'oro. L'oro commercia rigorosamente su amsterdam, le valute sull'ora del server. Da qui trovare l'offset GMT del server
 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Peculiarità di mql4, consigli e trucchi

Ivan Titov, 2019.08.12 16:19

State dicendo che se i personaggi non forex hanno la storia disponibile, allora non funzionerà?

Ecco anche un esempio per il forex su Alpari-Demo EURUSD,H1 nel tester:

Per 2019.02.19 14:00:00 ritorna 2019.02.19 11:00:00

Per 2019.06.19 14:00:00-ritorni 2019.06.19 11:00:00

Anche se in inverno dovrebbe essere GMT+2 e in estate GMT+3 (EET).

// Аналог по серверному времени - https://www.mql5.com/ru/docs/dateandtime/timegmtoffset
// Работает для FOREX-символов, когда M1-история доступна за ближайшую неделю
int TimeServerGMTOffset( const bool SummerTime = false )
{
  const datetime Sunday = GetTimeDayOfWeek();
  
  return(((int)MathRound((double)MathMin(Sunday - DAY - GetBarTime(Sunday), Sunday + DAY - GetBarTime(Sunday, true)) / HOUR) - SummerTime - 2) * HOUR);
}

Fate un tale cambiamento e funzionerà. Non ha fatto la definizione di estate e inverno, qualcuno la farà.

Motivazione: