Como verificar se um pedido é selecionado - página 11

 
tara:
Será que seria mais fácil se eu dissesse que sim?)
Não sei se fica mais fácil ou não, mas eles me levaram desde meu primeiro ano, tal foi a época, ou eu nunca teria servido!
 
Ant_TL:

Sim. Aí mesmo:

int li_LastTicket = OrderTicket();

Seu código gerará um erro de execução 4105 se não houve uma chamada OrderSelect antes de ser feita. Basta colocar uma verificação GetLastError no final de cada tick e você encontrará este erro.

Em meu código este erro não ocorrerá, pois esta função é chamada de AFTER OrderSelect(). Esta verificação é herdada do tempo 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á várias 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).

 
borilunad:
Eu não sei se é mais fácil ou não, mas eles me levaram desde meu primeiro ano, tal foi a época, ou eu nunca teria servido!
Eu gostei:)
 
O bilhete e o magik não são mais identificadores? Ou é um princípio trabalhar com dois ou três pedidos ao mesmo tempo? Há matrizes, há funções que processam e atualizam essas matrizes. Ou é um princípio não ser pego no erro? Portanto, não cometam erros. Mas não lamente que as seleções excessivas de pedidos atrasem os testes. Tudo tem seu tempo e seu lugar. Ao passar de uma função para outra, tenha a priori certeza de que você terá que selecionar o pedido mais uma vez e armazenar os dados de processamento da função anterior em uma matriz.
 
TarasBY: Se quisermos recuperar as propriedades desta ordem selecionada a partir de uma função na biblioteca compilada, ele NÃO FAZ NENHUMA. Temos que selecionar essa ordem novamente (tudo de novo).
Isto porque a MQL4 não é um compilador, mas um intérprete. As funções da biblioteca são anexadas à medida que você avança:)
 
grell:
O bilhete e o magik não são mais identificadores? Ou é um princípio trabalhar com dois ou três pedidos ao mesmo tempo? Há matrizes, há funções que processam e atualizam essas matrizes. Ou é um princípio não ser pego no erro? Portanto, não cometam erros. Mas não lamente que as seleções excessivas de pedidos atrasem os testes. Tudo tem seu tempo e seu lugar. Ao passar de uma função para outra, tenha a priori certeza de que você terá que selecionar a ordem mais uma vez, enquanto armazena os dados de processamento da função anterior em uma matriz.
Dmitry, mesmo sem deixar os limites de uma função, você não pode ter certeza de que o sinal de seleção do pedido não mudará.
 
tara:
Eu gostei:)
Provavelmente como "queijo na manteiga...? O exército deve ser profissional, pois requer treinamento especial, e nós temos sido alimentados com mais política! O exército deve servir à pátria, ao povo, não ao partido no poder!
 
Não, não como queijo na manteiga, mas fiz a minha parte de serviço como tenente-coronel. Desculpe se eu o ofendi :(
 
tara:
Dimitri, mesmo sem deixar os limites de uma função, você não pode ter certeza de que o sinal de seleção do pedido não mudará.


É isso que eu quero dizer. Minhas funções não têm universalidade, cada uma está estritamente engajada em seus próprios negócios. Mesmo a compra e venda são separadas. O Slosewall não deixa a função até que todo o pedido seja executado. Portanto, deixe os números do pedido mudarem, deixe as paradas se arrastarem, mas o bilhete e o mágico ficarão.
 
Eu nem sequer espero que todos os dados do pedido sejam salvos quando a função é chamada. Portanto, não há esperança para isso em nenhuma função.