Mercado de ações. Estoques. Rapidez na execução de ordens comerciais. - página 17

 
Andrey Miguzov #:

Suponha que estejamos lidando com uma "cozinha". Eles podem nos enviar em seus registros que o tempo de execução é de 1ms. Como verificá-lo? Vá até a troca e veja o tempo lá - é a única maneira de entender de forma aproximada se estamos mentindo ou não.

Há vários anos venho fazendo isso, provando à MQ que eles têm um problema com atrasos, quando os atrasos eram de até 1 segundo,

houve um diálogo, mas quando os atrasos "rolaram" para 14-20 segundos, a MQ parou o diálogo.

Portanto, para saber como uma ordem foi realmente executada, você precisa de um registro completo de ordens na troca,

Sem ele você não pode provar nada.

Leia aqui (na época a troca ainda estava dando dados, isto é 2015)

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

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

Há vários anos venho fazendo isso, provando à MQ que eles tinham um problema com atrasos, quando os atrasos eram de até 1 segundo,

houve um diálogo, mas quando os atrasos "rolaram" para 14-20 segundos, o MQ parou o diálogo.

Portanto, para saber como uma ordem foi executada, você precisa de um registro completo de ordens na troca,

Sem ele você não pode provar nada.

Leia aqui (na época a troca ainda estava dando dados, isto é 2015)

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

Segui muito de perto esta linha e até reli-la várias vezes.

Ninguém nos dará o registro completo (ainda).

Mas pelo algoritmo que descrevi acima (onde T2-T1) podemos realmente entender uma característica muito importante de nosso TS - quanto tempo passa do sinal na troca - para uma transação na troca por este sinal. E tudo de acordo com o momento da troca (a fita é a mesma para todos).

 
Andrey Miguzov #:

Adicionado ao posto acima.

O algoritmo é o seguinte:

Recebemos um tick da troca (tick time de acordo com o tempo de troca - T1)

Analisamos o pedido e decidimos enviar um pedido de compra/venda usando o símbolo

Enviamos um pedido

A troca o executa e fixa o tempo de execução na caixa de tick-box (hora da troca - T2)

Estou interessado no tempo = T2-T1

O tempo T2 é exatamente o momento da troca, caso contrário haverá discrepâncias com outras fontes, eu verifiquei - em todos os lugares o mesmo.

Mas o tempo do tick T1, no qual você faz o pedido, não é conhecido de onde ele vem (não é tempo de troca), então é impossível obter a resposta (T2-T1).

Foi aqui que estudei o problema das citações ausentes

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

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

O tempo T2 é exatamente o mesmo que o tempo de troca, caso contrário haverá discrepâncias com outras fontes, eu verifiquei - é o mesmo em todos os lugares.

Mas o tempo do tick T1, no qual você faz o pedido, não é conhecido de onde ele vem (não é tempo de troca), então é impossível obter uma resposta (T2-T1)

Foi aqui que estudei o problema das citações ausentes

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

A questão é essa - T1 também é tempo de troca. Eu o verifiquei. Mesmo nas imagens acima, você pode vê-lo.

A fita adesiva dos negócios é transmitida da troca via corretora para o terminal. Quando chega um tick (grupo de carrapatos), aparece o evento OnTick. O tempo de carrapato coincide com o tempo de carrapato (e troca, respectivamente). O tempo do tique será o mesmo para todos.


Há um pequeno problema aqui - eu tomo o preço de acordo com o ticker, e a mudança do ticker nem sempre dá OnTick. Mas o erro, se houver, será maior.

 
Andrey Miguzov #:

A questão é essa - T1 também é tempo de troca. Eu o verifiquei. Mesmo a partir de minhas capturas de tela acima, você pode vê-lo.

A fita adesiva dos negócios é transmitida da bolsa através do corretor para o terminal. Quando chega um tick (grupo de carrapatos), aparece o evento OnTick. O tempo de carrapato coincide com o tempo de carrapato (e troca, respectivamente). O tempo do tique será o mesmo para todos.


Há um pequeno problema aqui - eu tomo o preço de acordo com o ticker, e a mudança do ticker nem sempre dá OnTick. Mas a margem de erro, se houver, será maior.

Não tenho certeza, de que o tempo de carrapato seja o tempo de estoque.

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 повышенной точностью 
  };

Não está escrito onde a atualização é feita no terminal ou na troca.

 
prostotrader #:

