MQL5 vs QLUA - Por que operações de negociação no MQL5 são até 28 vezes mais rápidas? - página 4
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Se reformularmos o problema como "com que frequência o código MQL5 é chamado a partir do kernel do terminal", então tudo deve ser medido de forma errada:
Nesse caso, depois de construir um polígono, você pode realmente medir todas as despesas gerais das chamadas MQL5 e obter uma característica interessante. Como é nosso costume, então otimizamos tudo várias vezes.
Essa é uma tarefa interessante e vamos lidar com ela.
Eu consegui!Sim, nós temos.
Desculpe, eu não vi.
Se reformularmos o problema como "com que frequência o código MQL5 é chamado a partir do kernel do terminal", então tudo deve ser medido de forma errada:
Nesse caso, depois de construir um polígono, você pode realmente medir todas as despesas gerais das chamadas MQL5 e obter uma característica interessante. Como é nosso costume, então otimizamos tudo várias vezes.
Essa é uma tarefa interessante e nós a faremos.
Obrigado por não deixar essas coisas nerds sem atenção!
Provavelmente, precisamos de uma compilação separada para medir a velocidade de chegada dos pacotes de cotação. Exatamente o que eu queria medir.
Por favor, faça outro teste de velocidade do MT5 em uma conta real
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Testando o 'CopyTicks'
fxsaber, 2016.09.13 11:11 AM
Se, por meio do OrderSendAsync, enviarmos dois limitadores (BuyLimit1_price < BuyLimit2_price) dentro do spread, a bolsa gerará dois ticks consecutivos com melhoria do preço de compra ao mesmo tempo (com precisão de 1 ms)?
Deixe-me explicar o que isso fará.
Quando a BuyLimit1 for enviada dentro do spread, um tick nos chegará da bolsa com o horário de seu nascimento (ele gerará um novo Bid). Depois de BuyLimit2 - outro tick com sua hora de nascimento. A diferença entre esses dois tempos é a característica de velocidade da entrega das ordens de negociação do MT5 para a bolsa.
Para obter perdas monetárias mínimas com esse experimento, você pode enviar não dois BuyLimits de forma assíncrona, mas BuyLimit e SellLimit dentro do spread e escolher algum instrumento de negociação com pouca liquidez.
Antes de comparar, precisamos "terminar" todo o complexo de operações de negociação
(recebimento de dados, justificativa de transações, recebimento de confirmação de transações).
Adicionado Build 1395, real
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
FORTES. Perguntas sobre execução
Renat Fatkhullin, 2016.08.23 16:35
Você só precisa esperar de 5 a 10 ms e tentar novamente.
O problema é que você recebe a confirmação da transação imediatamente, mas os detalhes completos da transação chegam de forma assíncrona depois disso. Isso pode levar de 0 a N ms, geralmente dentro de 1-2 ms (depende do ping, é claro).
Antes de comparar, precisamos "terminar" todo o complexo de operações de negociação
(recebimento de dados, justificativa de transações, recebimento de confirmação de transações).
Adicionado Build 1395, real
Acabei de fazer uma operação semelhante manualmente: 11,7 ms
Você não quer ver o relatório real, mas usa seu próprio método defeituoso de medir o tempo da transação.
E não quer admitir seus erros, preferindo acreditar em números monstruosos de seu script errôneo.
Acabei de fazer uma operação semelhante manualmente: 11,7 ms.
Do que você está falando, Renate?
Esse é um trecho do registro do Temninal, não do meu próprio registro!
Devido a essa circunstância, é necessário ajustar ligeiramente a comparação com o QLUA, não a favor do MT5.
Não há necessidade de ajustar nada. Minha frase foi para o caso geral "na sua Internet e seu ping pode ser qualquer coisa e, na realidade, dependendo da sua rede, você obterá uma transação em 0-N ms". E é mais provável que seja 0 ms do que mais.
Aqui está o código de verificação com controle de todas as transações no modo assíncrono:
Aqui está o resultado em uma conta real agora mesmo:
Você deve lê-lo de baixo para cima.
Ele mostra todos os estágios das transações com o total cumulativo do tempo gasto desde o início. Por tipos de transação, você pode ver o que foi adicionado ao terminal e quando.
O tempo total é de 11,45 ms.