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
2018.04.09 19:15:41.242 '89015117': modification of invalid order #108362456
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 compraLimit) ou Bid(para ordens devendaLimit) 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 BuyLimit), 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.
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...
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 compraLimit) ou Bid(para ordens devendaLimit) 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 BuyLimit), 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.
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.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
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)