Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Invia qui le istruzioni su come aprire un conto reale alla BCS.
Per evitare di dover scavare ogni volta, l'ho messo sul mio profilo.
Alexey Kozitsyn:
Grazie, l'ho già fatto io stesso.Спасиб
Facendo un confronto, ci sono differenze, ma non significative.
Secondo me, la funzione di registrazione dei tick degli ordini nella cronologia non funziona correttamente (tutto è OK con i trade).
Farò 300 linee e posterò il file di confronto.
Aggiunto
Controlla, potrei aver fatto un errore
Ha lavorato accuratamente sia alle 10:00 che alle 14:05
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 :)
Quindi questo è tutto.
E la sessione del mattino e dopo entrambe le schiarite.
È stato fatto un lavoro molto accurato. Dato che la sincronizzazione del tempo con il metodo suggerito si basa sulla considerazione del valore di ping, ho una domanda.
Richiedendo l'identificatore TERMINAL_PING_LAST, il terminale fornisce (secondo la documentazione MQL) l'"Ultimo valore noto del ping al server commerciale in microsecondi".
Cos'è, il suo valore è stabile e quanto è grande? Per molti anni ho visto questa caratteristica nei file di log, ma ora posso vedere i ping nella lista dei server direttamente nel terminale. E sono molto stabili. Che cos'è?
Solo due varianti che posso immaginare.
1) È una caratteristica di rete utilizzata dai router per analizzare i percorsi dei pacchetti IP, che si ottiene utilizzando il protocollo di rete ICMP e in realtà tiene conto solo della propagazione del segnale hardware. Nel caso particolare delle misure di ping tra un computer client e un server, significa avanti e indietro tra le loro NIC. I pacchetti con questo protocollo di solito non raggiungono le applicazioni, non è necessario https://ru.wikipedia.org/wiki/ICMP.
2. raddoppia il tempo di percorrenza del segnale dall'applicazione sul server all'applicazione sul client.
Qualcuno ha un indizio?
È stato fatto un lavoro molto accurato. Dato che la sincronizzazione del tempo con il metodo suggerito si basa sulla considerazione del valore di ping, ho una domanda.
Richiedendo l'identificatore TERMINAL_PING_LAST, il terminale fornisce (secondo la documentazione MQL) l'"Ultimo valore noto del ping al server commerciale in microsecondi".
Cos'è, il suo valore è stabile e quanto è grande? Per molti anni ho visto questa caratteristica nei file di log, ma ora posso vedere i ping nella lista dei server direttamente nel terminale. E sono molto stabili. Che cos'è?
Solo due varianti che posso immaginare.
1) È una caratteristica di rete utilizzata dai router per analizzare i percorsi dei pacchetti IP, che si ottiene utilizzando il protocollo di rete ICMP e in realtà tiene conto solo della propagazione del segnale hardware. Nel caso particolare delle misure di ping tra un computer client e un server, significa avanti e indietro tra le loro NIC. I pacchetti con questo protocollo di solito non raggiungono le applicazioni, non è necessario https://ru.wikipedia.org/wiki/ICMP.
2. raddoppia il tempo di percorrenza del segnale dall'applicazione sul server all'applicazione sul client.
Qualcuno ha un indizio?
Solo gli sviluppatori possono rispondere con certezza a questa domanda.
Mi stavo basando sul secondo.
>Questo è il doppio del tempo di percorrenza del segnale dall'applicazione sul server all'applicazione sul client.
Quindi questo è tutto.
E la sessione del mattino e dopo entrambe le schiarite.
Tutto funziona "come un orologio" :)
2017.01.30 14:05:00.002 Time_symc_forts (URKA-3.17,H1) Local time sync is done. Symbol = Si-3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2
2017.01.30 19:00:00.003 Time_symc_forts (URKA-3.17,H1) Local time sync is done. Symbol = Si-3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3
Aggiunto
Aspettando che l'offerta inizi a 19-05
Tutto funziona "come un orologio" :)
2017.01.30 14:05:00.002 Time_symc_forts (URKA-3.17,H1) Local time sync is done. Symbol = Si-3.17 Sync hour = 14 Sync min = 5 Sync sec = 0 Sync ms = 2
2017.01.30 19:00:00.003 Time_symc_forts (URKA-3.17,H1) Local time sync is done. Symbol = Si-3.17 Sync hour = 19 Sync min = 0 Sync sec = 0 Sync ms = 3
Aggiunto
Aspettando che l'offerta inizi a 19-05
Aggiunto
Per Sergey
https://www.mql5.com/ru/forum/166646
Solo per divertimento, accendilo se non ti dispiace, vediamo quanto accuratamente il tempo è sincronizzato:
//| Delta Time Server.mq5 |
//+------------------------------------------------------------------+
struct _SYSTEMTIME
{
short year;
short mon;
short day_of_week;
short day;
short hour;
short min;
short sec;
short msc;
};
_SYSTEMTIME loc_time;
#import "kernel32.dll"
void GetLocalTime(_SYSTEMTIME &sys_time);
bool SetLocalTime(_SYSTEMTIME &sys_time);
#import
//---
MqlTick tick;
MqlDateTime sv_time;
int tick_msc,ping,time_server,time_local,delta=0,mdelta[10],n=0;
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
loc_time.year=0;
GetLocalTime(loc_time);
if(loc_time.year>0)
{
if(!SymbolInfoTick(_Symbol,tick)) { Print("error SymbolInfoTick: ",GetLastError()); return; }
ping=TerminalInfoInteger(TERMINAL_PING_LAST)/1000;
tick_msc=int(tick.time_msc%1000);
TimeToStruct(tick.time,sv_time);
time_server=(sv_time.sec+sv_time.min*60)*1000+tick_msc;
time_local=(loc_time.sec+loc_time.min*60)*1000+loc_time.msc;
delta=AvgDelta(time_server-time_local);
Print(
"ping : ",ping,
" | time server: ",sv_time.hour,":",sv_time.min,":",sv_time.sec,",",tick_msc,
" | time local: ",loc_time.hour,":",loc_time.min,":",loc_time.sec,",",loc_time.msc,
" | delta ms: ",delta,
" | min max delta: ",mdelta[ArrayMaximum(mdelta)]," : ",mdelta[ArrayMinimum(mdelta)],
"");
}
}
//+------------------------------------------------------------------+
int AvgDelta(int d)
{
int avgd=0;
mdelta[n]=d;
n++; if(n>=10) n=0;
for(int i=0;i<10;i++) avgd+=mdelta[i];
return(avgd/10);
}
//+------------------------------------------------------------------+