Mostrando valor do indicador no candle.

 

Estou tentando colocar para o indicador de Médias Moveis aparecer com um print a cada tick (Meramente educativo para aprender a programar);

Só que quando coloco o robô para rodar o mesmo não me mostra valor nenhuma.

Segue o meu código.

//+------------------------------------------------------------------+
//|                                                       BUFFER.mq5 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+

int MA_Handle;
double MA_Buffer[];

int OnInit()
  {
//---
     EventSetTimer(5);
     MA_Handle = iMA(_Symbol,_Period,10,0,MODE_EMA,PRICE_CLOSE);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  EventKillTimer();
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
    CopyBuffer(MA_Handle,0,0,5,MA_Buffer);
   ArraySetAsSeries(MA_Buffer,true);
   printf("O valor da media movel no candle corrente é = ", MA_Buffer[0]);
  }
//+------------------------------------------------------------------+


Não me mostra nada conforme a imagem.



Alguém poderia por favor me ajudar nisso, estou travado por causa disso.

Negociação Automatizada e Análise de Estratégia
Negociação Automatizada e Análise de Estratégia
  • www.mql5.com
MQL5: linguagem de estratégias de negociação inseridas no Terminal do Cliente MetaTrader 5. A linguagem permite escrever seus próprios sistemas automáticos de negócios, indicadores técnicos, scripts e bibliotecas de funções
 

Bom dia!

Experimente tirar a linha "ArraySetAsSeries(MA_Buffer,true);", esse comando é para ordenar os resultados, quando uso o IMA não uso essa função.

Atenciosamente,

Daniel

 

Bom dia Daniel,


Já fiz isso,


E mesmo assim o valor do indicador não aparece no print.

Alguém poderia testar e caso tiver algo parecido mas que funcione mandar aqui para eu copiar e tentar achar o meu erro ?.


Obrigado.

 
icarovidal:

Bom dia Daniel,

Já fiz isso,

E mesmo assim o valor do indicador não aparece no print.

Alguém poderia testar e caso tiver algo parecido mas que funcione mandar aqui para eu copiar e tentar achar o meu erro ?.

Obrigado.


Olá icarovidal,

O erro está na chamada da função printf. Experimente utilizar a função nativa Print do MetaTrader.

Print("O valor da media movel no candle corrente é = ", MA_Buffer[0]);

Abraços,
Malacarne

 
Rodrigo Malacarne:


Olá icarovidal,

O erro está na chamada da função printf. Experimente utilizar a função nativa Print do MetaTrader.

Abraços,
Malacarne

Rafael muito obrigado,


Funcionou mudando o printf por Print.


Obrigado a todos.

Razão: