Propriedades de uma Posição - PositionGet...() não retornam valores

 

Boa tarde,

 As funções do grupo Propriedades do Ativo consegui trabalhar certinho, por exemplo:

 x = SymbolInfoDouble( Symbol() ,SYMBOL_SESSION_OPEN) ;    ----- retorna o preço de abertura

Todas as funções dess coleção que testei retornou o que esperava. 

Entretanto, as funções do grupo Propriedades de uma Posição usando da mesma forma conforme documentação não consegui que nenhuma retornasse valor, ficam todas zeradas.

Print (PositionGetDouble(POSITION_PRICE_OPEN)); 

nota: simulei com posição em conta real e em conta demo, ambas retornaram zeradas. 

"O que estou deixando passar, o comando acima não deveria retornar o preço de entrada da posição  ?????


Alguém tem alguma luz? 

 
Daniel Andrejczuk:

Boa tarde,

Alguém tem alguma luz? 

Olá Daniel Andrejczuk,

Tente

if(PositionSelect(_Symbol))
  {
   Print(PositionGetDouble(POSITION_PRICE_OPEN));
  }

Seria interessante dar uma lida mais aprofundada no manual do MetaTrader, pois essa, assim como outras dúvidas que você está postando, normalmente você pode encontrar diretamente lá ...

Link: https://www.mql5.com/pt/docs

Abraços,
Malacarne 

Referência MQL5 - Como usar um algorítimo/automatização para negociação na linguagem para MetaTrader 5
Referência MQL5 - Como usar um algorítimo/automatização para negociação na linguagem para MetaTrader 5
  • www.mql5.com
Referências para Linguagem MetaQuotes 5 (MQL5) - Documentação sobre o site MQL5.com
 
Daniel Andrejczuk:

Boa tarde,

//----------------------------------------------- 

 As funções do grupo Propriedades do Ativo consegui trabalhar certinho, por exemplo:

 x = SymbolInfoDouble( Symbol() ,SYMBOL_SESSION_OPEN) ;    ----- retorna o preço de abertura

Todas as funções dess coleção que testei retornou o que esperava.

 

 

//-----------------------------------------------  

Entretanto, as funções do grupo Propriedades de uma Posição usando da mesma forma conforme documentação não consegui que nenhuma retornasse valor, ficam todas zeradas.

 Print (PositionGetDouble(POSITION_PRICE_OPEN));

 

//-----------------------------------------------

 

nota: simulei com posição em conta real e em conta demo, ambas retornaram zeradas. 

 

"O que estou deixando passar, o comando acima não deveria retornar o preço de entrada da posição  ?????


Alguém tem alguma luz? 

Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação

PositionGetDouble(POSITION_VOLUME) somente após custódia D+3 ?

Rogerio Figurelli, 2016.07.04 23:11

Olá Daniel,

Copiando a ajuda da função: "A função retorna a propriedade solicitada de uma posição aberta, pré-selecionado usando PositionGetSymbol ou PositionSelect.".

Em outras palavras, você deve chamar antes uma função para selecionar a posição que deseja trabalhar. 

Você fez a pré-seleção com alguma dessas funções antes de chamar a PositionGetDouble ?

Melhores cumprimentos,

Rogério Figurelli 


 

Rogerio Figurelli.

 

Obrigado, perfeito resolveu a questão !

 

At.

 

Daniel 

 

Rodrigo Malacarne,

 O Metatrader é viciante e explêndido na mesma proporção que é complexo.

 Sei que muitas coisas que perguntei considero ridículas, mais para quem esta iniciando se você trava em um ponto, difícil continuar.

Sou consciente que existe a documentação e estou "devorando"  ela.

Antes de postar pesquiso para ver se existe na base de conhecimento do fórum ou se encontro em algum capítulo da documentação so que é mega difícil achar.

Estou inciando o zero ,lendo cada etapa da documentação, alias sobre ela, na documentação o segundo tópico é "constantes padrão, enumeradores e estruturas", a função da pergunta desse tópico é abordada la, ENTRETANTO, a solução dela só é apresentada em um tópico na metade da documentação (que ainda chego la).

--------------------------------------------------------------- 

Faço uma sugestão, no item existente no início da documentação em que explica a função que se não fosse o fórum provavelmente ainda não teria conseguido resolver ainda:

https://www.mql5.com/pt/docs/constants/tradingconstants/positionproperties

 Poderiam observar para ler o tópico:

https://www.mql5.com/pt/docs/marketinformation

 Pois sem você tem uma dificuldade em um item, você vai na documentação dele, e la não consta que somente usando o comando previamente  PositionGetSymbol ou PositionSelect ira funcionar a função.

Em uma situação dessa, de propor uma sugestão, qual é o caminho? É possível?

 

Abraços, e desculpe-me pelas demandas no fórum.

 

At.

 

Daniel 

Documentação sobre MQL5: Constantes Padrão, Enumeradores e Estruturas / Constantes de Negociação (Trade) / Propriedades de uma Posição
Documentação sobre MQL5: Constantes Padrão, Enumeradores e Estruturas / Constantes de Negociação (Trade) / Propriedades de uma Posição
  • www.mql5.com
Constantes Padrão, Enumeradores e Estruturas / Constantes de Negociação (Trade) / Propriedades de uma Posição - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5