Erros, bugs, perguntas - página 2106
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
Um timeout indica que a resposta do servidor não foi recebida dentro de um prazo razoável. Mas não o resultado da encomenda.
Olá.
Obrigado.
Neste caso: quando o tempo acaba - é preciso esperar que um novo bilhete apareça na história das trocas, se um novo bilhete aparecer - então a troca ou ordem está aberta.
A propósito, isto só acontece na MQL5 VPS
Não é um problema num servidor doméstico.
Vou pensar no assunto...
Vou pensar no assunto.
Neste caso: quando se sai - é preciso esperar que um novo bilhete apareça na história do comércio, se aparecer um novo bilhete - então o comércio ou a ordem está aberta.
Se uma ordem de comércio foi enviada através de uma OrderSend sincronizada, então não há maneira de sair da execução OrderSend. Tudo se parece com um bug de terminal VPS.
através dele.
O problema pode, em princípio, ser resolvido, após receber um erro de timeout para executar a função de procura de novos bilhetes na história.
Caso contrário, a EA apenas envia um novo pedido e novamente recebe um erro de timeout, sem receber um bilhete.
Obrigado.
O problema pode, em princípio, ser resolvido, após receber um erro de timeout, executar a função de recuperação de novos bilhetes na história.
Tem de o escrever em SD. Caso contrário, após cada EncomendaEnviar irá esperar três minutos por um tempo limite, obtendo os riscos comerciais correspondentes.
É preciso escrever para o CD. Caso contrário, após cada EncomendaEnviar irá esperar três minutos por um tempo limite e obter os riscos comerciais correspondentes.
E assim o fiz.
Este erro acontece 1 em 1000, e até agora só aconteceu em VPS da MQL...em conformidade, o Expert Advisor recebe o erro 10012 e tenta colocar a encomenda novamente.
Eu privar-vos-ia do estatuto de Vendedor durante um ano para tal código no Mercado.
Esta é a primeira vez que encontro tal erro.
Não tenho tal erro no meu código. nenhum bilhete significa que uma troca não foi aberta. significa que a EA está a tentar abrir uma troca novamente.O problema pode, em princípio, ser resolvido, após receber um erro de timeout, executar a função para tentar novos bilhetes na história.
A história não tem nada a ver com isso. OrderSend envia a encomenda, e esta aparece no Terminal com o status ORDER_STATE_STARTED.
Mas isto não significa que a OrderSend tenha terminado a execução. A OrderSend continuará a ser executada até que o estado da encomenda seja alterado.
Portanto, se vir um tempo limite, é 99% certo que o estado da encomenda é ORDER_STATE_STARTED(eu vejo-o, mas não está claro quando tirei a imagem do ecrã).
Além disso, o mesmo timeout pode acontecer sem o seu OrderSend - quando o servidor MT5 faz ele próprio o OrderSend (TP/SL/MC/Expiration). Mas não o verá no Terminal.
Não tenho tal erro no meu código. nenhum bilhete - significa que o comércio não abriu. significa que o Conselheiro Especialista está a tentar abrir novamente o comércio.
Esta é uma lógica incorrecta. Depois de OrderSend falhar e OrderSend ser bem sucedida, o actual ambiente comercial tem de ser completamente relido. Esta regra deve estar sempre em vigor.
Sobre os códigos de retorno. Não os analiso nos meus EAs. Penso que a lógica comercial não deve depender deles.
Esta é uma lógica incorrecta. Depois de OrderSend falhar e OrderSend ser bem sucedida, o actual ambiente comercial tem de ser lido completamente de novo. Esta regra deve estar sempre em vigor.
Concordo. deve ser alterado.