Não tenho certeza se o tempo de fazer tick-tack é tempo de estoque.

Ele não diz onde a atualização está no terminal ou na troca.

No servidor.

 
prostotrader #:

Não tenho certeza se o tempo de carrapato é o tempo de estoque.

Ele não diz onde a atualização está no terminal ou na troca.

Responderei com sua própria citação (obrigado pelo link - o assunto passou por mim):

Fórum sobre comércio, sistemas comerciais automatizados e estratégias comerciais de teste

Cotações de mercado futuro MT5

prostotrader, 2021.11.20 17:05

Não se trata de manipuladores de eventos de forma alguma.

Há duas maneiras de transmitir os melhores preços

1. Fatia da torneira

2. A tabela transmite as informações sobre o instrumento juntamente com os melhores preços.

Não importa se o evento é gerado pelo secador ou pelas informações do instrumento.

O importante é que as informações são as mesmas em todos os terminais e na história dos diferentes corretores.

é diferente, os acordos são os mesmos em todos os lugares. Não sei sobre a diferença, mas perguntar e licitar são muitas vezes diferentes.

O algoritmo para obter os pedidos e ofertas em ambos os terminais MT5 em diferentes corretores é o mesmo, é por isso que eu concluo

que este algoritmo não funciona corretamente. Faltam citações.


Vamos fazer de outra forma.

Eu tomo o tempo T1 e T2 da alimentação dos ofícios. Não sabemos exatamente que horas são, mas a fonte de referência é a mesma lá (caso contrário seria o caos) e assim podemos estimar a diferença entre T1 e T2

Adicionado:

Há ainda mais a crença de que T1 é o momento da troca. Todas as informações do tick são provenientes da troca. Por que se preocupar em gerar algum tempo restante se TODAS as informações (incluindo o tempo) vêm do intercâmbio?

Além disso, eu escrevi - confirmado pelos logs e imagens das transações em fita

E outro - se este não for o momento da troca - não se pode comparar a fita de acordos para diferentes corretores. E é comparado com a alta precisão (há algumas falhas, mas é uma bagatela). Se tivéssemos diferentes fontes de tempo - não seríamos capazes de comparar.

 
Andrey Miguzov #:

Responderei com sua própria citação (obrigado pelo link - o tópico passou por mim):


Vamos colocar isto de outra forma.

Eu levo tempo T1 e T2 da fita comercial. Não sabemos exatamente que horas são, mas a fonte de referência é a mesma lá (caso contrário seria o caos) e, portanto, podemos estimar a diferença de T1 e T2

Adicionado:

Há ainda mais a crença de que T1 é o momento da troca. Todas as informações do tick são provenientes da troca. Por que se preocupar em gerar algum tempo restante se TODAS as informações (incluindo o tempo) vêm do intercâmbio?

Além disso, eu escrevi - confirmado pelos registros e imagens da alimentação dos negócios.

Tanto faz, mas 2 MT5 funcionará mais rápido que um dos seus.

O problema é que, para combinar todos os dados de diferentes seções, você precisa de seu próprio servidor especial que irá transmitir

informações de/para ASTS (seção estoque) e Spectra (Forts), assim como as seções de importação e transferi-las para um terminal.

Como há um elo intermediário, há atrasos inevitáveis.

 

Na verdade, toda a questão é inserir uma linha antes de enviar o pedido:

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

e depois colocar no fórum a guia de especialistas e a guia de registro para esse comércio.

A seguir - Vou tentar encontrar o acordo na alimentação do negócio. Isto, infelizmente, nem sempre é possível.

O ideal não é por um único volume. E com preenchimento a preços diferentes.

 
prostotrader #:

Seja como for, 2 MT5s serão mais rápidos que um dos seus.

O problema é que, para combinar todos os dados de diferentes seções, você precisa de seu próprio servidor especial que irá transmitir

informações de/para ASTS (seção estoque) e Spectra (Forts), bem como as seções de importação e transferi-las para um terminal.

Como há um elo intermediário, há atrasos inevitáveis.

De acordo. Isto é assim e isso é triste :(

Acontece que o PBE é apenas para estratégias para as quais o tempo de execução de 100-200 ms não é crítico.

Embora, se você analisar a fundo - não existem tais estratégias. O lucro será sempre inversamente proporcional ao tempo de execução.