FORTES. Questões de aplicação da lei - página 79

 

Pensamentos gerais quando se trata de processos de baixa latência no comércio:

  • quando você vai a valores de 10 ms por rodada e abaixo, você não tem quase nenhuma garantia para a estabilidade da latência
  • se você tem um monte de redes à sua frente, a estabilidade da latência é um presente, não uma garantia
  • você não tem controle sobre as redes de seus pares, sua largura de banda e latência
  • para obter uma garantia, você tem que remover pessoalmente todos os intermediários da rede
  • para garantir, você tem que investir em seu hardware (largura de banda, computadores, roteadores) e controlar o caminho máximo
  • você tem que ser um nerd e um perfeccionista.


Os corretores e sistemas que são tecnogeeks estão claramente trabalhando em sua infra-estrutura tecnológica e investindo na melhoria da mesma. Mas nem todos estão fazendo isso, infelizmente.

 
Renat Fatkhullin:

O terminal mostra a hora local de registro/recepção do sinal em seu terminal, não a hora exata de cada etapa de execução no lado remoto.

Neste caso, você recebeu todas as respostas (tanto a confirmação do servidor MT5 quanto a confirmação da colocação do pedido na troca) ao mesmo tempo 029. Como há muitas redes entre vocês, não há garantia de que qualquer pacote será entregue a vocês instantaneamente no tempo mínimo de ping. Um pequeno congestionamento na rede ou uma falta de largura de banda na rede (por exemplo, no corretor) fará com que os pacotes se acumulem e depois sejam entregues em lotes.

É por isso que não se pode contar os tempos das diferentes etapas se houver algum problema com a rede. Em uma rede ideal, próxima ao servidor do corretor, ainda se pode confiar em alguma garantia de latência mínima e contar o tempo das etapas intermediárias.


A resposta "tenho uma rede perfeita, não posso reclamar" não é apropriada. Porque estamos falando de tempos completamente diferentes, que estão além da percepção humana em condições normais.

Isto é, como aqui:

2016.10.10 10:00:05.148 Trades  'xxxxx': buy limit 5.00 RTS-3.17 at 98850
2016.10.10 10:00:05.148 Trades  'xxxxx': sell limit 5.00 RTS-3.17 at 99780
2016.10.10 10:00:05.154 Trades  'xxxxx': accepted buy limit 5.00 RTS-3.17 at 98850
2016.10.10 10:00:05.154 Trades  'xxxxx': accepted sell limit 5.00 RTS-3.17 at 99780
2016.10.10 10:00:05.155 Trades  'xxxxx': buy limit 5.00 RTS-3.17 at 98850 placed for execution in 6.904 ms
2016.10.10 10:00:05.156 Trades  'xxxxx': sell limit 5.00 RTS-3.17 at 99780 placed for execution in 7.850 ms

Por que você não faz um registro simples, como por exemplo

O servidor comercial recebeu um pedido - tempo do servidor comercial

O servidor de troca deu à troca uma ordem - tempo do servidor de troca

O servidor comercial recebeu uma resposta da troca - o tempo do servidor comercial.

Então você teria encerrado de uma vez por todas este tópico de longa duração.

Adicionado.

E enviar esses tempos (os três) em vez de seremaceitos ecolocados para execução

 
Talvez o façamos no futuro.
 
Renat Fatkhullin:

Pensamentos gerais quando se trata de processos de baixa latência no comércio:

As perguntas parecem ser sobre centenas ou milhares de milissegundos.
 
fxsaber:
As perguntas pareciam ser sobre centenas e milhares de milissegundos.

Na prática, tendo construído uma boa infra-estrutura e desfrutando de 3-4 ms de execução por rodada com provadores de liquidez cuidadosamente montados, como um corretor maduro, as pessoas ficam pasmadas quando vêem picos periódicos de 700-1500 ms após entrarem em produção. E os construtores de sistemas perfeitos têm que viver com isso e se ajustar.

Portanto, esta é a realidade: não há garantia de estabilidade de latência mínima.

Especialmente em um ambiente com tantos estágios intermediários.

 
Renat Fatkhullin:
Você quer verificar?

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

FORTES. Perguntas sobre a execução

fxsaber, 2016.10.10 11:38

Aqui está uma ótima característica para que os desenvolvedores reproduzam os freios!

Agora não será possível dizer "não conseguimos ver os freios".

Os desenvolvedores devem começar a colocar pedidos de limite na abertura da sessão e monitorar o tempo de execução. Se eles virem lentidão, eles lidarão com isso localmente.

No momento, a situação é deprimente, infelizmente.

Em sua infra-estrutura. Lançando logs dos primeiros minutos do mercado aberto?
 
Renat Fatkhullin:

Na prática, tendo construído uma boa infra-estrutura e desfrutando de 3-4 ms de execução por rodada com provadores de liquidez cuidadosamente montados, sendo um corretor maduro, as pessoas ficam pasmadas ao verem picos periódicos de 700-1500 ms após entrarem em produção. E os construtores de sistemas perfeitos têm que viver com isso e se ajustar.

Portanto, esta é a realidade: não há garantia de estabilidade de latência mínima.

Especialmente em um ambiente com tantos estágios intermediários.

Desculpe Renat, mas não há como isto ser latência de rede:

2016.09.21 03:31:10.568 Terminal        Открытие Брокер MetaTrader 5 СР x64 build 1430 started (ОАО '' Брокерский дом '' ОТКРЫТИЕ'')

