Olá schinestzki,
estou supondo que vc esteja com problemas em acessar o array com os dados do seu indicador.
Vc inicializou o indicador personalizado, criou o array _ma1[], deixou ele em série. Agora é só utilizar ele.
o índice 0 significa o valor atual da MA, os demais correspondem ao valor das barras anteriores. Se você não tivesse definido o array em série, o acesso ao índice seria ao contrário
Dê um
Print(_ma1[0]);
após a função CopyBuffer, se o seu código estiver correto, será possível visualizar o Print na aba Experts do mt5.
Espero ter ajudado.
obs: Quando você for postar em português, acho melhor utilizar o fórum dedicado a esta língua https://www.mql5.com/pt/forum , aqui é o fórum em inglês, é provável que poucas pessoas que sabem pt vejam o seu post.
Abraço,
Romeu.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Boa noite,
Gostaria da ajuda, pois preciso saber o valor da media móvel (em numero). Por exemplo nesse EA abaixo gostaria que em Comment aparecesse o valor atual da média móvel.
Sei que temos que usar o MqlParam e o Array para buscar as informações mas qual a variável que indica o valor da média móvel?
//+------------------------------------------------------------------+
//| SampleMQL5.mq5 |
//| Copyright
//| |
//+------------------------------------------------------------------+
#property copyright "Carlos"
#property link ""
#property version "1.00"
int MA1 = 0; // Declaring variable to store fast MA handle
MqlParam params[]; // Array for storing indicators parameters
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
ResetLastError();
MA1 = iCustom(NULL,0,"Examples\Custom Moving Average",
5, // Period
0, // Offset
MODE_SMA, // Calculation method
PRICE_CLOSE // Calculating on Close prices
);
Print("MA1 =",MA1," error =",GetLastError());
ResetLastError();
Comment ( Aqui gostaria do valor atual da media movel );
//---
return(0);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
double _ma1[];
ArraySetAsSeries(_ma1, true);
if (CopyBuffer(MA1,0,0,20,_ma1) < 0){Print("CopyBufferMA1 error =",GetLastError());}
//---
}
//+------------------------------------------------------------------+