MT5 Per coloro che si preoccupano della velocità. - pagina 4

 
 
Urain:

Il server viene pingato + il tempo di elaborazione del terminale.

Ping è il tempo necessario per trasmettere una richiesta (pacchetto di informazioni) dal client al server e indietro dal server al client.

Quindi, il ping dipende dalla quantità di dati trasmessi, dove ogni bit di informazione (indirizzo di origine, indirizzo di destinazione, bit di controllo e pacchetto di dati) quando viene trasmesso dal mio computer al router via Ethernet a 10MHz richiede 0,1 µs. Cioè, il trasferimento di 2 indirizzi e il ricevitore e la fonte prende 8 byte o 64 bit, o 6,4 µs se la frequenza di 1 MHz (che è anche abbastanza possibile perché il produttore scrive da 1 a 10 MHz) tempo sarà 64 µs. e nella ricezione di ping ulteriori 64 poi sarà 128 µs ... e le informazioni non ha ancora raggiunto l'Internet ... e dati nel pacchetto non è. Il pacchetto di dati minimo è qualcosa come 46 parole...+ 4 parole quindi il tempo può essere 128 + 800 = 1528 µs. Qual è la reale quantità di dati nel pacchetto è sconosciuta. Alla reception=questo tempo viene speso di nuovo.

Si noti inoltre che il concetto di sistema include non solo un software metatradera ma anche un computer dell'utente, linee, modem, ISP, server, Expert Advisor e indicatori.

Inoltre, il tempo di risposta del server varia molto.

Un'altra cosa - il programma terminale funziona solo in flusso, perché Windows ha molti altri compiti...

Il fatto è che ho visto diverse volte che il terminale non ha risposto per più di un minuto a forti movimenti di prezzo.

Il curriculum è il seguente? Dovete immaginare il processo fisico, pensare al tempo di esecuzione del processo e testare il programma su dati reali. A proposito, l'uomo è abbastanza illuminante.

 
shelandr:

Il fatto è che ho osservato diverse volte che il terminale non reagiva per più di un minuto quando il prezzo si muoveva fortemente.

Il curriculum è il seguente? Quando si progetta un sistema e soprattutto quando lo si programma, bisogna capire il processo fisico, pensare al tempo di esecuzione del processo e testare il programma con dati reali.

Prova un altro broker, il terminale non c'entra niente.
 
shelandr:

Ping è il tempo necessario per inviare una richiesta (pacchetto di informazioni) dal client al server e indietro dal server al client.

Cioè, il ping dipende dalla quantità di dati trasmessi, dove ogni bit di informazione (indirizzo sorgente, indirizzo destinatario, bit di controllo e pacchetto di dati) nella trasmissione dal mio computer al router via Ethernet a 10 MHz richiede 0,1 µs. Cioè, il trasferimento di 2 indirizzi e il ricevitore e la fonte prende 8 byte o 64 bit, o 6,4 µs se la frequenza di 1 MHz (che è anche abbastanza possibile perché il produttore scrive da 1 a 10 MHz) il tempo è 64 µs. e nella ricezione di ping ulteriori 64 sarà 128 µs. e le informazioni non ha ancora raggiunto l'Internet ... e dati nel pacchetto non è. Il pacchetto di dati minimo è qualcosa come 46 parole...+ 4 parole quindi il tempo può essere 128 + 800 = 1528 µs. Qual è la reale quantità di dati nel pacchetto è sconosciuta. Alla reception=questo tempo viene speso di nuovo.

Si noti inoltre che il concetto di sistema include non solo un software metatradera ma anche un computer dell'utente, linee, modem, ISP, server, Expert Advisor e indicatori.

Inoltre, il tempo di risposta del server varia molto.

Un'altra cosa - il programma terminale funziona solo in flusso, perché Windows ha molti altri compiti...

Il fatto è che ho visto diverse volte che il terminale non ha risposto per più di un minuto a forti movimenti di prezzo.

Il curriculum è il seguente? Dovete immaginare il processo fisico, pensare al tempo di esecuzione del processo e testare il programma su dati reali. A proposito, l'uomo è abbastanza illuminante.

Caro signore, lei dovrebbe prima capire l'argomento prima di cercare di dare lezioni...
 
Renat:
Tali affermazioni devono essere supportate da prove.

Li avete?

Caro Renat, la cosa comica è che quando si compra un router o qualsiasi altro dispositivo come un mouse, per esempio, la documentazione specifica protocolli come:

4x LAN (10/100/1000 Mbps)

Se compri una salsiccia secondo Gosta, puoi leggere per esempio il contenuto minimo di carne...

Quando si acquista Metatrader, nessuno può sapere quali parametri di prestazione si garantiscono, perché non si garantisce nulla ... non un solo parametro di prestazione, semplicemente non esistono ...

Quindi tecnicamente non si può violare nulla né il tempo di risposta del server né la velocità di esecuzione delle operazioni commerciali o il tempo di esecuzione dei comandi ...

Non solo, si riesce anche a cospirare il protocollo di scambio con il server...

Questo equivale all'incirca a secernere l'intervallo massimo dell'autobus o del treno, o la composizione della carne in una salsiccia.

Naturalmente, il tempo di esecuzione del programma sarà diverso per un processore 8-core e un Atom single-core, ma è possibile dare dei parametri a qualche modifica media...

In termini di stock trading viviamo ancora nell'età della pietra, quindi ci sono acquirenti di tali programmi e sistemi... Pertanto, si sta lavorando per standardizzare il protocollo di rete FX API, in cui i parametri del protocollo saranno descritti e vincolanti ...

 
shelandr:

la cosa comica è che shelandr sta lavorando alla standardizzazione del protocollo di rete FX API in cui i parametri del protocollo saranno scritti

Esatto, vi state reinventando. :)

FX è stato a lungo dipinto e standardizzato.

Impara la matematica, ascolta le persone e prendi appunti in silenzio. Non parlare ancora, sei ridicolo.

Home Page - FIX Trading Community
  • FIX Trading Community
  • www.fixprotocol.org
Welcome to the non-profit, industry-driven standards body with the mission to address the business and regulatory issues impacting multi-asset trading across the global financial markets...
 

Cara Shelandr,

Nessuno può garantire la velocità del dispositivo endpoint (a parte i marketer distaccati), poiché quasi tutto dipende da questo:

  • Canali di comunicazione di terze parti

    La latenza della rete è uno dei maggiori problemi per i trader. E nessuna pretesa di TCP può essere accettata. La soluzione è un hosting VPS/server vicino o in generale lo spostamento dell'esecuzione sui server del broker (se architettonicamente possibile).

    Le piattaforme MetaTrader 4/5 utilizzano punti di accesso geograficamente distribuiti (server proxy), tra i quali ogni terminale trova quello più veloce e lavora con esso. Questo permette di accelerare radicalmente la consegna dei dati di mercato (tick, grafici, notizie) ad ogni terminale.

  • Disponibilità di operazioni commerciali asincrone

    Nel trading ad alta frequenza (HFT) è molto importante essere in grado di inviare transazioni multiple in modo asincrono il più rapidamente possibile senza sprecare una frazione di secondo per elaborare il risultato. Questo metodo di trading asincrono è pienamente disponibile in MetaTrader 5 e riduce drasticamente il tempo medio richiesto per inviare un batch di transazioni.

  • Code di esecuzione delle negoziazioni sui server commerciali

    Qui la qualità del masticare le code tecniche è nelle mani degli sviluppatori e di solito ogni azienda che si rispetti pubblica con orgoglio cifre di velocità favolose sostituendo implicitamente il concetto di "velocità globale di esecuzione". Di solito in questi casi si parla di valori estremi di centinaia di migliaia di transazioni al secondo, di latenza quasi nulla, ecc.

    Analizzare la propria coda di richieste sul server è un compito tecnico primitivo. A noi va bene così - le decine di migliaia di transazioni al secondo richieste sono facilmente gestibili. Se avete bisogno di più, allora le prestazioni possono essere facilmente aumentate (i nostri broker non fanno ancora domande su questo).

  • L'esecuzione effettiva delle richieste

    È interamente a discrezione del broker quando un ordine di compravendita viene tolto dalla coda di esecuzione.

  • Esecuzione di ordini tramite gateway verso ECN/STP o borse

    Da un punto di vista tecnico, i ritardi sono determinati dalla latenza della rete, dalla qualità di esecuzione del gateway e dal sistema di esecuzione finale ECN/STP/Exchange. Da parte nostra, i gateway di esecuzione ECN/STP/Exchange sono implementati nel modo più produttivo possibile.


L'unico modo per il trader finale di accelerare è quello di ridurre la latenza di rete localizzando il sistema di esecuzione (terminale di trading) il più vicino possibile ai server di trading del broker.

All'attuale livello di sviluppo tecnico, la scelta del linguaggio di programmazione e delle API ha poco effetto sulla velocità di generazione delle transazioni commerciali sul lato client. Detto questo, MQL5 è un linguaggio di programmazione molto, molto veloce grazie al buon compilatore/ottimizzatore e alla generazione nativa di codice eseguibile a 32/64 bit, fornisce un'esecuzione sicura in sandbox e offre un'enorme API (documentazione di oltre 3000 pagine) per accedere all'intero ambiente di mercato.

I sistemi di trading algoritmico come MetaTrader 5 con questo livello di integrazione e capacità API sono quasi inesistenti sul mercato.

 
sergeev:

Così va meglio: ti stai reinventando. :)

Fix è stato a lungo dipinto e standardizzato.

Impara la matematica, ascolta le persone e prendi appunti in silenzio. Non parlare ancora, sei ridicolo.

Allora perché stiamo bisticciando? È quello che chiedevo...

Inserisci nella documentazione parole come:

Il programma di comunicazione con il server implementa il protocollo (specificare il link al documento, preferibilmente in russo, perché siamo sul sito di lingua russa). La dimensione del pacchetto di dati è tale che le parole a una frequenza di così e così e qualcos'altro per i non particolarmente avanzati... e tutto è bene...

Parametri di prestazione del server, chiedete al vostro rivenditore, è a conoscenza del caso.

Sanks... Perché ho pensato che hai un sistema a velocità non garantita - cioè, per i fan della latenza massima garantita non è raccomandato...

 
shelandr:

Inserisci nella documentazione parole come:

Il programma di comunicazione con il server implementa il protocollo (specificare il link al documento, preferibilmente in russo, perché siamo su un sito di lingua russa). La dimensione del pacchetto di dati è di tante parole a una frequenza di così e così e qualcos'altro per i non particolarmente avanzati... e questo è tutto...

Santa ingenuità.

Raccomando di pensare alla protezione dei diritti di proprietà intellettuale, ai segreti commerciali, all'economia dei prodotti e ad altri. L'egocentrismo riduce la comprensione del mondo.

 
Renat:

Cara Shelandr,

1 Da parte nostra i gateway di esecuzione ECN/STp/Exchange sono implementati nel modo più efficiente possibile.

2 Per il trader finale l'unico modo per accelerare è ridurre la latenza di rete posizionando il sistema di esecuzione (terminale di trading) il più vicino possibile ai server di trading del broker.


1 Volevo questi parametri nella documentazione.

2 Hai assolutamente ragione, in termini di programmatore sotto Windows...ma ho già scritto, che il sistema Windows non è destinato a sistemi in tempo reale e serve a scopi e compiti molto diversi...anche se alcune persone riescono a fare per esempio guardare video HD, che io uso con piacere e occasionalmente riesco a distribuire il formato FulHD a migliaia di clienti. Un'informazione azionaria è polvere in confronto ad essa.

Ma di solito, gli scambi rapidi sono implementati fuori dalla scatola, come Skype o il client di posta.

Non voglio cambiare il sistema operativo, è una vostra scelta... voglio solo poter comunicare con il vostro protocollo server e darmi la possibilità di elaborare le informazioni di scambio sulla piattaforma che preferisco e poter controllare la connessione e controllare le informazioni che vengono pompate dal mio terminale, così come COSA e COME il processore fa la mia azienda.

Questo mi sembra ragionevole.