Valo do último tick na ActivTrade

 

Utilizo o código abaixo para obter o valor do último tick, funciona perfeitamene na B3.

na ActivTrade o valor retornado é igual a zero. Já tentei supote mas não fui atendido.

Alguém saberia o motivo?

string symbol = Symbol();
double lastPrice; 
if(SymbolInfoDouble(symbol, SYMBOL_LAST, lastPrice))
{ Print("O último preço negociado para ", symbol, " é: ", lastPrice);
} else
{ Print("Erro ao obter informações sobre o símbolo ", symbol); } 
Código formatado incorrectamente editado pelo moderador.
 
Paulo Roberto: Utilizo o código abaixo para obter o valor do último tick, funciona perfeitamene na B3. na ActivTrade o valor retornado é igual a zero. Já tentei supote mas não fui atendido. Alguém saberia o motivo?
Não tem o conceito de último preço na ActivTrades porque o mercado é descentralizado tem que usar o SYMBOL_BID.
 
Paulo Roberto: Utilizo o código abaixo para obter o valor do último tick, funciona perfeitamene na B3. na ActivTrade o valor retornado é igual a zero. Já tentei supote mas não fui atendido. Alguém saberia o motivo?

Simplesmente porque SYMBOL_LAST é uma jabuticaba colocada no METATRADER em 2013 por força da XP!  Desconheço que exista outra EXCHANGE ou BROKER com SYMBOL_LAST ativado.

 
O seu tópico foi movido para a secção: Expert Advisors e Negociação Automatizada.
Por favor ter em conta a secção adequada quando criar tópicos — https://www.mql5.com/pt/forum/421109/page6#comment_49385139
 

Por favor, utilize o botão do CÓDIGO (Alt -S) ao inserir o seu código.

Botão de código no editor

 
Paulo Roberto: Utilizo o código abaixo para obter o valor do último tick, funciona perfeitamene na B3. na ActivTrade o valor retornado é igual a zero. Já tentei supote mas não fui atendido. Alguém saberia o motivo?

Depende do método utilizado pelo instrumento financeiro.

Por exemplo, para mercados descentralizados como Forex, CFDs, etc., não são utilizados "ticks" de Last/Volume, mas sim só ticks de Bid/Ask sem volume real.

Já em Futures, Stocks, e outros activos centralizados em Bolsa, prevalece o uso de "ticks" de Last/Volume com volume real.

Se abrir as especificações pode ver as diferenças...


Em código MQL5, pode identificar a diferença com ...

SymbolInfoInteger

Retorna um valor de tipo inteiro (long, datetime, int ou bool) de um ativo especificado para a propriedade correspondente

SYMBOL_CHART_MODE

Tipo de preço para construção de barras — Bid ou Last

ENUM_SYMBOL_CHART_MODE

SYMBOL_CHART_MODE_BID

Barras são construídas segundo o preço Bid

SYMBOL_CHART_MODE_LAST

Barras são construídas segundo o preço Last

 

Aqui segue dois exemplos de ticks das duas classes diferentes de activos ...


 
Rogerio Giannetti Torres #: Simplesmente porque SYMBOL_LAST é uma jabuticaba colocada no METATRADER em 2013 por força da XP!  Desconheço que exista outra EXCHANGE ou BROKER com SYMBOL_LAST ativado.

Não é o caso! Vejo os meus anteriors comentários.

 
Fernando Carreiro #:

Não é o caso! Vejo os meus anteriors comentários.

Seus comentários estão corretos, mas a história do SYMBOL_LAST é essa mesma, foi sugestão, bem apropriada, imposta a Metaquotes

pela "XP investimentos", feita na fase de implantação do MT5 para a corretora. Nas versões anteriores ao final de 2013 SYMBOL_LAST nem existia o  MT5.

Para saber se SYMBOL_LAST está ativo no BROKER, basta aplicar a coluna "LAST" no observador de mercado. 


 
@Rogerio Giannetti Torres # : Nas versões anteriores ao final de 2013 SYMBOL_LAST nem existia o  MT5.

Infelizmente essa informação está incorreta. Basta fazer uma pesquisa rápida para verificar que tal já existia muito antes ...

A versão beta publica do MT5 foi lançada em Outubro de 2009 e a primeira conta "live" foi lançada em Setembro de 2010 (informação extraída do Wikipedia).

Os seguintes trechos são de 2010. O primeiro até de Fevereiro de 2010. Pode-se então deduzir que tal funcionamento existiu desde o inicio.

(Foi aplicada tradução automática para português nos seguintes trechos)

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

SímboloInfoDouble()

Andrei , 10/02/2010 13:02

Eu tenho

SymbolInfoDouble(_Symbol, SYMBOL_LAST);

sempre retorna zero.

É assim que deveria ser???

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

Erros, bugs, dúvidas

Rashid Umarov , 04/07/2010 10:49

Esses dados podem ser obtidos usando as propriedades da seção Informações da Ferramenta :
1.Para Forex
 double Ask= SymbolInfoDouble (symbol, SYMBOL_ASK );  
double Bid= SymbolInfoDouble (symbol, SYMBOL_BID );  
2. Para instrumentos de câmbio
 double Price= SymbolInfoDouble (symbol, SYMBOL_LAST );        

3. Tamanho da alavancagem (não percentual)

 double leverage= AccountInfoDouble ( ACCOUNT_MARGIN_LEVEL );     
4. Margem inicial
 double InitialMargin= SymbolInfoDouble (symbol,SYMBOL_MARGIN_INITIAL);
Use o editor para inserir código .
 
Fernando Carreiro #:

Infelizmente essa informação está incorreta. Basta fazer uma pesquisa rápida para verificar que tal já existia muito antes ...

A versão beta publica do MT5 foi lançada em Outubro de 2009 e a primeira conta "live" foi lançada em Setembro de 2010 (informação extraída do Wikipedia).

Os seguintes trechos são de 2010. O primeiro até de Fevereiro de 2010. Pode-se então deduzir que tal funcionamento existiu desde o inicio.

(Foi aplicada tradução automática para português nos seguintes trechos)

Muito bem, então quando da implantação no final de 2013 do MT5 na XP,

havia um grupo de discussão sobre o MT5 e foi essa informação sobre SYMBOL_LAST, nunca me preocupei sobre a veracidade da informação. 

Então não passou de história.