- [Duvidas em Geral] Faça sua pergunta sobre analise tecnica,Gráfica, ou qualquer coisa referente ao Mercado Financeiro
- Book de ofertas
- Ficou sem alguma resposta ou entender alguma coisa sobre o MetaTrader/MQL? Pergunte aqui!
Winter,
Estou tentando implementar a leitura do book e não está retornando nenhuma informação nesse trecho:
MqlBookInfo aLongBookInfo[]; MarketBookGet("PETR4", aLongBookInfo); if(ArraySize(aLongBookInfo) == 0) { Comment("Não foi possível retornar o book para o ativo de compra"); return; }
Sempre entrando no IF. Estou testando na Modal, em dados reais e no histórico, ocorrendo o mesmo erro em ambos.
Sabe o pq?
Obrigado!
Boa noite,
Como não postou o código fica meio complicado entender, mas pra min vc não setou o symbolo no OnInit()
como disse analisar apenas um if dentro de um contexto fica meio complicado.
Jonathan, bom dia.
Estou iniciando a codificação desse robo. Implementei a função MarketBookAdd e mesma assim não funcionou.
Segue o código conforme está hoje.
input string sAtivo1 = "ELET3", sAtivo2 = "ELET6"; double dSaldoDisponivel = 0; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- create timer EventSetTimer(60); MarketBookAdd(sAtivo1); MarketBookAdd(sAtivo2); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- destroy timer EventKillTimer(); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- MqlBookInfo aBookAtivo1[]; MarketBookGet(sAtivo1, aBookAtivo1); if(ArraySize(aBookAtivo1) == 0) { Comment("Não foi possível retornar o book para o ativo 1"); return; } MqlBookInfo aBookAtivo2[]; MarketBookGet(sAtivo2, aBookAtivo1); if(ArraySize(aBookAtivo2) == 0) { Comment("Não foi possível retornar o book para o ativo 2"); return; } }
Obrigado pela ajuda!
Olá Winter Martins e demais membros da comunidade,
Estamos desencorajando tópicos concentrados em um assunto especifico do tipo "Pergunte Aqui"...
Estamos desabilitando um "Pergunte Aqui" geral do fórum em português, e, provavelmente, esse aqui também será.
O ideal é que todas as perguntas sejam feitas em seu próprio tópico, com texto descritivo específico, aberto pelo usuário com a dúvida específica.
Além disso, não existe tópico para que uma pessoa o responda...
Todos os tópicos do fórum são abertos para que qualquer um pergunte e responda.
Atenciosamente,
Malacarne
Jonathan, bom dia.
Estou iniciando a codificação desse robo. Implementei a função MarketBookAdd e mesma assim não funcionou.
Segue o código conforme está hoje.
Obrigado pela ajuda!
Fiz um código aqui tenta usar ele como exemplo
//+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- MarketBookAdd(Symbol()); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Desinicialização da função Expert | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- MarketBookRelease("USDJPY"); } //+------------------------------------------------------------------+ //| Função BookEvent | //+------------------------------------------------------------------+ void OnBookEvent(const string &symbol) { //--- //printf("Depth of Market " + symbol + " changed"); MqlBookInfo book[]; MarketBookGet(symbol, book); if(ArraySize(book) == 0) { printf("Failed load market book price. Reason: " + (string)GetLastError()); return; } string line = "Price: " + DoubleToString(book[0].price, Digits()) + "; "; line += "Volume: " + (string)book[0].volume + "; "; line += "Type: " + EnumToString(book[0].type); printf(line);
Olá Winter Martins e demais membros da comunidade,
Estamos desencorajando tópicos concentrados em um assunto especifico do tipo "Pergunte Aqui"...
Estamos desabilitando um "Pergunte Aqui" geral do fórum em português, e, provavelmente, esse aqui também será.
O ideal é que todas as perguntas sejam feitas em seu próprio tópico, com texto descritivo específico, aberto pelo usuário com a dúvida específica.
Além disso, não existe tópico para que uma pessoa o responda...
Todos os tópicos do fórum são abertos para que qualquer um pergunte e responda.
Atenciosamente,
Malacarne
OK.
- 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