Mercato azionario. Azioni. Velocità di esecuzione degli ordini commerciali. - pagina 17

 
Andrey Miguzov #:

Supponiamo di avere a che fare con una "cucina". Potrebbero mandarci nei loro log che il tempo di esecuzione è di 1ms. Come controllarlo? Andate allo scambio e guardate l'ora lì - è l'unico modo per capire approssimativamente se stiamo mentendo o no.

L'ho fatto per diversi anni, dimostrando a MQ che hanno un problema con i ritardi, quando i ritardi erano fino a 1 sec,

c'era un dialogo, ma quando i ritardi "rotolavano" a 14-20 secondi, MQ fermava il dialogo.

Quindi, per sapere come è stato eseguito un ordine è necessario un registro completo degli ordini sulla borsa,

Senza di essa non si può provare nulla.

Leggi qui (allora lo scambio stava ancora dando dati, questo è il 2015)

https://www.mql5.com/ru/forum/38456/page23#comment_1445099

ФОРТС. Вопросы по исполнению
ФОРТС. Вопросы по исполнению
  • 2015.03.18
  • www.mql5.com
С большими проблемами удалось это сделать (начальник отдела по работе с профессиональными клиентами ДЦ Открытие Евгений Сергеевич,.
 
prostotrader #:

L'ho fatto per diversi anni, dimostrando a MQ che avevano un problema con i ritardi, quando i ritardi erano fino a 1 sec,

c'era un dialogo, ma quando i ritardi "salivano" a 14-20 secondi, MQ fermava il dialogo.

Quindi, per sapere come un ordine è stato realmente eseguito è necessario un registro completo degli ordini sulla borsa,

Senza di essa non si può provare nulla.

Leggi qui (allora lo scambio stava ancora dando dati, questo è il 2015)

https://www.mql5.com/ru/forum/38456/page23#comment_1445099

Ho seguito questo thread molto attentamente e l'ho anche riletto diverse volte.

Nessuno ci darà il registro completo (ancora).

Ma con l'algoritmo che ho descritto sopra (dove T2-T1) possiamo capire la caratteristica davvero molto importante del nostro TS - quanto tempo passa dal segnale sullo scambio - ad una transazione sullo scambio su questo segnale. E tutto secondo l'ora dello scambio (il nastro è lo stesso per tutti).

 
Andrey Miguzov #:

Aggiunto al post sopra.

L'algoritmo è il seguente:

Riceviamo un tick dalla borsa (tempo di tick secondo l'ora della borsa - T1)

Lo analizziamo e decidiamo di inviare un ordine di acquisto/vendita utilizzando il simbolo

Inviamo un ordine

Lo scambio lo esegue e fissa il tempo di esecuzione nella casella di spunta (tempo dello scambio - T2)

Mi interessa il tempo = T2-T1

Il tempo T2 è esattamente il tempo dello scambio, altrimenti ci saranno discrepanze con altre fonti, ho controllato - ovunque lo stesso.

Ma il tempo del tick T1, su cui si piazza l'ordine, non si sa da dove viene (non è il tempo di scambio), quindi è impossibile ottenere la risposta (T2-T1).

Qui è dove ho studiato il problema delle citazioni mancanti

https://www.mql5.com/ru/forum/381623#comment_25821280

Котировки Срочного рынка в МТ5
Котировки Срочного рынка в МТ5
  • 2021.11.10
  • www.mql5.com
Уважаемые модераторы! Перенесите, пожалуйста сообщения из темы "Клиринг по существу????* не относящиеся к клирингу, сюда...
 
prostotrader #:

Il tempo T2 è esattamente il tempo di scambio, altrimenti ci saranno discrepanze con altre fonti, ho controllato - è lo stesso ovunque.

Ma l'ora del tick T1, su cui si piazza l'ordine, non si sa da dove viene (non è l'ora di scambio), quindi è impossibile ottenere una risposta (T2-T1)

Qui è dove ho studiato il problema delle citazioni mancanti

https://www.mql5.com/ru/forum/381623#comment_25821280

Questo è il punto: il T1 è anche tempo di scambio. Ho controllato. Anche nei miei screenshot qui sopra si può vedere.

Il nastro delle transazioni viene trasmesso dalla borsa attraverso il broker al terminale. Quando arriva un tick (gruppo di tick), appare l'evento OnTick. Il tempo del tick coincide con il tempo del tick tape (e dello scambio rispettivamente). Il tempo della spunta sarà lo stesso per tutti.


C'è un piccolo problema qui - prendo il prezzo secondo il ticker, e il cambiamento del ticker non dà sempre OnTick. Ma l'errore, se c'è, sarà più alto.

 
Andrey Miguzov #:

Questo è il punto: il T1 è anche tempo di scambio. Ho controllato. Anche dai miei screenshot qui sopra si può vedere.

Il nastro delle transazioni viene trasmesso dalla borsa tramite il broker al terminale. Quando arriva un tick (gruppo di tick), appare l'evento OnTick. Il tempo del tick coincide con il tempo del tick tape (e dello scambio rispettivamente). Il tempo della spunta sarà lo stesso per tutti.


C'è un piccolo problema qui - prendo il prezzo secondo il ticker, e il cambiamento del ticker non dà sempre OnTick. Ma il margine di errore, se esiste, sarà più alto.

Non sono sicuro che il tempo di tick sia il tempo di stock.

struct MqlTick 
  { 
   datetime     time;          // Время последнего обновления цен 
   double       bid;           // Текущая цена Bid 
   double       ask;           // Текущая цена Ask 
   double       last;          // Текущая цена последней сделки (Last) 
   ulong        volume;        // Объем для текущей цены Last 
   long         time_msc;      // Время последнего обновления цен в миллисекундах 
   uint         flags;         // Флаги тиков 
   double       volume_real;   // Объем для текущей цены Last c повышенной точностью 
  };

Non è scritto dove l'aggiornamento nel terminale o nello scambio.

 
prostotrader #:

Non sono sicuro che il tempo di spunta sia il tempo di stock.

Non dice dove si trova l'aggiornamento nel terminale o nello scambio.

Sul server.

 
prostotrader #:

Non sono sicuro che il tempo che ticchetta sia il tempo delle azioni.

Non dice dove si trova l'aggiornamento nel terminale o nello scambio.

Ti rispondo con la tua stessa citazione (grazie per il link - l'argomento mi è sfuggito):

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Quotazioni del mercato dei futures MT5

prostotrader, 2021.11.20 17:05

Non si tratta affatto di gestori di eventi.

Ci sono due modi per trasmettere i prezzi migliori

1. Toccare la fetta

2. la tabella trasmette le informazioni sullo strumento insieme ai migliori prezzi.

Non ha alcuna importanza se l'evento è generato dal tumbler o dalle informazioni dello strumento.

L'importante è che le informazioni siano le stesse in tutti i terminali, e nella storia di diversi broker

è diverso, gli accordi sono gli stessi ovunque. Non conosco la differenza, ma ask e bid sono spesso diversi.

L'algoritmo per ottenere le domande e le offerte in entrambi i terminali MT5 di diversi broker è lo stesso, ecco perché concludo

che questo algoritmo non funziona correttamente. Mancano delle citazioni.


Facciamo in un altro modo.

Prendo il tempo T1 e T2 dall'alimentazione degli scambi. Non sappiamo esattamente che ora è, ma la fonte di riferimento è la stessa (altrimenti sarebbe un caos) e quindi possiamo stimare la differenza tra T1 e T2

Aggiunto:

C'è ancora più convinzione che il T1 sia il tempo dello scambio. Tutte le informazioni della zecca provengono dallo scambio. Perché preoccuparsi di generare del tempo sinistro se TUTTE le informazioni (compreso il tempo) provengono dallo scambio?

Inoltre, ho scritto - confermato dai log e dalle immagini delle transazioni su nastro

E un altro - se questo non è il momento dello scambio - non si può confrontare il nastro delle offerte per diversi broker. Ed è confrontato con alta precisione (ci sono alcuni difetti, ma è un'inezia). Se avessimo fonti temporali diverse - non saremmo in grado di confrontare.

 
Andrey Miguzov #:

Ti rispondo con la tua stessa citazione (grazie per il link - l'argomento mi è sfuggito):


Mettiamola in un altro modo.

Prendo il tempo T1 e T2 dal nastro commerciale. Non sappiamo esattamente che ora è, ma la fonte di riferimento è la stessa (altrimenti sarebbe il caos) e quindi possiamo stimare la differenza tra T1 e T2

Aggiunto:

C'è ancora più convinzione che il T1 sia il tempo dello scambio. Tutte le informazioni della zecca provengono dallo scambio. Perché preoccuparsi di generare del tempo sinistro se TUTTE le informazioni (compreso il tempo) provengono dallo scambio?

Inoltre, ho scritto - confermato dai log e dalle immagini delle transazioni su nastro

Come vuoi, ma 2 MT5 lavoreranno più velocemente di uno dei tuoi.

Il fatto è che per combinare tutti i dati delle diverse sezioni, avete bisogno di un vostro server speciale che trasmetta

informazioni da/a ASTS (sezione Stock) e Spectra (Forti), nonché importare sezioni e trasferirle in un terminale.

Poiché c'è un collegamento intermedio, ci sono inevitabili ritardi.

 

In realtà la questione è inserire una linea prima di inviare l'ordine:

Print(" Время тика: ", 
       TimeToString(last_tick.time,TIME_SECONDS), 
       ".", 
       (last_tick.time_msc)%1000, //добавляет мс в строку
       " по символу ", 
       name); //имя инструмента

e poi postare sul forum la scheda degli esperti e la scheda del registro per quel commercio.

Poi - cercherò di trovare l'affare nel deal feed. Questo, purtroppo, non è sempre possibile.

Idealmente non da un solo volume. E con il riempimento a prezzi diversi.

 
prostotrader #:

Sia come sia, 2 MT5 saranno più veloci di uno dei vostri.

Il fatto è che per combinare tutti i dati delle diverse sezioni, avete bisogno di un vostro server speciale che trasmetta

informazioni da/a ASTS (sezione Stock) e Spectra (Forti), nonché importare sezioni e trasferirle in un terminale.

Poiché c'è un collegamento intermedio, ci sono inevitabili ritardi.

D'accordo. Questo è così ed è triste :(

Si scopre che EBS è solo per le strategie per le quali il tempo di esecuzione di 100-200 ms non è critico.

Anche se, se si guarda a fondo, non ci sono tali strategie. Il profitto sarà sempre inversamente proporzionale al tempo di esecuzione.

Motivazione: