Se basa en la Media Móvil Personalizada de la carpeta con ejemplos de indicadores.
La función de cálculo de la SMA no se ha modificado. El GMA se calcula en una función separada. Al final calculamos su diferencia.
Gracias. En el gráfico anterior se puede ver que el indicador está cumpliendo su función. ¿O no? Todavía tengo que trabajar mucho en ello para entenderlo mejor.
Yousufkhodja Sultonov: Gracias. En el gráfico anterior se puede ver que el indicador está cumpliendo su función. ¿O no?
El indicador lee lo que se da en la fórmula. Pero la interpretación de los resultados y el desarrollo de la ST sobre su base es una tarea mucho más difícil. Por cierto, por favor, comprueba si el GMA está contando correctamente.
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[]) { int i,limit; //--- first calculation or number of bars was changed double powr=1/(double)InpMAPeriod; if(prev_calculated==0)// first calculation { limit=InpMAPeriod+begin; //--- set empty value for first limit bars for(i=0;i<limit-1;i++) gma[i]=1.0; //--- calculate first visible value double firstValue=1;
Yousufkhodja Sultonov: Porque, no quieres ver. Veo que el indicador predijo inequívocamente un descenso incluso antes (al alza) de lo que el precio realmente bajó.
¿Lo es?
Incluso lo miré de nuevo.
Zy Un derivado de MA daría lo mismo. Incluso todavía predijo la dirección también).
elibrarius: El indicador cuenta lo que se da en la fórmula. Pero la interpretación de los resultados es una tarea mucho más difícil. Por cierto, ¿podría comprobar si la GMA es correcta?
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[]) { int i,limit; //--- first calculation or number of bars was changed double powr=1/(double)InpMAPeriod; if(prev_calculated==0)// first calculation { limit=InpMAPeriod+begin; //--- set empty value for first limit bars for(i=0;i<limit-1;i++) gma[i]=1.0; //--- calculate first visible value double firstValue=1;
Desgraciadamente, no sé mucho del código, que alguien entendido lo compruebe comparando con las fórmulas dadas o introduzca los precios de la prueba dada en la tabla original. Me parece, por el orden de los números, que estás contando correctamente.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Adjunto el indicador solicitado.
Se basa en la Media Móvil Personalizada de la carpeta con ejemplos de indicadores.
Función de cálculo del SMA sin cambios.
La GMA se calcula en una función separada.
Al final calculamos su diferencia.
Adjunto el indicador solicitado.
Se basa en la Media Móvil Personalizada de la carpeta con ejemplos de indicadores.
Función de cálculo del SMA sin cambios.
La GMA se calcula en una función separada.
Al final calculamos su diferencia.
Adjunto el indicador solicitado.
Se basa en la Media Móvil Personalizada de la carpeta con ejemplos de indicadores.
La función de cálculo de la SMA no se ha modificado.
El GMA se calcula en una función separada.
Al final calculamos su diferencia.
Gracias. En el gráfico anterior se puede ver que el indicador está cumpliendo su función. ¿O no? Todavía tengo que trabajar mucho en ello para entenderlo mejor.
Pregunta: ¿Qué periodo se utiliza?
No se puede ver nada, excepto lo que se puede ver sin indicadores.
Período M1. Está escrito en la esquina izquierda).
No veo nada, excepto lo que se puede ver sin indicadores.
Gracias. En el gráfico anterior se puede ver que el indicador está cumpliendo su función. ¿O no?
Por cierto, por favor, comprueba si el GMA está contando correctamente.
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[])
{
int i,limit;
//--- first calculation or number of bars was changed
double powr=1/(double)InpMAPeriod;
if(prev_calculated==0)// first calculation
{
limit=InpMAPeriod+begin;
//--- set empty value for first limit bars
for(i=0;i<limit-1;i++) gma[i]=1.0;
//--- calculate first visible value
double firstValue=1;
for(i=begin;i<limit;i++)
firstValue*=price[i];
firstValue=MathPow(firstValue, powr);
gma[limit-1]=firstValue;
}
else limit=prev_calculated-1;
//--- main loop
for(i=limit;i<rates_total && !IsStopped();i++){
gma[i]=gma[i-1] * (MathPow(price[i], powr) / MathPow(price[i-InpMAPeriod], powr));
}
//---
}
No se puede ver nada, excepto lo que se puede ver sin indicadores.
Período M1. Está escrito en la esquina izquierda).
Porque, no quieres ver. Veo que el indicador predijo inequívocamente un descenso incluso antes (al alza) de lo que el precio realmente bajó.
¿Lo es?
Incluso lo miré de nuevo.
Zy Un derivado de MA daría lo mismo. Incluso todavía predijo la dirección también).
El indicador cuenta lo que se da en la fórmula. Pero la interpretación de los resultados es una tarea mucho más difícil.
Por cierto, ¿podría comprobar si la GMA es correcta?
void CalculateGeometricalMA(int rates_total,int prev_calculated,int begin,const double &price[])
{
int i,limit;
//--- first calculation or number of bars was changed
double powr=1/(double)InpMAPeriod;
if(prev_calculated==0)// first calculation
{
limit=InpMAPeriod+begin;
//--- set empty value for first limit bars
for(i=0;i<limit-1;i++) gma[i]=1.0;
//--- calculate first visible value
double firstValue=1;
for(i=begin;i<limit;i++)
firstValue*=price[i];
firstValue=MathPow(firstValue, powr);
gma[limit-1]=firstValue;
}
else limit=prev_calculated-1;
//--- main loop
for(i=limit;i<rates_total && !IsStopped();i++){
gma[i]=gma[i-1] * (MathPow(price[i], powr) / MathPow(price[i-InpMAPeriod], powr));
}
//---
}