Calculo de la media de un indicador
Publicado: 08 Nov 2024 18:57
Buenas tardes/noches.
El año pasado por estas fechas me encontré por Youtube un video antiguo donde relataban una posible estrategia para Forex y que procedí a implementar en MT4.
El tema es que dicha estrategia tenía entre su Setup de entrada una condición y era la siguiente:
"Cuando el valor de la media exponencial de 4 periodos del ATR de 14 periodos supera un determinado nivel"
(Donde los periodos de la media 4, y del ATR se pueden optimizar)
Estuve buscando por la web si había algún indicador parecido o función que hiciera eso mismo pero al no encontrar ninguno me puse a hacerlo yo.
Para obtener ese valor de EMA4(ATR14) hice el siguiente código en MT4:
El problema con el que me encontré es que con las optimizaciónes esto se eternizaba, la ejecución que me podrían llevar minutos en cuanto ponía a optimizar con esta media me tardaban horas.
¿Alguien ha hecho algo parecido?
¿Alguien tiene alguna idea para hacer ese proceso más rápido?
Ojo, creo que el código funciona pero he tenido que reconstruir mi repositorio de código y es posible que esta no sea la versión correcta............. no me hago responsable de "valores raros"
Y la última pregunta, ¿Creéis que este tipo de "indicadores/valores" no son una sobreoptimización por si mismos? Vamos si ¿merece la pena investigarlos?
Gracias
El año pasado por estas fechas me encontré por Youtube un video antiguo donde relataban una posible estrategia para Forex y que procedí a implementar en MT4.
El tema es que dicha estrategia tenía entre su Setup de entrada una condición y era la siguiente:
"Cuando el valor de la media exponencial de 4 periodos del ATR de 14 periodos supera un determinado nivel"
(Donde los periodos de la media 4, y del ATR se pueden optimizar)
Estuve buscando por la web si había algún indicador parecido o función que hiciera eso mismo pero al no encontrar ninguno me puse a hacerlo yo.
Para obtener ese valor de EMA4(ATR14) hice el siguiente código en MT4:
Código: Seleccionar todo
double MA_ATR(int period, int position, ENUM_MA_METHOD MAMethod) {
double MAATR = 0.0;
double atr_array[];
ArraySetAsSeries(atr_array, true);
ArrayResize(atr_array, period + 1);
SetIndexBuffer(0, atr_array);
for (int i = 0; i <= period; i++) {
atr_array[i] = iATR(Symbol(), Period(), 14, i);
}
MAATR = iMAOnArray(atr_array, 0, period, 0, MAMethod, position);
return (MAATR);
}
El problema con el que me encontré es que con las optimizaciónes esto se eternizaba, la ejecución que me podrían llevar minutos en cuanto ponía a optimizar con esta media me tardaban horas.
¿Alguien ha hecho algo parecido?
¿Alguien tiene alguna idea para hacer ese proceso más rápido?
Ojo, creo que el código funciona pero he tenido que reconstruir mi repositorio de código y es posible que esta no sea la versión correcta............. no me hago responsable de "valores raros"
Y la última pregunta, ¿Creéis que este tipo de "indicadores/valores" no son una sobreoptimización por si mismos? Vamos si ¿merece la pena investigarlos?
Gracias