Inicio Indicador técnico Publicación

Optimiza tu Media Móvil Cruzada en MetaTrader 4

Archivos adjuntos
9528.zip (6.69 KB, Descargar 0 veces)

Versión Actualizada.

A continuación, te explico las novedades.



Si todavía crees en la Media Móvil Cruzada y, como programador, siempre buscas la solución más sencilla, me encontré con la frase "no hay una configuración mágica para la MA cruzada". Este indicador prueba varias configuraciones cada vez que cambia el marco de tiempo o el símbolo, o incluso con cada nueva vela. Funciona "comerciando" las últimas 100 velas y eligiendo las configuraciones con mayor éxito. Simplemente mide la distancia entre una señal corta y una larga, como si alguien hubiera operado sin un stop loss. También tiene en cuenta el spread.

La ventana inferior muestra la distancia entre la media móvil corta y la larga; los valores positivos son para operaciones largas y los negativos son para cortas, medidos en pips. Usando el "oscilador de ganancias", puedes cerrar una operación en ganancias evaluando si las operaciones cortas/largas tienen una diferencia máxima y cerrando justo antes del máximo.

La línea superior indica "Ganancia hoy con MA 5/19 es de 60 pips". El indicador o el usuario ha elegido 5 para la MA rápida y 19 para la MA lenta. El siguiente campo de texto muestra los resultados de ayer seguidos de la señal Larga o Corta. Los traders pueden agregar dos medias móviles al gráfico y configurarlas con los valores indicados.

Estoy buscando más recomendaciones sobre MA en la literatura.

Parámetros

  • PeriodShort=6;
    Periodo para la MA rápida. Ignorar si se optimiza.
  • PeriodLong=40;
    Periodo para la MA lenta. Ignorar si se optimiza.
  • Method=0;
    Método para iMA.
  • Optimize=true;
    El indicador elige automáticamente los valores para la MA rápida y lenta.
  • DrawTringles=true;
    Dibuja triángulos en el gráfico.
  • MinShortMA=2;
    MaxShortMA=20;
    MaxLongMA=100;
    Valores mínimos y máximos para la optimización, probará valores entre 2 y 20 para la MA rápida y de 7 a 100 para la MA lenta.
  • StepLongMA=5;
    StepShortMA=5;
    Para acelerar la búsqueda, prueba cada tercer valor.
  • CountOptimize=200;
    Analiza 200 velas del pasado. Cuantas más velas analices, más lento será. Un número grande también puede resultar en menos buenos resultados.
  • OptimizeOnNewCandle=false;
    Iniciar optimización en cada nueva vela. Nota: La optimización puede tardar y ralentizar tu terminal.
  • Alarm=true;
    Sonar una alarma si surge una nueva señal.

El siguiente paso es crear un Asesor Experto, aunque todavía me pregunto cómo detectar una tendencia lateral que no debería ser operada con MA cruzada. Hasta ahora, mi EA basado en MA cruzada optimizada a veces genera excelentes ganancias y luego las pierde al día siguiente.

Versión Actualizada

Nuevas características:



- El indicador ahora dibuja las medias móviles dentro del gráfico; el "oscilador de ganancias" está en un indicador diferente (MAProfit2), ambos se comunican mediante variables globales.


- Soporta Canales de MA (ver ebook en www.vnchanger.org), la MA lenta se divide en dos líneas, una para los valores bajos y otra para los altos, lo que debería evitar pérdidas en un mercado lateral.


- En lugar de probar todas las combinaciones, puede probar ciertos rangos de MA encontrados en la literatura. Para hacer esto, establece OptimizeAll en false y OptimizeSystems en true.


Puedes agregar o modificar la tabla de sistemas. Asegúrate de terminarla con 0,0,0,0,0,0.



extern bool OptimizeAll=false;
extern bool OptimizeSystems=true;

int Systems[] = {PRICE_MEDIAN,MODE_SMA,50, PRICE_MEDIAN,MODE_SMA,200,
PRICE_MEDIAN,MODE_SMA,50, PRICE_MEDIAN,MODE_SMA,100, //
Death Cross
PRICE_MEDIAN,MODE_SMA,10, PRICE_MEDIAN,MODE_SMA,40,
PRICE_MEDIAN,MODE_SMA,13, PRICE_MEDIAN,MODE_SMA,26,
PRICE_MEDIAN,MODE_SMA,5, PRICE_MEDIAN,MODE_SMA,10,
PRICE_CLOSE, MODE_EMA,5, PRICE_OPEN, MODE_EMA,6,
PRICE_MEDIAN,MODE_SMA,3, PRICE_MEDIAN,MODE_SMA,8,

0,0,0,0,0,0};


- Se pueden dar nuevas alertas en forma de voz; para soportar esto, necesitas descargar gspeak, por ejemplo desde https://www.mql5.com/en/code/8621.



Si no deseas voz, necesitas modificar el código. Elimina las líneas desde #import "speak.dll" hasta #import y descomenta la función gSpeak. Agradece al autor por esta maravillosa DLL.



#import "speak.dll"
void gRate(int rate);
void gVolume(int rate);
void gPitch(int rate);
void gSpeak(string text);
#import

// si no tienes (o no quieres) la speak.dll descomenta esto
/*
void gSpeak(string x)
{
}
*/

Si no eliminas la voz, después de algunas ganancias, puede que empieces a amar la voz de "Oncle Sam" hablando.



- Al iniciar por primera vez o al cambiar parámetros, recuerda la vela de la primera operación, esto debería evitar que se repinte operaciones antiguas con diferentes.



- Los triángulos ahora tienen tres colores: Verde para operaciones largas, Rojo para cortas y Violeta para operaciones con pérdida (largas o cortas). Los colores pueden modificarse en el código fuente:

int ColorLongTrade = MediumSpringGreen;
int ColorShortTrade = Red;
int ColorBadTrade = Violet;

- Los pasos en la Optimización de MA se han establecido en 5.

- El nombre interno de este indicador se ha cambiado a SMA (Asistente Inteligente ... muestra cómo deberías haber operado después).


Optimizador de MA


Publicaciones relacionadas

Comentarios (0)