Bom dia Amigos,
Sou iniciante em MQL5, e estou tentando verificar se tem uma posição em aberto com a seguinte condição if(posicao_info.PositionType()==POSITION_TYPE_BUY)
porem essa condição sempre me retorna verdadeiro mesmo não tendo posição em aberto.
Boa tarde!
Tente utilizar:
if (PositionSelect(_Symbol) = true)
{
if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)
{
...
}
}
Boa tarde!
Tente utilizar:
if (PositionSelect(_Symbol) = true)
{
if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)
{
...
}
}
Olá Valberg, funciona, mas se utilizar _Symbol como parâmetro, como no exemplo, será selecionado o instrumento financeiro que você está configurando para simulação no testador de estratégia.
Em operação, outro cuidado é que se está com uma conta do tipo hedging e com várias posições abertas para o mesmo instrumento, a PositionSelect irá selecionar a posição com o menor ticket. Nesse caso, para selecionar com precisão, é melhor utilizar a função PositionSelectByTicket().
Sds.,
Rogério Figurelli
- 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
Bom dia Amigos,
Sou iniciante em MQL5, e estou tentando verificar se tem uma posição em aberto com a seguinte condição if(posicao_info.PositionType()==POSITION_TYPE_BUY)
porem essa condição sempre me retorna verdadeiro mesmo não tendo posição em aberto.