Ciclo Operador 'para' perguntas - página 2

 
WhooDoo22:

Simon,

Eu não vejo o que você está vendo, mas ;) Vou incluir prontamente a função GetLastOrder() para iluminar um pouco esta questão. Peço desculpas por colocar uma pergunta sem antes incluir a função GetLastOrder() com o código.

Obrigado.

Que número de bilhete a OrderPrint() mostra ? que erro é mostrado ?
 

Simon,


que erro é mostrado ?

bilhete desconhecido 2 para a função OrderClose


Qual número de ingresso a OrderPrint() mostra?

#20526942 2012.12.24 13:43 comprar 0.01 USDJPY 84.466 0.000 0.000 86.105 0.00 0.00 19.03 0


Obrigado.

 
Então seu bilhete USDJPY número é 20526942 e ainda assim você está tentando fechar o bilhete NÚMERO (não posição)2? você vê o problema?
 

Simon,

O número do bilhete USDJPY é 20526942.

A função OrderClose() está tentando fechar o bilhete número 2.

O número do bilhete USDJPY é 20526942 e o número da sua posição no pool é 2.


Se meu entendimento estiver correto, a função OrderClose() não pode fechar a ordem USDJPY porque o primeiro parâmetro da função OrderClose() está usando a posição número 2 ao invés do "número único do bilhete de ordem" (20526942). Se você confirmar esta afirmação, então parece que devo encontrar uma maneira de isolar o bilhete número 20526942 da ordem USDJPY, então coloque este número no primeiro parâmetro da função OrderClose().

O que você diz a isto? ;)

Obrigado.

 
WhooDoo22:


Se meu entendimento estiver correto, a função OrderClose() não pode fechar a ordem USDJPY porque o primeiro parâmetro da função OrderClose() está usando a posição número 2 ao invés do "número único do bilhete de pedido" (20526942). Se você confirmar esta afirmação, então parece que devo encontrar uma maneira de isolar o bilhete número 20526942 da ordem USDJPY, então coloque este número no primeiro parâmetro da função OrderClose().

O que você diz a isto? ;)

Sim, e há uma função para fazer exatamente isso...
 

Simon,

Não diz? ;)

Não poderia ser a função OrderTicket() inconspícua, poderia? Hahaha.

Obrigado.
 
WhooDoo22:

Simon,

Não diz? ;)

Não poderia ser a função OrderTicket() inconspícua, não é mesmo? Hahaha.

Obrigado.
LOL :-) seu código deve funcionar agora . . . . próximo ver se você pode modificá-lo para lidar com vários pedidos de USDJPY . . . ;-)
 

Simon,

Mais uma vez, sou tão, tão abundantemente abençoado por receber mais uma contribuição mais do que generosa da guia "Especialistas" em meu MetaTrader, que saúdo de braços abertos e uma manifestação extremamente alegre ;)


Descrição do erro:

Erro de preço USDJPY (função OrderClose())


Obrigado.

Arquivos anexados:
 
WhooDoo22:

Simon,

Mais uma vez, sou tão, tão abençoado por receber mais uma contribuição generosa da guia "Especialistas" em meu MetaTrader, que saúdo de braços abertos e uma manifestação extremamente alegre ;)

Agora você precisa de relatórios de erro para saber exatamente qual erro foi gerado ... é provavelmente que o preço está muito próximo do SL ou TP para fechar o pedido. Qual é o seu nível de congelamento ?
 

Simon,

MODE_FREEZELEVEL33Nível de congelamento de pedidos em pontos. Se o preço de execução estiver dentro da faixa definida pelo nível de congelamento, a ordem não pode ser modificada, cancelada ou fechada.


Eu não sei qual é o nível de congelamento para o corretor MetaTrader que utilizo para executar testes. Presumo que o nível de congelamento varia de acordo com o corretor.

Você conhece alguma forma que eu possa usar para descobrir o nível de congelamento do MetaEditor usando a função MarketInfo()?

Eu já incorporei a função GetLastError() em vão. Estou tentando colocá-la no local correto neste momento.

Além disso, o preço atual do pedido deve bem exceder o nível de congelamento.

Aqui está um instantâneo mostrando seu status:

Status do pedido USDJPY


Obrigado.