MarketBookGet só retorna "false"

 

Olá meninos!!!
Alguém saberia dizer por que essa função código só retona false

  MqlBookInfo priceArray[];
   bool getBook=MarketBookGet(NULL,priceArray);
   if(getBook)
     {
      int size=ArraySize(priceArray);
      Print("MarketBookInfo para ",Symbol());
      for(int i=0;i<size;i++)
        {
         Comment(i+":",priceArray[i].price
               +"    Volume = "+priceArray[i].volume,
               " tipo = ",priceArray[i].type);
        }
     }
   else
     {
      Comment("Could not get contents of the symbol DOM ",Symbol());
     }

 
josemanoel:

Olá meninos!!!
Alguém saberia dizer por que essa função código só retona false

  MqlBookInfo priceArray[];
   bool getBook=MarketBookGet(NULL,priceArray);
   if(getBook)
     {
      int size=ArraySize(priceArray);
      Print("MarketBookInfo para ",Symbol());
      for(int i=0;i<size;i++)
        {
         Comment(i+":",priceArray[i].price
               +"    Volume = "+priceArray[i].volume,
               " tipo = ",priceArray[i].type);
        }
     }
   else
     {
      Comment("Could not get contents of the symbol DOM ",Symbol());
     }

Quando o mercado está fechado costuma retornar false.

Para qual ativo o problema está acontecendo? Em qual corretora? Em qual horário?

 

Fiz esse teste com a corretora activtrades
Os ativos testados foram EURUSD e bras50jun19

O horário era aqui no Brasil cerca de 13:00 e os mercados estavam funcionando
Também com o Testador de Estratégia, dá no mesmo

 
josemanoel:

Fiz esse teste com a corretora activtrades
Os ativos testados foram EURUSD e bras50jun19

O horário era aqui no Brasil cerca de 13:00 e os mercados estavam funcionando
Também com o Testador de Estratégia, dá no mesmo

Bom dia!

As vezes a gente mesmo sendo uma mula velha (kkkk!), incorre num erro banal.    Você "subscreveu" o ativo antes de usar o DOM,  comando  MarketBookAdd(_Symbol)?  

Outra coisa, nos 3(três) programas que manipulei o  DOM foi dentro do evento OnBookEvent(), não sei se funcionaria em outro evento.

 
Rogerio Giannetti Torres:

Bom dia!

As vezes a gente mesmo sendo uma mula velha (kkkk!), incorre num erro banal.    Você "subscreveu" o ativo antes de usar o DOM,  comando  MarketBookAdd(_Symbol)?  

Outra coisa, nos 3(três) programas que manipulei o  DOM foi dentro do evento OnBookEvent(), não sei se funcionaria em outro evento.

@Rogerio Giannetti Torres, funciona em outro evento sim eu já usei no OnTick() e no OnTimer() !
 
josemanoel:

Fiz esse teste com a corretora activtrades
Os ativos testados foram EURUSD e bras50jun19

O horário era aqui no Brasil cerca de 13:00 e os mercados estavam funcionando
Também com o Testador de Estratégia, dá no mesmo

Pelo pouco que eu sei a respeito, EURUSD é um mercado descentralizado não é um "Exchange Market". Não vai ter book.

Só se for um book interno da ActiveTrades, onde ela organiza as ofertas dos seus clientes como se fosse uma bolsa.

Eu tenho uma conta na ActiveTrades e já rodei robôs lá (somente em conta demo), mas na época eu não usava informações de DOM nos algoritmos. Nunca cheguei a verificar isso.

 
Trader_Patinhas #:

Pelo pouco que eu sei a respeito, EURUSD é um mercado descentralizado não é um "Exchange Market". Não vai ter book.

Só se for um book interno da ActiveTrades, onde ela organiza as ofertas dos seus clientes como se fosse uma bolsa.

Eu tenho uma conta na ActiveTrades e já rodei robôs lá (somente em conta demo), mas na época eu não usava informações de DOM nos algoritmos. Nunca cheguei a verificar isso.

kkk


Caí aqui por acaso e provavelmente já deve estar resolvido, mas aos novos desavisados que chegarem, abram o DOM e o TT MT5 antes de tentar pegar as informações.

Se estiver em branco, então a corretora não entrega a informação.

É preciso buscar uma corretora que entregue a ''profundidade de mercado em 2º nível''. Dá um google.

Razão: