FORTI. Problemi di applicazione - pagina 5

 

Signoripapaklass eolyakish!

Non è chiaro perché hai iniziato una corrispondenza personale in questo importante argomento, dopo che Renat ha confermato la presenza di

"Errore fluttuante nella velocità delle risposte al terminale.

Ha anche promesso che MQ migliorerà il traffico complessivo di esecuzione degli ordini.

E comunque, come si può controllare qualcosa nelle cucine in forex?

 
papaklass:

In effetti, abbiamo pubblicato molte informazioni utili:

- le loro configurazioni di server;

- metodi di controllo della rete (ping -t);

- olyakish ha pubblicato il suo lavoro sulla selezione di un server virtuale.

Ma sembra che non ne abbiate bisogno.

Ci sono molte cose nel forex che sono testabili. E se pensate che non c'è manipolazione nella borsa, allora vi capisco. :)

 
kond777:

Signoripapaklass eolyakish!

Non è chiaro perché hai iniziato una corrispondenza personale in questo importante argomento, dopo che Renat ha confermato la presenza di

"Errore fluttuante nella velocità delle risposte al terminale.

Ha anche promesso che MQ migliorerà il traffico complessivo di esecuzione degli ordini.

E comunque, come si può controllare qualcosa nelle cucine in forex?

 
RE      0       15:30:57.591    Trades  '871788': market buy 0.03 EURUSD.e
JM      0       15:30:57.591    Trades  '871788': market buy 0.04 USDJPY.e
EK      0       15:30:57.591    Trades  '871788': market sell 0.03 EURJPY.e
JS      0       15:30:57.607    Trades  '871788': order #23947599 buy 0.03 / 0.03 EURUSD.e at 1.21874 done in 28 ms
CS      0       15:30:57.607    Trades  '871788': deal #16364222 buy 0.03 EURUSD.e at 1.21874 done (based on order #23947599)
KL      0       15:30:57.622    Trades  '871788': order #23947600 buy 0.04 / 0.04 USDJPY.e at 120.314 done in 44 ms
NF      0       15:30:57.622    Trades  '871788': deal #16364223 buy 0.04 USDJPY.e at 120.314 done (based on order #23947600)
GF      0       15:30:57.653    Trades  '871788': order #23947601 sell 0.03 / 0.03 EURJPY.e at 146.615 done in 74 ms
EF      0       15:30:57.653    Trades  '871788': deal #16364224 sell 0.03 EURJPY.e at 146.615 done (based on order #23947601)
NM      0       15:31:56.771    Trades  '871788': market buy 0.03 EURUSD.e
FD      0       15:31:56.771    Trades  '871788': market buy 0.04 USDJPY.e
IS      0       15:31:56.771    Trades  '871788': market sell 0.03 EURJPY.e
LK      0       15:31:56.803    Trades  '871788': order #23947606 buy 0.03 / 0.03 EURUSD.e at 1.21877 done in 33 ms
RJ      0       15:31:56.803    Trades  '871788': deal #16364229 buy 0.03 EURUSD.e at 1.21877 done (based on order #23947606)
PE      0       15:31:56.834    Trades  '871788': order #23947607 buy 0.04 / 0.04 USDJPY.e at 120.315 done in 64 ms
CO      0       15:31:56.834    Trades  '871788': order #23947608 sell 0.03 / 0.03 EURJPY.e at 146.619 done in 63 ms
OR      0       15:31:56.834    Trades  '871788': deal #16364230 buy 0.04 USDJPY.e at 120.315 done (based on order #23947607)
GO      0       15:31:56.834    Trades  '871788': deal #16364231 sell 0.03 EURJPY.e at 146.619 done (based on order #23947608)
ED      0       15:33:00.526    Trades  '871788': market buy 0.03 EURUSD.e
ML      0       15:33:00.526    Trades  '871788': market buy 0.04 USDJPY.e
RH      0       15:33:00.526    Trades  '871788': market sell 0.03 EURJPY.e
DP      0       15:33:00.526    Trades  '871788': order #23947612 buy 0.03 / 0.03 EURUSD.e at 1.21878 done in 10 ms
OO      0       15:33:00.526    Trades  '871788': order #23947613 buy 0.04 / 0.04 USDJPY.e at 120.315 done in 10 ms
OG      0       15:33:00.526    Trades  '871788': deal #16364236 buy 0.03 EURUSD.e at 1.21878 done (based on order #23947612)
NE      0       15:33:00.526    Trades  '871788': deal #16364237 buy 0.04 USDJPY.e at 120.315 done (based on order #23947613)
LI      0       15:33:00.558    Trades  '871788': order #23947614 sell 0.03 / 0.03 EURJPY.e at 146.612 done in 40 ms
HG      0       15:33:00.558    Trades  '871788': deal #16364238 sell 0.03 EURJPY.e at 146.612 done (based on order #23947614)

Ecco il vero LMAX di API .NET

La performance sulle notizie è di 12ms con un ping di 8ms (misurato usando un timer ad alta frequenza)

Penso che questo sia un punto di riferimento

 
olyakish:

Ecco il vero LMAX di API .NET

La performance sulle notizie è di 12ms con un ping di 8ms (misurato usando un timer ad alta frequenza)

Penso che questo sia un punto di riferimento

 
papaklass:

Nell'ultimo lotto avete ordini inviati e risposte del server ricevute in 1 (!!!) ms. E il registro mostra un tempo di elaborazione del server di 10 ms. Incredibile. :)

