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 ?
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().
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...
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 ;)
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 ?
Ní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.
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.
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.
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.
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? ;)
Simon,
Não diz? ;)
Não poderia ser a função OrderTicket() inconspícua, poderia? Hahaha.
Obrigado.Simon,
Não diz? ;)
Não poderia ser a função OrderTicket() inconspícua, não é mesmo? Hahaha.
Obrigado.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:
Obrigado.
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 ;)
Simon,
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:
Obrigado.