lmdesenvolvimento:
Olá pessoal, pesquisei bastante aqui mas não consegui encontrar (talvez ate já tenha), gostaria de saber no caso se tiver mais de uma ordem aberta, qual o menor preço e qual o maior preço.
Exemplo: Se eu tiver comprado no 100, 90, 80 e 70, o maior seria 100 e o menor o 70.
Eu consegui pegar o preço da ultima ordem aberta, mas nem sempre ela vai ser maior ou menor porque a mesma pode dar take antes das primeiras ordem que foram abertas.
Desde ja agradeço.
Talvez o uso da função OnTradeTransaction() possa te ajudar.
Não sou um programador avançado em MQL5 mas eu tentaria por esse caminho.
for(int i = PositionsTotal()-1; i>=0; i--) { if(PositionGetSymbol(i) == Symbol() && PositionGetInteger(POSITION_MAGIC) == m_expert_magic) { .....///sua logica } }
obrigado Jonathan, não sei se é o certo mas usando tua logica resolvi assim:
menorPreco = 0; //variavel que recebe o menor preço for(int i = PositionsTotal()-1; i>=0; i--) //loop com quantidade ordens abertas { if(PositionGetSymbol(i) == Symbol() && PositionGetInteger(POSITION_MAGIC) == numeroMagico) //verificando se a ordem equivale ao numero magico { if (menorPreco == 0) // verificando se a variavel ja tem algum valor { menorPreco = PositionGetDouble(POSITION_PRICE_OPEN); //senao tiver ela recebe o preço da primeira ordem encontrada } else { if (PositionGetDouble(POSITION_PRICE_OPEN) < menorPreco) //verifica se a proxima ordem é menor que a ordem setada na variável menorPreco { menorPreco = PositionGetDouble(POSITION_PRICE_OPEN); //se for menor a variavel menorPreco recebe o preço da ordem atual do loop } } } }

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
Olá pessoal, pesquisei bastante aqui mas não consegui encontrar (talvez ate já tenha), gostaria de saber no caso se tiver mais de uma ordem aberta, qual o menor preço e qual o maior preço.
Exemplo: Se eu tiver comprado no 100, 90, 80 e 70, o maior seria 100 e o menor o 70.
Eu consegui pegar o preço da ultima ordem aberta, mas nem sempre ela vai ser maior ou menor porque a mesma pode dar take antes das primeiras ordem que foram abertas.
Desde ja agradeço.