Analogo di TimeTradeServer per MT4 - pagina 6

 
fxsaber:

Controllare il codice

Risultato su una macchina che ha lo stesso GMT di Alpari.

Controllato

Mostra tutto correttamente.

Il controllo non è fatto correttamente. Ecco perché:

  1. Non hai usato il server che ti ho dato (perché hai chiesto questi dati se non li hai usati?).
  2. Il valore 2 appare nel codice, che è esattamente il numero che stiamo cercando. Ecco perché tutto si adatta. Togliendo questo numero si ottiene l'offset 0. Cioè, la funzione non fa nulla, infatti, restituisce sempre 0.
Provate a eseguire questo codice (con un 2) su un server il cui offset non è uguale a GMT+2. Tutto si romperà.
 
Ihor Herasko:

La verifica non è fatta correttamente. Ed ecco perché:

  1. Non hai usato il server che ti ho dato (perché hai chiesto questi dati se non li hai usati?)
  2. Il codice contiene un valore di 2. Questo è esattamente il numero che stiamo cercando. Ecco perché tutto si adatta. Togliendo questo numero si ottiene l'offset 0. Cioè, la funzione non fa nulla, infatti, restituisce sempre 0.
Provate a eseguire questo codice (con un 2) su un server il cui offset non è uguale a GMT+2. Tutto si romperà.

Se il post precedente può essere interpretato diversamente da quello che intendevo, mi scuso.

Il risultato è stato ottenuto sul suo conto investitore presso Alpari. Anche il server AMP, dove l'offset è diverso, è stato controllato.

 
fxsaber:

Se il post precedente può essere interpretato diversamente da quello che intendevo, allora mi scuso.

Il risultato è stato ottenuto sul suo conto investitore Alpari. Anche il server AMP, dove l'offset è diverso, è stato controllato.

Davvero non ho capito se hai controllato su Alpari. Se hai controllato, allora il punto 1 viene rimosso.

Tornando al punto 2, a cosa serve il valore di 2 nel codice? A cosa serve, se non a regolare l'offset attuale, che è esattamente di 2 ore? Dopo tutto, qualsiasi cosa prima di essa darà sempre e ovunque 0. Quindi non ha senso l'espressione:

MathRound((double)MathMin(Sunday - DAY - GetBarTime(Sunday), Sunday + DAY - GetBarTime(Sunday, true)) / HOUR)

no.

 

Sono riuscito a trovare un server che ha un offset GMT diverso (New York).

Su di esso la sceneggiatura finalmente impazzisce:

0       22:32:27.349    Test EURUSD,M1: TimeGMT() = 2019.12.03 20:32:27
0       22:32:27.349    Test EURUSD,M1: TimeServerGMT() = 2019.12.01 08:32:27

E non si tratta più dei due, come supponevo, ma proprio della completa artificialità dell'approccio scelto. Dopotutto, il minuto di storia è capovolto. Abbiamo tempi disessione di trading completamente diversi.

Chi è interessato a controllare, ecco i dettagli dell'account:

Nome del server: BMFN-DemoCFD

Accesso: 33425755

Password: Invest111

Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Dmitry Fedoseev:

.

Oh, ragazzi, siete proprio un bel tipo.

 
Alexandr Gavrilin:

Ti dirò un terribile segreto, non tutti i giorni possono finire alle 23:59 :-) E non possiamo sapere in anticipo a che ora finirà. Per esempio nei giorni prefestivi e il venerdì.

Dovresti tenere i tuoi segreti per te o succederà qualcosa nella notte :-)

e leggere attentamente ciò che dice - l'oro si apre su amsterdam. Trova l'apertura dell'oro e ottieni una marca temporale.

Lo stesso vale per tutte le attività non rotonde - hanno un orario/un riferimento temporale noto in anticipo. Si può legare agli indici di Chicago, per gusto e colore

 
Ihor Herasko:

Sono riuscito a trovare un server che ha un offset GMT diverso (New York).

Su di esso la sceneggiatura finalmente impazzisce:

E non si tratta più dei due, come supponevo, ma proprio della completa artificialità dell'approccio scelto. Dopotutto, il minuto in cui la storia viene ribaltata. Abbiamo tempi di sessione di trading completamente diversi.

Chi è interessato a controllare, ecco i dettagli dell'account:

Nome del server: BMFN-DemoCFD

Accesso: 33425755

Password: Invest111

L'ho controllato su questo account. Tutto si presenta perfettamente.

 
Maxim Kuznetsov:

Dovreste rinchiudervi dai segreti oscuri, o qualcosa andrà storto nella notte :-)

e leggere attentamente ciò che è scritto - l'oro si apre su amsterdam. Se si trova l'apertura dell'oro, si ottiene una marca temporale.

Lo stesso vale per tutte le attività non rotonde - hanno un programma/un riferimento temporale noto in anticipo. Puoi collegarti agli indici di Chicago, per il gusto e il colore.

Ok, farò una domanda stupida.

Come fate a sapere se è sabato sul server del broker? Non è venerdì o domenica, è sabato. Cerco di usare tutti gli strumenti disponibili e diverse stampelle come "compriamo il tempo e lo confrontiamo dopo" - il tempo non spunta quando è sabato sul server del broker. Tuttavia, la domenica il mercato può aprire prima e nessuna impostazione dellasessione di trading del broker vi aiuterà a determinarlo perché il tempo non scorre.


Se avete una soluzione sensata sarà interessante.

L'ora del broker potrebbe non coincidere sempre con l'ora gmt :-)

Stai pensando in modo troppo ristretto, non tutti hanno l'oro per essere legati al suo tempo e conoscere il gmt per esempio come hai suggerito tu. Avete bisogno di una soluzione più universale.

Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexandr Gavrilin:

Se ci sono soluzioni sensate sarebbe interessante.

La soluzione era nel ramo.

 
Vitaly Muzichenko:

Funziona, testato su 3 diversi. Controllato in mt5

Questo potrebbe non essere ciò di cui TC ha bisogno, ma potrebbe prendere qualcosa da lei

Controllerò la vostra funzione sabato.