IndicatorCounted

 

Boa tarde,

Sou novato nestas andanças de MQL e encontrei um tópico onde dizia como passar de MQL4 para MQL5 onde estava a seguinte função:

int IndicatorCounted()

{

   if(prev_calculated>0) return(prev_calculated-1);

   if(prev_calculated==0) return(0);

   return(0);

} 

mas está  me a dar erro por o prev_calculated não estar definido. O pre_calculated supostamente não é uma variável prédefinida?

Alguém sabe como posso ultrapassar este problema?

Desde já o meu obrigado.

Cumprimentos.

 
DarkAngelRev:

Boa tarde,

Sou novato nestas andanças de MQL e encontrei um tópico onde dizia como passar de MQL4 para MQL5 onde estava a seguinte função:

mas está  me a dar erro por o prev_calculated não estar definido. O pre_calculated supostamente não é uma variável prédefinida?

Alguém sabe como posso ultrapassar este problema?

Desde já o meu obrigado.

Cumprimentos.

Olá DarkAngelRev,

Infelizmente prev_calculated é uma variável local dentro de OnCalculate. Portanto, você não pode utilizar essa variável dentro da função IndicatorCounted(), uma vez que essa função obrigatoriamente precisa ser definida fora do escopo de OnCalculate.

Logo, será preciso "chamar" a variável prev_calculated para a função IndiatorCounted através de argumento de função.

Algo como:

int IndicatorCounted(int _prev_calculated)
  {
   if(_prev_calculated>0) return(_prev_calculated-1);
   if(_prev_calculated==0) return(0);
   return(0);
  }

Apenas assim será possível utilizar a função IndicatorCounted() dentro de OnCalculate.

Abraços,
Malacarne

Razão: