Publicidade
Minha conexão com o MetaTrader é rápida o suficiente?
Esta é uma das áreas que mais preocupa os usuários do MetaTrader e, ao mesmo tempo, é uma das mais neglicenciadas pela maioria.
Para entender melhor o que você deve fazer, ou até mesmo não fazer, para ter o melhor balanceamento entre custo x benefício, é necessário entender como sua conexão influencia nos seus trades.
Continua depois da publicidade
Existe uma medida utilizada para medir a velocidade entre dois computadores distantes. Esta medida se chama latência. Sem tentar complicar muito nem entrar em detalhes que não fazem sentido neste momento, vou utilizar um exemplo de quando você faz uma busca no Google. A resposta desta busca não vem exatamente no mesmo instante, e isso acontece por que você recebe do Google vários pacotes de dados, que individualmente não fazem nenhum sentido, mas o seu computador (ou qualquer dispositivo que esteja usando) os reune na ordem correta, formando assim o resultado da sua busca.
Estes pacotes levam um determinado tempo para sair dos servidores do Google e chegarem ao seu computador. Este tempo é chamado de latência.
Agora que nivelamos o conhecimento e sabemos exatamente o que é latência, vamos entender o que ela representa nos nossos robôs.
Continua depois da publicidade
Quando você tem um robô rodando no seu MetaTrader, assim que as condições de entrada ou saída de uma operação, o seu robô vai enviar uma ordem para o servidor MetaTrader da sua corretora. A latência entre o seu MetaTrader e o servidor da corretora vai determinar o tempo que a ordem vai levar para chegar ao servidor.
Sem entrar em maiores detalhes, o caminho normal da sua ordem será:
Ida
Continua depois da publicidade
SEU MT5 >> MT5 CORRETORA >> BOLSA
Volta
SEU MT5 << MT5 CORRETORA <<BOLSA
Continua depois da publicidade
Na maioria das corretoras, o servidor MetaTrader possui latência extremamente baixa com a bolsa, então, a não ser que você esteja utilizando um robô HFT (high frequency trading), você não deve se precupar com isto.
Certo, então devo me preocupar com a latência do meu MetaTrader até a corretora, correto?
Agora que vem a grande surpresa: NÃO NECESSARIAMENTE!!!
Continua depois da publicidade
Tudo vai depender do tipo de robô que você está utilizando.
Você já vai conseguir responder se o seu robô precisa de latência alta ou baixa. Já vamos chegar lá.
Antes disto vamos ver como está a sua latência atual.
Entre no seu Metatrader, vá em Arquivo -> Abrir uma Conta
Você verá uma lista dos servidores que você está conectado, e ao lado dele vai aparecer um número. Este número é a quantidade de milissegundos que o seu MetaTrader leva para se comunicar com o servidor MetaTrader da sua corretora.
Medida de um notebook comum em San Diego/Califórnia conectado na Corretora XP no Brasil.
Este número varia muito. Já consegui velocidades menores que 2ms usando servidores na Amazon São Paulo, mas também me deparei com mais de 530ms do meu notebook aqui em San Diego na California. Em ambos os casos, a conexão era com a corretora XP.
Antes que eu me esqueça, estes números querem dizer que o seu Metatrader leva esta quantidade de milissegundos para ir até o servidor e também para voltar, então você deve sempre pensar em quanto tempo leva para fazer o caminho completo, ida e volta.
Mas ter uma latência extremamente alta, como mais de 500ms, faz perder performance operacional? Em certos casos sim, em outros, não faz a mínima diferença.
Então antes de sair contratando servidores caros só por causa da velocidade de comunicação com a corretora, conheça melhor o seu robô para saber se faz sentido gastar mais.
Vamos a um exemplo:
Independente da estratégia que o seu robô utilize, digamos que ele identificou uma entrada no mercado e calculou o ponto de entrada, de stop e de saída. Note que antes de entrar no mercado o robô já sabe exatamente o preço que quer entrar e que quer sair, seja no lucro ou no prejuizo. Se o seu robô trabalha com ordens limitadas, ou seja, ele não coloca ordens a mercado e sim posiciona elas no book de oferta para serem executadas, você concorda que milissegundos a mais ou a menos tem pouca importância? Preste atenção em quanto tempo a ordem demora para ser executada depois que ela foi enviada ao book de ofertas. Na grande maioria dos casos você vai se surpreender porque a latência não vai ter nenhum impacto.
Poderia dar inúmeros casos aqui, mas para simplificar, eu uso o seguinte critério: o único tipo de robô que me faz pagar mais caro para ter latência extremamente baixa é um robô scalper. Se você usar robôs HFTs provavelmente você vai ter que contratar uma estrutura completa e isto é outro papo.
Os outros eu nem me preocupo, porque sei que alguns milissegundos não vão fazer a diferença.
Este assunto é praticamente interminável, mas espero que com estas informações básicas que passei você consiga entender um pouco mais sobre a importância da latência e saiba escolher o local correto para hospedar os seus robôs.
E se você usa robôs de terceiros, nunca deixa de perguntar ao fabricante o que ele recomenda!