La domanda sorge spontanea:

Ci si può fidare dei tempi pubblicati nel log del terminale?

Al momento, la precisione dei tempi nel registro dipende dalla risoluzione del timer del sistema. In questo caso era probabilmente circa 16ms (potete controllare con l'utilità clockres). Stiamo lavorando anche su questo problema e il registro sarà migliorato.
 
papaklass:

Nell'ultimo lotto avete ordini inviati e risposte del server ricevute in 1 (!!!) ms. E il registro mostra un tempo di elaborazione del server di 10 ms. Incredibile. :)

La domanda sorge spontanea:

Ci si può fidare dei tempi pubblicati nel log del terminale?

Questi sono probabilmente esattamente 16ms discreti.

15:33:00.526 

e questi possono essere più accurati

done in 10 ms
 
olyakish:

Ecco il vero LMAX di API .NET

L'esecuzione sulle notizie è di 12 ms a 8 ms di ping (misurato usando un timer ad alta frequenza)

Credo che questa sia la linea guida.

zaskok:

Cerchiamo di essere chiari e trasparenti. Parliamo della latenza meno tutti i ping tra i nodi.

Mi è stata mostrata una latenza di ~ 1ms da persone HFT sulla borsa russa. Non sono un tecnico e non so dirvi come ci riescano.

Allo stesso modo su LMAX la latenza è ~ 2-3 ms.

Ancora una volta, stiamo parlando della latenza al dettaglio meno tutti i ping.

L'infrastruttura MT5 si collega direttamente alle borse. Oppure, come hai detto tu, è solo un "tubo". Gli HFT collegano i loro tubi e ottengono il risultato come hai scritto sopra.

Il collegamento di un tubo MT5 comporta un costo di tempo molto più elevato. Quali sono le ragioni?

Renat:

Non è necessario essere chiari, ma a un livello di conoscenza professionale.

olyakish, sei sicuro di avere un livello di conoscenza sufficientemente professionale?
 
papaklass:

Costruire 1036.

Come lo affronta? La differenza di esecuzione è mostruosa.

È possibile raggiungere la stabilità delle prestazioni sul server?

PS: Come sembra inappropriato pubblicizzare MT come una piattaforma ad alta frequenza. :(


papaklass!

Non c'è bisogno di agitarsi tanto!

Non ti prendi nemmeno la briga di leggere i post!

E scolpire stupidamente i tuoi post!

Non pensi che sia ora di fermarsi?

PERSONE CHE LAVORANO!!!!

 
papaklass:
Ti dispiacerebbe mostrarmi il messaggio che avrei dovuto leggere?

Per citare Renate:

Il server 1035 di Otkritie è già in funzione oggi.

Ecco come sono cambiati i tempi di attivazione degli ordini dal VPS di Mosca (stesso computer, stessoconto reale):

2014.12.18 билд 1010 сервера
2014.12.18 10:22:33.885 Trades  'XXXXXX': buy limit 1.00 Si-3.15 at 64638 placed for execution in 72 ms
2014.12.18 10:35:05.309 Trades  'XXXXXX': exchange buy 1.00 Si-3.15 at market placed for execution in 94 ms
2014.12.18 10:35:18.937 Trades  'XXXXXX': exchange sell 1.00 Si-3.15 at market placed for execution in 148 ms

2014.12.24 билд 1035    
2014.12.24 16:06:14.726 Trades  'XXXXXX': sell limit 1.00 Si-3.15 at 58837 placed for execution in 33 ms
2014.12.24 16:08:32.755 Trades  'XXXXXX': exchange sell 1.00 Si-3.15 at market placed for execution in 24 ms
2014.12.24 16:08:46.841 Trades  'XXXXXX': exchange buy 1.00 Si-3.15 at market placed for execution in 26 ms

Come promesso, c'è un miglioramento qualitativo (multiplo) nella velocità di elaborazione degli ordini.

L'occasionale tempo fluttuante della consegna della risposta al terminale non è stato ancora eliminato, continueremo a lavorarci.

-------------------------------------------------------

E perché li considera interni?

1) Guarda in OnTradeTransaction quanti stati intermedi ottieni sull'ordine.

Ogni transazione commerciale non è un pacchetto (richiesta-risposta) ma diverse notifiche. È così che il terminale sa sempre a che punto è la richiesta (per esempio, l'esecuzione può richiedere molto tempo).

Ora stiamo pensando alla possibilità di includere in MQL5 una funzione separata per disabilitare tutte le notifiche di stato intermedie, trasformando lo schema in un semplice modulo. Questo potrebbe accelerare l'esecuzione.

2) Ti manca completamente il secondo lato della comunicazione con lo scambio e la variabilità della velocità di esecuzione. Sembra che tu pensi che ci sia uno 0 conosciuto, ma non c'è garanzia di velocità lì.


Mi sembra che sia circa 10 volte di più di quello che potrebbe essere.

Non c'è bisogno di essere ingannati guardando un pezzo di asberg che sporge sull'acqua.

Lasciatemi chiarire che non abbiamo effettivamente migliorato la velocità di un fattore 2, ma abbiamo guadagnato circa 20-30 ms. Due non è il doppio di uno, ma solo di un fattore uno. Questo è solo un effetto base basso.


Comunque, continuiamo a lavorare e otterremo risultati ancora migliori.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Motivazione: