Indicadores: Rex

 

Rex:

El indicador de las posibles reversiones del mercado a base del valor verdadero de las barras (True Value of Bar).

Autor: Scriptor

 

La segunda sentencia switch parece fuera de lugar, ya que es la misma que la primera.

switch(InpMethod)
{
case MODO_EMA: if(ExponentialMAOnBuffer(rates_total,prev_calculated,0,period_rex,BufferTVB,BufferRex)==0) return 0; break;
case MODO_SMMA: if(SmoothedMAOnBuffer(rates_total,prev_calculated,0,period_rex,BufferTVB,BufferRex)==0) return 0; break;
case MODE_LWMA: if(LinearWeightedMAOnBuffer(rates_total,prev_calculated,0,period_rex,BufferTVB,BufferRex,weight_sum)==0) return 0; break;
//---MODO_SMA
por defecto: if(SimpleMAOnBuffer(rates_total,prev_calculated,0,period_rex,BufferTVB,BufferRex)==0) return 0; break;
}
switch(InpMethod)
{
case MODO_EMA: if(ExponentialMAOnBuffer(rates_total,prev_calculated,period_rex,period_sig,BufferRex,BufferSignal)==0) return 0; break;
case MODO_SMMA: if(SmoothedMAOnBuffer(rates_total,prev_calculated,period_rex,period_sig,BufferRex,BufferSignal)==0) return 0; break;
case MODE_LWMA: if(LinearWeightedMAOnBuffer(rates_total,prev_calculated,period_rex,period_sig,BufferRex,BufferSignal,weight_sum)==0) return 0; break;
//---MODO_SMA
por defecto: if(SimpleMAOnBuffer(rates_total,prev_calculated,period_rex,period_sig,BufferRex,BufferSignal)==0) return 0; break;
}


debe cambiarse a

switch(InpMethod)
{
case MODO_EMA: if(ExponentialMAOnBuffer(rates_total,prev_calculated,0,period_rex,BufferTVB,BufferRex)==0) return 0; break;
case MODO_SMMA: if(SmoothedMAOnBuffer(rates_total,prev_calculated,0,period_rex,BufferTVB,BufferRex)==0) return 0; break;
case MODE_LWMA: if(LinearWeightedMAOnBuffer(rates_total,prev_calculated,0,period_rex,BufferTVB,BufferRex,weight_sum)==0) return 0; break;
//---MODO_SMA
por defecto: if(SimpleMAOnBuffer(rates_total,prev_calculated,0,period_rex,BufferTVB,BufferRex)==0) return 0; break;
}
switch(InpMethodSig)
{
case MODO_EMA: if(ExponentialMAOnBuffer(rates_total,prev_calculated,period_rex,period_sig,BufferRex,BufferSignal)==0) return 0; break;
case MODO_SMMA: if(SmoothedMAOnBuffer(rates_total,prev_calculated,period_rex,period_sig,BufferRex,BufferSignal)==0) return 0; break;
case MODE_LWMA: if(LinearWeightedMAOnBuffer(rates_total,prev_calculated,period_rex,period_sig,BufferRex,BufferSignal,weight_sum)==0) return 0; break;
//---MODO_SMA
por defecto: if(SimpleMAOnBuffer(rates_total,prev_calculated,period_rex,period_sig,BufferRex,BufferSignal)==0) return 0; break;
}
 
Adjunto la versión modificada basada en el informe de @Leif arriba, también he añadido una línea de nivel cero en el código. Tenga en cuenta que usted tiene que hacer clic en "Ir a la discusión" para ver el archivo adjunto.
Archivos adjuntos:
Rex.mq5  11 kb
 

La declaración de 'weight_sum' oculta la variable global MovingAverages.mqh 222 155

Advertencia al compilar.

 

Hola Scriptor, gracias por los indicadores libres, soy incapaz de escribir código, pero he estado usando un sitio web llamado FXDreema para tratar de crear un bot, me gustaría utilizar el indicador rex para probar, pero no muestra los búferes cuando cargo, ¿sería posible hacer esto?


Gracias