Atualizei o posto.
Para começar, tente usar as representações do Integer e faça o teste novamente. Veja se isso resolve seu problema e então falaremos um pouco mais sobre isso. Editar: acho que isto tem algo a ver com o fato de que o tipo de pedido começará em 0. E o orderselect manterá o último pedido selecionado no lugar.
Para começar, tente usar as representações do Integer e faça o teste novamente. Veja se isso resolve seu problema e então falaremos um pouco mais sobre isso.
Editar: acho que isto tem algo a ver com o fato de que o tipo de pedido começará em 0. E o orderselect manterá o último pedido selecionado no lugar.
Poderia ser . . .
Tente declarar OrderType como algo que não pode ser . . . por exemplo
int orderType = 10;
. . então veja o que acontece, se você não receber nenhuma mensagem então sua seleção de pedido não está funcionando.
Poderia ser . . .
Tente declarar a ordemType como algo que não pode ser . . . por exemplo
. . então veja o que acontece, se você não receber nenhuma mensagem então a seleção do seu pedido não está funcionando.
Funciona exatamente o mesmo se eu declarar primeiro: int orderType = 10;
Também tentei usar OrderType() sempre ao invés de declarar uma variável, mas há o mesmo problema.
Eu também tentei chamar OrderSelect(...) pouco antes de modificar a ordem, mas sem mudanças.
Acrescente em algumas Print(); declarações para que você possa ver o que está dando errado . . . por exemplo
if(/*OrderMagicNumber()==Magic &&*/ OrderSymbol()==Symbol()) { Print("orderType = ",orderType); if ((orderType == OP_BUY || orderType == OP_BUYSTOP)) {
. . então dê uma olhada na guia Especialistas.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Estou tentando codificar um EA e em algum lugar do meu código tenho que atualizar o arquivamento de pedidos abertos e pendentes. Estou exibindo um alerta com as informações sobre o pedido.
Quando o executo, recebo uma mensagem como: "Conte": 2 Stoploss 1.44705 para pedido de compra: 46450421 tipo de pedido: 1".
orderType: 1 significa que o pedido 46450421 é um pedido OP_SELL, que é, mas por que ele aciona o teste "if ((orderType == OP_BUY || orderType == OP_BUYSTOP)" ao invés de "if ((orderType == OP_SELLL || orderType == OP_SELLSTOP)"?
Por favor, ajude :-)
Daniel