2016.09.21 17:30:00.156 Trades  'xxxxx': modify order #44620664 buy limit 5.00 ROSN-3.17 at 36438 sl: 0 tp: 0 -> 36470, sl: 0 tp: 0 placed for execution in 19.086 ms
2016.09.21 17:30:00.157 Trades  'xxxxx': buy limit 5.00 BR-12.16 at 47.66 placed for execution in 19.185 ms
2016.09.21 17:30:00.160 Trades  'xxxxx': deal #29616740 buy 5.00 BR-12.16 at 47.66 done (based on order #44620667)
2016.09.21 17:30:01.064 Trades  'xxxxx': exchange sell 5.00 BR-11.16 at market
2016.09.21 17:30:02.004 Trades  'xxxxx': cancel order #44620664 buy limit 5.00 ROSN-3.17 at 36470
2016.09.21 17:30:04.827 Trades  'xxxxx': accepted exchange sell 5.00 BR-11.16 at market
2016.09.21 17:30:04.827 Trades  'xxxxx': exchange sell 5.00 BR-11.16 at market placed for execution in 3764.451 ms
2016.09.21 17:30:04.829 Trades  'xxxxx': deal #29616752 sell 5.00 BR-11.16 at 47.33 done (based on order #44620682)
2016.09.21 17:30:05.799 Trades  'xxxxx': cancel order #44613523 sell limit 1.00 TRNF-3.17 at 149398
2016.09.21 17:30:07.929 Trades  'xxxxx': accepted cancel order #44620664 buy limit 5.00 ROSN-3.17 at 36470
2016.09.21 17:30:07.929 Trades  'xxxxx': cancel order #44620664 buy limit 5.00 ROSN-3.17 at 36470 placed for execution in 5926.927 ms
2016.09.21 17:30:08.738 Trades  'xxxxx': modify order #44620340 buy limit 1.00 TATN-3.17 at 32276 sl: 0 tp: 0 -> 32278, sl: 0 tp: 0
2016.09.21 17:30:08.775 Trades  'xxxxx': accepted cancel order #44613523 sell limit 1.00 TRNF-3.17 at 149398
2016.09.21 17:30:08.776 Trades  'xxxxx': cancel order #44613523 sell limit 1.00 TRNF-3.17 at 149398 placed for execution in 2977.588 ms
2016.09.21 17:30:09.585 Trades  'xxxxx': accepted modify order #44620340 buy limit 1.00 TATN-3.17 at 32276 sl: 0 tp: 0 -> 32278, sl: 0 tp: 0
2016.09.21 17:30:09.590 Trades  'xxxxx': modify order #44620340 buy limit 1.00 TATN-3.17 at 32276 sl: 0 tp: 0 -> 32278, sl: 0 tp: 0 placed for execution in 852.561 ms
2016.09.21 17:30:09.597 Trades  'xxxxx': modify order #44620340 buy limit 1.00 TATN-3.17 at 32278 sl: 0 tp: 0 -> 32312, sl: 0 tp: 0
2016.09.21 17:30:09.637 Trades  'xxxxx': accepted modify order #44620340 buy limit 1.00 TATN-3.17 at 32278 sl: 0 tp: 0 -> 32312, sl: 0 tp: 0
2016.09.21 17:30:09.638 Trades  'xxxxx': modify order #44620340 buy limit 1.00 TATN-3.17 at 32278 sl: 0 tp: 0 -> 32312, sl: 0 tp: 0 placed for execution in 40.658 ms
2016.09.21 17:30:10.053 Trades  'xxxxx': cancel order #44620340 buy limit 1.00 TATN-3.17 at 32312
2016.09.21 17:30:10.075 Trades  'xxxxx': accepted cancel order #44620340 buy limit 1.00 TATN-3.17 at 32312
2016.09.21 17:30:10.079 Trades  'xxxxx': cancel order #44620340 buy limit 1.00 TATN-3.17 at 32312 placed for execution in 25.974 ms
2016.09.21 17:30:44.537 Trades  'xxxxx': sell limit 1.00 BR-12.16 at 48.04
2016.09.21 17:30:44.669 Trades  'xxxxx': accepted sell limit 1.00 BR-12.16 at 48.04
2016.09.21 17:30:44.669 Trades  'xxxxx': sell limit 1.00 BR-12.16 at 48.04 placed for execution in 132.352 ms
2016.09.21 17:30:45.165 Trades  'xxxxx': sell limit 10.00 Si-6.17 at 70449
2016.09.21 17:30:45.179 Trades  'xxxxx': accepted sell limit 10.00 Si-6.17 at 70449
2016.09.21 17:30:45.180 Trades  'xxxxx': sell limit 10.00 Si-6.17 at 70449 placed for execution in 14.720 ms
 
fxsaber:
Você não pode simplesmente verificar?
sobre sua infra-estrutura. Lançando logs dos primeiros minutos do mercado aberto?

O que há para verificar se não temos praticamente nenhum controle sobre nada.

Eles já mostraram testes com prova de norma na abertura do mercado. Mas é um caso de uma coisa levar a outra, aparentemente.

Eu já disse várias vezes acima que não há garantia de estabilidade da latência.


Se fôssemos um corretor, seria uma questão diferente - não seríamos mesquinhos com a infra-estrutura mais eficiente e otimizaríamos o número máximo de rotas.

 
prostotrader:

Desculpe Renat, mas não há como isso poder ser latência de rede:

Você está levando em conta SOMENTE os atrasos de sua rede. Você está indo muito bem. E a alguns lúpulos de você, tudo está bem.

O problema está em outro lugar. Leia todos os itens acima, por favor. E talvez ler nas entrelinhas.

 
prostotrader:

Desculpe Renat, mas não há como isso poder ser latência de rede:

Merda, alguém pode me dizer se em outras plataformas esse tipo de bobagem com envios de pedidos de vários segundos acontece?