![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Então esse é o meu ponto. Minhas funções não têm versatilidade, cada uma delas é estritamente dedicada a seu próprio negócio. Até mesmo a compra e a venda são separadas. Portanto, deixe os números de pedido mudarem, deixe as paradas se arrastarem, mas o bilhete e o mágico permanecerão.
Bem, você se deixou levar com o slosoll:)
Bem, você se deixou levar com a surra:)
Ainda não houve falhas. Eu sou um tirano nesse aspecto:)
Não, não como queijo na manteiga, mas fiz a minha parte de serviço como tenente-coronel. Desculpe se eu o ofendi :(
Não, não há motivo para se ofender, você não precisa obrigar se eu disser algo errado, mas sinceramente. :)
Vocês me entenderam mal. Assim como metade das pessoas, por alguma razão. Não preciso na função B() para processar essa ordem, que é selecionada na função A(). A função B() funciona com outras ordens, não importa quais, ela nada tem a ver com a função A(); a função B() tem sua própria lógica. Pode contar o número de pedidos, seu lucro total, olhar através de seus comentários, TP SL, etc. A tarefa é retornar da função B() de volta à função A() de modo que não importa o que a função B() tenha feito com as ordens, a lógica da operação da função A() no ponto de chamada da função B() a partir dela não será violada devido ao fato de que a ordem selecionada pela função A() antes da função B() foi chamada não é mais selecionada e a ordem selecionada é outra ordem aleatória processada pela função B() que muito provavelmente também busca ordens no laço.
Você continua esquecendo que apenas um pedido pode ser selecionado de cada vez. Sair = armazenar a lista de pedidos em um pool de economias (sua matriz). uma última ordem variável global não é suficiente. uma opção melhor seria lastords[ticket][função].
Este erro não ocorrerá em meu código, pois esta função é chamada de AFTER OrderSelect(). E o cheque no código é deixado dos tempos em que os códigos eram escritos sem uma estrutura comum de todas as funções executáveis da EA.
Além disso, a maioria das minhas funções contém funções de tratamento de erros e eu tenho muito cuidado para evitá-las. E também há uma série de funções que geram um erro, como a resposta que você estava procurando: "Ordem selecionada antes, ou não?".
P.S. A propósito, lembrei-me de uma peculiaridade (que pode ser útil para alguém) de trabalhar com funções OrderSelect() de bibliotecas compiladas: selecionamos uma ordem (como - não principalmente), OrderTicket() - devolve o número da ordem selecionada. Mas se quisermos obter as propriedades desta ordem selecionada a partir da função que está localizada na biblioteca compilada, não receberemos nada. Temos que selecionar essa ordem novamente (novamente).
Na verdade, encontrei uma situação em que o erro foi causado por uma das funções de propósito geral que podia ser usada tanto dentro dos laços de processamento de pedidos quanto fora desses laços, ou seja, antes da seleção do pedido, o que levou ao erro. Se quisermos fazer funções de serviço universal trabalhando com pedidos que podem ser usados tanto depois de um pedido ter sido selecionado como antes disso, tanto quando há pedidos abertos como quando não há nenhum, devemos usar um mecanismo como o que citei para ter certeza de que não teremos esse erro.
Eu já escrevi anteriormente neste tópico sobre o fato de que a seleção de pedidos não é passada para os módulos da biblioteca e vice-versa.
Na verdade, encontrei uma situação em que o erro foi causado por uma das funções de propósito geral que podia ser usada tanto dentro como fora dos laços de processamento de pedidos, ou seja, antes de um pedido ser selecionado, o que levou ao erro. Se quisermos fazer funções de serviço universal que funcionem com pedidos e possam ser usadas tanto depois de um pedido ter sido selecionado quanto antes, tanto quando há pedidos abertos e quando não há pedidos, devemos usar tal mecanismo como mencionei na página anterior para evitar este erro.
Eu já escrevi anteriormente neste tópico sobre o fato de que a seleção de pedidos não é passada para os módulos da biblioteca e vice-versa.
Você deve se acostumar ao fato de que cada operação comercial tem sua própria ordem seletiva e você não terá nenhum problema. E, sim, você foi escrito corretamente, apenas um pedido pode ser selecionado. Tudo o resto é resolvido por matrizes.