Erros, bugs, perguntas - página 2186
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
Pergunta MT4.
Já encontrei isto uma vez antes e tropeçei novamente com este insecto num teste HFT.
Eu estabeleço BuyLimit, o preço decompõe-se e fica em baixo durante muitos minutos. Ao mesmo tempo, o BuyLimit é amarelo aceso mas "não executado".
Tentativas de modificação
Quando a vi, lembrei-me desta situação há muito tempo atrás. A receita então e como acabou por se revelar agora é sempre a mesma - voltar a ligar. Após o contacto, verifica-se que BuyLimit tem sido há muito tempo (desde o momento da travessia) uma posição Buy.
Ao mesmo tempo, antes do restabelecimento da ligação, podíamos negociar outras encomendas e tudo estava bem com elas, apenas a BuyLimit pairava.
Acontece que não há notificação no terminal MT4 de que BuyLimit se tenha tornado uma posição de compra. E, consequentemente, é uma chatice até se fazer um novo login.
Tenho de me lembrar como resolvi esta situação. Mas tenho 99% de certeza de que em caso de erros ou odores apenas fui forçado a relogar através do WinAPI.
Faz sentido escrever a SD sobre o assunto, uma vez que afinal é MT4? Não tenho notado nada disso em 5.
Parece ser da mesma ideia:
Olá! No MT4, quando se apaga uma ordem de limite colocada dentro do spread, muitas vezes surge uma situação de erro - a ordem a ser apagada fica pendurada, o que só pode ser resolvido recarregando o terminal. Tanto quanto entendi o mecanismo , ele ocorre da seguinte forma:
1 ) Fixamos um limite dentro do spread, próximo do preço Ask (para ordens de compra Limit) ou Bid (para ordens devenda Limit) e após algum tempo tentamos apagá-lo.
2 ) Enviamos um comando OrderDelete(), enquanto este comando vai para o servidor, a ordem pode já ser executada no servidor (está dentro do spread, muito próximo do preço de activação). Parece que quando o comando chega ao servidor, será aplicado à ordem de mercado e obteremos um erro no terminal e uma ordem congelada. Neste caso, a ordem no terminal permanece uma ordem limite (também definida como uma ordem limite pela função OrderType()) e só aparecerá como uma ordem de mercado após um reinício do terminal. Se continuar a apagá-lo como limite , verá um erro no registo do Expert Advisor com o código: 3, e no registo do terminal:[Parâmetrosinválidos ]. Na verdade, não são possíveis acções com tal ordem suspensa - é uma ordem limitada no terminal do cliente e uma ordem de mercado no servidor . A encomenda também não pode ser apagada manualmente.
Anexei uma EA simplificada (apenas para Buy Limit), para reprodução de erros e um perfil com 8 EA instalados em paralelo (o erro aparece mais rapidamente do que se o erro for apanhado por uma EA - embora também ocorra com uma EA instalada). A ordem de compra é fixada em 1 ponto de cinco dígitos abaixo do preço Ask e é removida após 1 segundo após ter sido fixada. Se definir uma encomenda mesmo 5 pontos abaixo do preço de pedido e a eliminar após qualquer número de segundos/minutos/horas, o erro continuará a acontecer de vez em quando, apenas com menos frequência porque o mecanismo da sua aparência não muda.
É necessário iniciar o terminal e aguardar que a ordem pendente apareça. Normalmente não se deve esperar mais do que uma hora, dependendo da actividade do mercado.
Aplicação aberta, Início: 2017.06.06.12:37, #1766459
Em Outubro de 2017, fui escrito por servicedesk que eles conseguiram reproduzir esta situação e que estavam a trabalhar numa solução para o problema. E desde então tem havido silêncio...
produto não pode ser descarregado do mercado, o que posso fazer?
Tente novamente.
Isto é da mesma linha, como parece:
Olá! No MT4, quando se apaga uma ordem limite localizada dentro de um spread, há frequentemente uma situação de erro - a ordem apagada fica pendurada, que só pode ser curada reiniciando o terminal. Tanto quanto entendi o mecanismo , ele ocorre da seguinte forma:
1 ) Fixamos um limite dentro do spread, próximo do preço Ask (para ordens de compra Limit) ou Bid (para ordens devenda Limit) e após algum tempo tentamos apagá-lo.
2 ) Enviamos um comando OrderDelete(), enquanto este comando vai para o servidor, a ordem pode já ser executada no servidor (está dentro do spread, muito próximo do preço de activação). Parece que quando o comando chega ao servidor, será aplicado à ordem de mercado e obtemos um erro no terminal e uma ordem congelada. Neste caso, a ordem no terminal permanece uma ordem limite (também definida como uma ordem limite pela função OrderType()) e só aparecerá como uma ordem de mercado após um reinício do terminal. Se continuar a apagá-lo como limite , verá um erro no registo do Expert Advisor com o código: 3, e no registo do terminal:[Parâmetrosinválidos ]. Na verdade, não são possíveis acções com tal ordem suspensa - é uma ordem limitada no terminal do cliente e uma ordem de mercado no servidor . A encomenda também não pode ser apagada manualmente.
Anexei uma EA simplificada (apenas para Buy Limit), para reprodução de erros e um perfil com 8 EA instalados em paralelo (o erro aparece mais rapidamente do que se o erro for apanhado por uma EA - embora também ocorra com uma EA instalada). A ordem de compra é fixada em 1 ponto de cinco dígitos abaixo do preço Ask e é removida após 1 segundo após ter sido fixada. Se definir uma encomenda mesmo 5 pontos abaixo do preço de pedido e a eliminar após qualquer número de segundos/minutos/horas, o erro continuará a acontecer de vez em quando, apenas com menos frequência porque o mecanismo da sua aparência não muda.
É necessário iniciar o terminal e aguardar que a ordem pendente apareça. Normalmente não se deve esperar mais do que uma hora, dependendo da actividade do mercado.
Aplicação aberta, Início: 2017.06.06.12:37, #1766459
Em Outubro de 2017, fui escrito por servicedesk que eles conseguiram reproduzir esta situação e que estavam a trabalhar numa solução para o problema. E, desde então, tem havido silêncio....
Muito bem feito por ter chegado ao fundo da questão, incluindo a reprodução! De facto, o ambiente comercial no Terminal ainda não está sincronizado com o Trade Server.
No entanto, não houve actualizações após Maio de 2017 (build 1090) e o problema foi reproduzido em Outubro. O timing é difícil de dizer, mesmo para o MT5, e ainda mais para o 4.
Aparentemente, os criadores não consideraram este bug crítico. Penso que é inaceitável. Penso que é inaceitável, porque quase ninguém trabalha com ordens de limite e dentro do spread.
ZZY Na sua candidatura à CBO, diga olá da minha parte. Talvez seja banal, eles esqueceram-se.
porque diz Backtest quando se guarda um relatório comercial?
Este é o relatório do separador "Backtest" no testador de estratégias, certo?
Este é o relatório do separador "Backtest" no testador de estratégias, certo?
É apenas uma forma oculta de promover o seu relatório.
Pode dizer-me por favor qual é o erro?
(2018.04.10 15:20:13.844 A versão de depuração do "MQL5\Experts\Probe5.ex5" pode ser optimizada apenas em agentes locais, sem Nuvem, sem Quinta)
Já estou lixado com a optimização. Ou concorda em funcionar na rede local, ou não o faz!
Pode dizer-me por favor qual é o erro?
(2018.04.10 15:20:13.844 A versão de depuração do "MQL5\Experts\Probe5.ex5" pode ser optimizada apenas em agentes locais, sem Nuvem, sem Quinta)
Já estou lixado com a optimização. Ou concorda em funcionar na rede local ou não funciona!
Compilar por F7, não por F5.
Pode dizer-me por favor qual é o erro?
(2018.04.10 15:20:13.844 A versão de depuração do "MQL5\Experts\Probe5.ex5" pode ser optimizada apenas em agentes locais, sem Nuvem, sem Quinta)
Já estou lixado com a optimização. Ou concorda com a rede local, ou não concorda!
O texto destacado é a raiz do seu erro.
É necessário compilar o ficheiro antes de o optimizar.
Este é o relatório do separador Backtest no testador de estratégias, certo?
Não, isto é do modo Ferramentas, comércio real, eu queria mostrar o resultado, mas diz Backtest)
do Testador de Estratégia campos adicionais no relatório
É apenas uma forma disfarçada de promover o seu relatório.
pelo menos não é um pipsqueak)