Sincronizzare l'ora locale di Windows con il server MT5 - pagina 12

 

Ragazzi della BCS, che hanno un conto reale,

per favore esegui il codice su un account reale e pubblica qui il risultato.

#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   MqlTick post_ticks[];
   string symbol = "Si-3.17";
   ulong from = ulong(D'2017.01.20 23:49:00') * 1000;
   int result=CopyTicks(symbol, post_ticks, COPY_TICKS_ALL, from, 2000);
   if(result > 0)
   {
     string str="";
     int f_handle=FileOpen("Si-3.17_ticks.txt",FILE_WRITE|FILE_ANSI|FILE_TXT);
     if (f_handle != INVALID_HANDLE)
     {
       FileWrite(f_handle, "Symbol\tTime\tLast\tFlags");
       for(int i = 0; i< result;i++)
       {
         if(post_ticks[i].flags == 88)
         {
         str=symbol + "\t" + string(post_ticks[i].time) + "." +
             string(post_ticks[i].time_msc%1000) + "\t" + string(post_ticks[i].last) +
             "\tПродажа";
         }
         else
         if(post_ticks[i].flags == 56)
         {
           str=symbol + "\t" + string(post_ticks[i].time) + "." +
             string(post_ticks[i].time_msc%1000) + "\t" + string(post_ticks[i].last) +
             "\tПокупка";
         }
         else
         {
           str=symbol + "\t" + string(post_ticks[i].time) + "." +
             string(post_ticks[i].time_msc%1000) + "\t" + string(post_ticks[i].last) +
             "\t" +  string(post_ticks[i].flags);
         }    
         FileWrite(f_handle, str);    
       }
       FileClose(f_handle);
     }
   }
//---
   return(INIT_SUCCEEDED);
  }
 
La sincronizzazione avviene sulla prima transazione (per ora, in attesa di chiarimenti)
File:
 
prostotrader:

È improbabile che si risolva così rapidamente :(

Aggiunto

Credo di avere un'idea del perché questo accade!

Il fatto è che le transazioni e le quotazioni (ordini) dalla borsa arrivano in flussi diversi,

e sul server sono processati da diverse funzioni. Quello che è responsabile degli accordi

funziona correttamente e salva le informazioni nella cronologia

(come evidenziato dal fatto che non abbiamo un solo salto in 496.357 scambi), e quello responsabile per

responsabile degli ordini non è così buono...

Ecco un estratto della corrispondenza con il BOD:

Support Team 2016.12.14 14:17

1. Тики (а также буки, текущие цены из маркет вотча) обновляются/собираются независимо от работы индикаторов/экспертов. Также независимо от экспертов строятся бары.

2. А вот расчет индикаторов происходит в потоке построения баров. То есть после каждого применения тика к бару - вызывается расчет индикатора! При этом ни один тик не пропускается.

3. Отсюда получается, что вызывая из индикатора CopyTicks вы можете получать более свежие тиковые данные (а также буки, значения из маркет вотча), чем те, что уже применены к барам.

Это нужно учитывать в расчетах: либо вы анализируете тики, либо бары, либо если нужно и то и другое, то кому то нужно отдать приоритет (для случая последнего бара).

4. Особенно это начинается сильно проявляется если расчет индикатора делается долго.
 
Alexey Kozitsyn:

Lascio qui per vostro riferimento un estratto della corrispondenza con la SR:

2. А вот расчет индикаторов происходит в потоке построения баров. То есть после каждого применения тика к бару - вызывается расчет индикатора! При этом ни один тик не пропускается.
Esegui un indicatore lento su EURUSD M1. Esegui l'EA su un altro grafico EURUSD M1. E se l'EA usa la cronologia delle barre, si ottengono continui crash.
 
prostotrader:
La sincronizzazione avviene sulla prima transazione (per ora, in attesa di chiarimenti)

Ha lavorato accuratamente sia alle 10:00 che alle 14:05

2017.01.26 10:00:00.000 Time_sync_forts (URKA-3.17,H1)  Local time sync is done. Symbol = RTS-3.17 Sync hour = 10 Sync min = 0 Sync sec = 0 Sync ms = 0
2017.01.26 14:05:00.005 Time_sync_forts (URKA-3.17,H1)  Local time sync is done. Symbol = RTS-3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 5

Aggiunto

Penso che rimuoverò BR in modo che tutto avvenga automaticamente per 3 mesi :)

File:
 

Dall'annuncio della nuova build 1525 punto 11

MQL5: Исправлена ошибка, в некоторых случаях приводившая к пропуску тиков в тиковой истории.


Ma l'SD non ha scritto proprio nulla.

C'erano dei "buchi" prima?

 
prostotrader:

Dall'annuncio della nuova build 1525 voce 11

MQL5: Исправлена ошибка, в некоторых случаях приводившая к пропуску тиков в тиковой истории.


Ma l'SD non ha scritto proprio nulla.

C'erano dei "buchi" prima?

Prima, c'erano sicuramente. In termini di zecche commerciali - di sicuro. Nella build 1495 è molto meglio.
 
Alexey Kozitsyn:
Prima - lo erano certamente. In termini di zecche commerciali - di sicuro. Nella build 1495 è molto meglio.

Non ho trovato alcuna omissione su quasi 500.000 scambi.

A quanto pare non hanno aggiustato nient'altro, a parte gli INFO (ordini)...

Ma è bello vedere che il progxx c'è, dopo tutto.

Aggiunto

È un peccato che i partecipanti al forum (FORTS) siano deboli in questo importante problema.

Nessuno della BCS ha mai postato un test.

Più dati ci sono, più velocemente possono correggere.

 
prostotrader:

Non ho trovato alcuna omissione su quasi 500.000 scambi.

A quanto pare non hanno aggiustato nient'altro, a parte gli INFO (ordini)...

Ma è bello vedere che i progrex ci sono dopo tutto.

Sì, c'è un progresso - un grande progresso. Ma per fare la sincronizzazione in tempo reale (per riconciliare i tick in una candela con il volume che può essere ottenuto da volume[]) - devi mettere un sacco di stampelle. Finora questa domanda non è completamente chiusa per me. Gli SD hanno smesso di rispondermi :)
 
prostotrader:

Non ho trovato alcuna omissione su quasi 500.000 scambi.

A quanto pare non hanno aggiustato nient'altro, a parte gli INFO (ordini)...

Ma è bello vedere che il progxx c'è, dopo tutto.

Aggiunto

È un peccato che i partecipanti al forum (FORTS) siano deboli in questo importante problema.

Nessuno della BCS ha mai postato un test.

Più dati ci sono, più velocemente possono correggere.

La storia di BCS aveva più stipiti dello stesso periodo in Otkritie. Non ho ancora fatto i test quest'anno.
Motivazione: