Verificar Posição

Para adicionar comentários, por favor Faça o login ou registrar
Valberg Moura de Oliveira
35
Valberg Moura de Oliveira  

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.

warlleysales
508
warlleysales  
Valberg Moura de Oliveira:

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)

{

...

}

}

Rodrigo Pandini
687
Rodrigo Pandini  
Valberg,
Como dito acima, você precisa selecionar primeiro a posição.
Se existir, ai sim você pode verificar o tipo dela.
if(m_position.Select(m_symbol.Name())) {
    if(m_position.PositionType() == POSITION_TYPE_BUY) {
Até,
Valberg Moura de Oliveira
35
Valberg Moura de Oliveira  
Warlley Sales:

Boa tarde!

Tente utilizar:

if (PositionSelect(_Symbol) = true)

{

if (PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)

{

...

}

}

No testador de estrategia, essa condição funciona?
Rogerio Figurelli
Moderador
58557
Rogerio Figurelli  
Valberg Moura de Oliveira:
No testador de estrategia, essa condição funciona?

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

Para adicionar comentários, por favor Faça o login ou registrar