![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
E quais funções MT4Orders são utilizadas - assíncronas (OrderSendAsync, OrderCloseAsync) ou não? Este é provavelmente o problema.
Não investiguei, apenas conectei, verifiquei a velocidade, comparei com o código original no mql5, excluí o original e deixei apenas a biblioteca com o código mql4
Não o entendi, apenas o liguei, verifiquei a velocidade, comparei com o código original no mql5, excluí o original e deixei apenas a biblioteca com o código mql4
Não estou perguntando sobre os detalhes da biblioteca, mas como ela tem sido usada, para entender o problema. Em geral, eu dei uma dica.
Eu não estava perguntando sobre o interior da biblioteca, estava perguntando como ela era usada, para ver o que estava causando o problema. De qualquer forma, eu dei uma dica.
O problema não é como usar a biblioteca.
O problema é que não temos uma posição complexa no MT4, temos ordens. E o resultado do fechamento de uma dúzia de pedidos será o mesmo que o mostrado acima.
A propósito, não há tal efeito no testador. E não temos isso na demonstração. Mas nós o temos na conta real.
Neste caso, a migração de código de mql4 para mql5 e de volta "1 para 1" é impossível.
O trabalho com pedidos em mql4 deve ser organizado adequadamente às possibilidades do mql4.
Não há como dizer aqui:
O único grande inconveniente do MT4 ...
É que o mql4 tem algumas características e o mql5 tem outras características. Neste caso particular, o mql5 tem a vantagem. Mas o problema pode ser resolvido normalmente com mql4.
O problema não é como usar a biblioteca.
O problema é que no MT4 não há posição agregada, há ordens. E o fechamento de uma dúzia de pedidos terá o efeito mostrado.
A propósito, não há tal efeito no testador. E não temos isso na demonstração. Mas nós o temos na conta real.
Neste caso, a migração de código de mql4 para mql5 e de volta "1 para 1" é impossível.
O trabalho com pedidos em mql4 deve ser organizado adequadamente às possibilidades do mql4.
Não há como dizer aqui:
É que o mql4 tem algumas características e o mql5 tem outras características. Neste caso particular, o mql5 tem a vantagem. Mas este problema pode ser resolvido normalmente em mql4.
O que pode ser acelerado no MT4?
O problema não é como usar a biblioteca.
O problema é que no MT4 não há posição agregada, há ordens. E fechar uma dúzia de pedidos tem o efeito mostrado.
É apenas razoável comparar a MT4 com uma conta de cobertura da MT5 (neste caso é apenas um sistema de negociação deste tipo). E o que isso tem a ver com a posição agregada? Em MT5 haverá exatamente a mesma pilha de posições = equivalentes a quad ordens. De qualquer forma, você está tirando a conversa do problema novamente.
O que pode ser acelerado no MT4?
Eu sugeri acima a substituição por funções XXXAsync. Não tenho certeza se vai ajudar, mas por que não tentar?
Eu sugeri acima a substituição por funções XXXAsync. Não tenho certeza se vai ajudar, mas por que não tentar?
Provavelmente está um pouco fora de moda. Não tenho nenhum problema em MT5 com este código, e usando <MT4Orders>, tudo se fecha instantaneamente.
Há um problema no MT4, mas lá por razões óbvias e não é necessário <MT4Orders>, há o mais simples código quádruplo. Tenho mais de cem deles, tenho screenshots. Às vezes, ele desliza a meu favor, e com bastante freqüência, se um fechamento começou e o preço seguiu em frente. Não sei com o que está relacionado, mas provavelmente se deve à seqüência de envio de pedidos.
Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial
Por que a Metaquotes escorrega o MT5 em vez do MT4?
Vitaly Muzichenko, 2017.09.23 20:50
O que pode ser acelerado no MT4?
No mínimo:
A normalização do valor do preço só é necessária quando são realizadas operações matemáticas sobre o mesmo. Quando um valor é adicionado ou subtraído do preço.
Provavelmente, um pouco fora de moda. Não tenho nenhum problema em MT5 com este código, e usando <MT4Orders>, tudo se fecha instantaneamente.
Há um problema no MT4, mas lá por razões óbvias e não é necessário <MT4Ordens>, há o mais simples código quádruplo. Tenho mais de cem deles, tenho screenshots. Às vezes, ele desliza a meu favor, e com bastante freqüência, se um fechamento começou e o preço seguiu em frente. Não sei com o que está relacionado, mas provavelmente é a seqüência de envio do pedido.
Sim, a culpa é minha - eu sou burro.
A variante da solução é a seguinte: em vez de fechar vários pedidos, eu coloco um volume total do contador, e então chamo OrderCloseBy várias vezes até a destruição mútua.
A solução é a seguinte: em vez de fechar várias ordens, colocar um volume total de contra-processos e depois chamar OrderCloseBy várias vezes até a destruição mútua.
Esta variante funciona, infelizmente, apenas para um símbolo.
É estranho que ninguém tenha acrescentado funções de ordem assíncrona ao MT4 kodobase ao longo dos anos.