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
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Recursos da linguagem mql4, sutilezas e técnicas de trabalho
fxsaber, 2017.09.11 20:29
Abaixo será abordado o tópico, que diz respeito não apenas ao MT4, mas também ao MT5 com outras plataformas. Mas para facilitar a percepção, a lógica será escrita em MQL4, portanto, neste tópico.
Discussão diretamente relacionada à biblioteca.
posição aberta são aceitos pelo servidor de negociação, é gerada a ordem de mercado correspondente, que fica na tabela de ordens abertas do MT5 até ser executada.
Portanto, no MT5, mesmo em MQL5 puro, a modificação/exclusão de tais ordens é impossível e a lógica de negociação do MT5 requer a verificação se uma ordem aberta está realmente congelada ou não.
A seguir, mostramos a condição para identificar essas ordens ao escrever a lógica de negociação no MT4Orders e um exemplo de seu acionamento
Resultado
Você pode ver que a ordem TP estava suspensa entre as ordens abertas por mais de um quarto de segundo. Qualquer tentativa de modificá-la/excluí-la causaria erros.
Leve em conta esse recurso do MT5 (não apenas quando estiver trabalhando com o MT4Orders).
posição aberta são aceitos pelo servidor de negociação, é gerada a ordem de mercado correspondente, que fica na tabela de ordens abertas do MT5 até ser executada.
Portanto, no MT5, mesmo em MQL5 puro, a modificação/exclusão de tais ordens é impossível e a lógica de negociação do MT5 requer a verificação se uma ordem aberta está realmente congelada ou não.
Abaixo, você pode ver a condição para identificar essas ordens ao escrever a lógica de negociação no MT4Orders e um exemplo de seu acionamento
Você pode ver que a ordem TP ficou suspensa entre as ordens abertas por mais de um quarto de segundo. Qualquer tentativa de modificá-la/excluí-la causaria erros.
Leve em conta esse recurso do MT5 (não apenas quando estiver trabalhando com o MT4Orders).
A verificação dessa condição agora está incorporada à biblioteca, e você pode trabalhar como no MT4
Nunca vi essa variedade em nenhuma outra plataforma).
O parâmetro ORDER_STATE desempenha um papel ainda mais importante. Para ordens SL/TP, ele é ORDER_STATE_STARTED. Mas você nunca deve ignorar todos os ORDER_STATE_STARTED (leva muito tempo para explicar). É por isso que é errado confiar em ORDER_STATE, mas ORDER_REASON é necessário.
ORDER_STATE é uma história diferente. Suponha que uma posição seja aberta parcialmente a partir de uma ordem pendente, e o restante da ordem ainda esteja pendente. Então, há uma transação no histórico, mas a ordem em si ainda não está lá. Se a ordem for totalmente preenchida, para entender que a primeira transação gerada por ela foi aberta parcialmente, não será possível consultar o ORDER_STATE da ordem que a originou.
De qualquer forma, há muitas situações em que esse STATE realmente..... Temos que introduzir OrderOpenState() e OrderCloseSate() humanos, mas é uma dor de cabeça (e poucas pessoas os usarão). E, é claro, ainda é um simples quebra-cabeça. Há muitos deles, e alguns nem sequer são suspeitos. Em suma, é bom poder desvendar parcialmente o estado de funcionamento e a forma humana quase sem perda de produtividade. Acho que a biblioteca atende a mais da metade das necessidades.
O parâmetro ORDER_STATE desempenha um papel ainda mais importante. Para ordens SL/TP, ele é ORDER_STATE_STARTED. Mas você nunca deve ignorar todos os ORDER_STATE_STARTED (leva muito tempo para explicar). É por isso que é errado confiar em ORDER_STATE, mas ORDER_REASON é necessário.
ORDER_STATE é uma história diferente. Suponha que uma posição seja aberta parcialmente a partir de uma ordem pendente, e o restante da ordem ainda esteja pendente. Então, há uma transação no histórico, mas a ordem em si ainda não está lá. Se a ordem for totalmente preenchida, para entender que a primeira transação gerada por ela foi aberta parcialmente, não será possível consultar o ORDER_STATE da ordem que a originou.
De qualquer forma, há muitas situações em que esse STATE realmente..... É necessário introduzir OrderOpenState() e OrderCloseSate() humanos, mas isso é um quebra-cabeça (e poucas pessoas o usarão). E, é claro, ainda é um quebra-cabeça simples. Há muitos deles, e alguns nem sequer são suspeitos. Em suma, é bom poder desvendar parcialmente o estado de funcionamento e a forma humana quase sem perda de produtividade. Acho que a biblioteca satisfaz mais da metade das minhas necessidades.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Expert Advisors: Quantum 103
fxsaber, 2017.09.26 09:55 pm.
Variante de plataforma cruzada do Expert AdvisorResultado do backtest em ticks reais no MT5
Anexei o relatório de backtest do MT5 no estilo MT4 porque o relatório padrão é difícil de ler - veja ambos no trailer.
Você pode ver claramente o impacto das derrapagens e das comissões no resultado do backtest do MT5 desse EA.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Советники: Quantum 103
fxsaber, 2017.09.26 09:55
Versão multiplataforma do Expert AdvisorResultado do backtest em ticks reais no MT5
Relatório anexado no estilo MT4 MT5-backtest, porque o relatório padrão é lido com dificuldade - veja ambos no anexo.
Você pode ver claramente o impacto no resultado do backtest MT5 da derrapagem e da comissão desse consultor.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Expert Advisors: Exibir ordens
fxsaber, 2017.10.09 13:22
Variante de plataforma cruzadaFórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Consultores especializados: Xarax
fxsaber, 2017.10.11 13:44
Variante de plataforma cruzada