Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 493
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
Você poderia informar se a função de fechar todas as ordens abertas pela EA pelo símbolo é implementada corretamente?
A arquitetura em si é correta. Os erros estão na falta de verificações e no uso de algumas funções:
A arquitetura em si é correta. Os erros estão na falta de verificações e no uso de algumas funções:
Obrigado, o principal problema provavelmente era apenas usar o mesmo preço
Da ajuda OrderSelect " Quando as ordens são selecionadas sequencialmente usando o parâmetro SELECT_BY_POS, a informação é dada na ordem em que veio do servidor comercial. Não é garantida a ordenação da lista de pedidos obtida".
Se pensamos que esta frase foi inserida na ajuda por nada, estamos bem. Se pensarmos que ela estava lá por alguma razão, não devemos alterar esta lista durante a execução do loop através da lista de pedidos. Como as ordens serão encomendadas após a exclusão de uma delas no servidor e a chegada de uma nova lista atual com uma ordem menorTotal, é desconhecida. É mais confiável, sem excluir, passar pela mesma cópia inalterada da lista e coletar (em uma matriz) todos os números de bilhetes das negociações a serem excluídos. Em seguida, esqueça essa lista e apague os negócios, selecionando-os por bilhete.
Gostaríamos de acreditar, é claro, que a ordenação na lista modificável é preservada, nem que seja apenas para este caso de remoção de várias ordens do final de uma lista não ordenada, mas os desenvolvedores estão contra... Agora funciona, e se surgir uma nova construção - "nós avisamos".
Da ajuda OrderSelect " Quando as ordens são selecionadas sequencialmente usando o parâmetro SELECT_BY_POS, a informação é dada na ordem em que veio do servidor comercial. Não é garantida a ordenação da lista de pedidos obtida".
Se pensamos que esta frase foi inserida na ajuda por nada, estamos bem. Se pensarmos que ela estava lá por alguma razão, não devemos alterar esta lista durante a execução do loop através da lista de pedidos. Como as ordens serão encomendadas após a exclusão de uma delas no servidor e a chegada de uma nova lista atual com uma ordem menorTotal, é desconhecida. É mais confiável, sem excluir, passar pela mesma cópia inalterada da lista e coletar (em uma matriz) todos os números de bilhetes das negociações a serem excluídos. Em seguida, esqueça essa lista e apague os negócios, selecionando-os por bilhete.
Gostaríamos de acreditar, é claro, que a ordenação na lista modificável é preservada, nem que seja apenas para este caso de remoção de várias ordens do final de uma lista não ordenada, mas os desenvolvedores estão contra... Agora funciona, e se surgir uma nova construção - "nós avisamos".
Essa "América" está aberta há cerca de trezentos anos :)
Este tipo de "América" está aberto há trezentos anos :)
Não creio que as pessoas que aqui fazem perguntas em nome dos recém-chegados já tenham descoberto isso por conta própria. É por isso que estou escrevendo. Não para os moderadores, mas para os questionadores. Veja o nome do fio.
P.S. Eu investiguei de onde veio este interesse. Acontece que é da filial https://www.mql5.com/ru/forum/215783/page8"Organising the Order Cycle" (Organização do Ciclo de Pedidos). Acontece que, em outubro de 2017, esses trezentos anos ainda não terminaram, ainda há novidades.
Não creio que as pessoas que aqui fazem perguntas em nome dos recém-chegados já tenham descoberto isso por conta própria. É por isso que estou escrevendo. Não para os moderadores, mas para os questionadores. Veja o nome do fio.
P.S. Eu olhei de onde vem este interesse. Acontece que é da filial https://www.mql5.com/ru/forum/215783/page8"Organising the order cycle" (Organizando o ciclo do pedido). Acontece que, em outubro de 2017, esses trezentos anos ainda não terminaram, ainda há novidades.
Errado novamente :) Trezentos anos começaram em mql4.com - houve uma época em que se discutia ativamente sobre o assunto. E houve até mesmo aqueles momentos que são descritos por você em "Agora funciona, e uma nova construção sairá - "nós avisamos". Somente sem avisos, e assim várias vezes - depende, não depende de classificação...
E, sim, há um fio especial para tais respostas:
Da ajuda OrderSelect " Quando as ordens são selecionadas sequencialmente usando o parâmetro SELECT_BY_POS, a informação é dada na ordem em que veio do servidor comercial. Não é garantida a ordenação da lista de pedidos obtida".
Se pensamos que esta frase foi inserida na ajuda por nada, estamos bem. Se pensarmos que ela estava lá por alguma razão, não devemos alterar esta lista durante a execução do loop através da lista de pedidos. Como as ordens serão encomendadas após a exclusão de uma delas no servidor e a chegada de uma nova lista atual com uma ordem menorTotal, é desconhecida. É mais confiável, sem excluir, passar pela mesma cópia inalterada da lista e coletar (em uma matriz) todos os números de bilhetes das negociações a serem excluídos. Em seguida, esqueça essa lista e apague os negócios, selecionando-os por bilhete.
Eu gostaria, é claro, de acreditar que o pedido na lista modificada é preservado pelo menos para este caso de exclusão de vários pedidos do final de uma lista não ordenada, mas os desenvolvedores estão contra... Agora funciona, e se surgir uma nova construção, "nós avisamos".
Como uma boa idéia (considerando que pode haver vários Expert Advisors + trader trabalhando na conta em paralelo), você não pode realizar negócios em loop de forma alguma. A ordem necessária é recebida, a operação é executada, o OnTick() inteiro é executado novamente (não necessariamente com a chegada de um novo tick). E assim por diante, até que todas as operações necessárias sejam executadas.
Assim, formar uma matriz para eliminar ordens é equivalente a eliminar ordens no laço.
Há um botão "Parar", como posso mudar seu texto para "Começar" uma vez pressionado?
Veja meu exemplo de especialista
Veja meu exemplo de Conselheiro Especialista
Obrigado, exatamente o que eu precisava.
Talvez seja útil saber que há um erro nas posições em falta--- ToFile EURUSD,H1: divisão zero em 'ToFile.mq4' (62,39)
O texto não muda no testador, não existe tal opção?