Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1110
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
Erro de devolução 4108 às vezes - bilhete errado para OrderClose. É possível que OrderTicket() não corresponda ao bilhete em OrderSelect? A variável do bilhete pode ser igual a zero.
Demoro muito tempo para reproduzir o erro, é mais fácil de perguntar.Erro de retorno 4108 às vezes - bilhete errado para OrderClose. É possível que OrderTicket() não corresponda ao bilhete em OrderSelect ? A variável do bilhete pode ser igual a zero.
Demoro muito tempo para reproduzir o erro, é mais fácil de perguntar.Você seleciona um pedido por bilhete. Você tem certeza de que a ordem selecionada ainda não está fechada? Mas você tenta fechá-lo novamente ... Verifique o horário de fechamento após selecionar com sucesso o bilhete.
Você está selecionando o pedido no bilhete. E você tem certeza de que a ordem selecionada ainda não está fechada? Mas você está tentando fechá-lo novamente. Verifique o horário de fechamento após uma seleção bem sucedida no bilhete.
Vou verificar quando reproduzir o erro. Tenho todos os bilhetes armazenados em variáveis globais. Quando o pedido é fechado, eles são apagados. Antes de OrderSelect(), o bilhete é retirado de variáveis globais. Se o bilhete não estiver em variáveis - esta variável será 0, e assim a ordem não deve ser selecionada e OrderSelect() retornará falsa. Mas em geral, sim, vale a pena verificar. Obrigado.
Vou verificar quando reproduzir o erro. Tenho todos os bilhetes armazenados em variáveis globais. Quando o pedido é fechado, eles são apagados. Antes de OrderSelect(), o bilhete é retirado de variáveis globais. Se o bilhete não estiver em variáveis - esta variável será 0, e assim a ordem não deve ser selecionada e OrderSelect() retornará falsa. Mas em geral, sim, vale a pena verificar. Obrigado.
É padrão verificar o preço de fechamento quando um pedido é selecionado por bilhete. Você não saberia de outra forma se a ordem é fechada e selecionada da lista de ordens fechadas, ou se ainda está aberta e selecionada da lista de ordens de mercado.
A maneira mais míope é armazenar os bilhetes em variáveis globais. Eles devem ser retirados do ambiente comercial - as informações atuais estão lá.
É padrão verificar o preço de fechamento quando um pedido é selecionado por bilhete. Você não saberá de outra forma se o pedido está fechado e selecionado da lista de fechados, ou se ainda está aberto e selecionado da lista de fechados do mercado.
É o mais míope para armazenar bilhetes em variáveis globais. Eles devem ser retirados do ambiente comercial - as informações atuais estão lá.
Se eu selecionar assim: OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES), é suposto resolver parcialmente o problema? Guardo os bilhetes em variáveis globais por outros motivos, bem, também os utilizei neste caso.
Se eu selecionar assim: OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES), é suposto resolver parcialmente o problema? Guardo bilhetes em variáveis globais por outros motivos, e os utilizei também neste caso.
Não, não será - o pool (MODE_TRADES) é ignorado durante a seleção por bilhete.
Erro de devolução 4108 às vezes - bilhete errado para OrderClose. É possível que OrderTicket() não corresponda ao bilhete em OrderSelect ? A variável do bilhete pode ser igual a zero.
Levo muito tempo para reproduzir o erro, é muito mais fácil de perguntar.Geralmente é suficiente para verificar as ordens do mercado:
OrderCloseTime() == 0 // pedido está aberto
OrderCloseTime() > 0 //o pedido está fechado
para ordens de limite, você também deve verificar o preço de fechamento; se for igual a 0, a ordem de limite foi cancelada
Olá!
Compartilhe o código usando o método PositionClosePartial, se você puder.
Teoricamente eu entendo como funciona, mas gostaria de ver algum código de trabalho.
Ou me aconselhar onde procurar.
Agradecemos antecipadamente.
Olá!
Compartilhe o código usando o método PositionClosePartial, se você puder.
Teoricamente eu entendo como funciona, mas gostaria de ver algum código de trabalho.
Ou me aconselhar onde procurar.
Agradeço antecipadamente.
Na verdade, é apenas uma linha de código. Mas você tem que obter o bilhete de posição para isso. Aqui está o Expert Advisor da OnInit que abre posição com 0,2 lote e fecha metade da posição na OnTick.
Ou aqui está o código completo da classe CTrade