Inicio Trading Sistemático Publicación

Asesor Experto Basado en Medias Móviles: Tu Guía para MetaTrader 4

Archivos adjuntos
13617.zip (118.38 KB, Descargar 2 veces)

Como trader, siempre estamos en busca de herramientas que nos ayuden a maximizar nuestras ganancias. Hoy quiero hablarte sobre un Asesor Experto que he desarrollado, basado en dos líneas de la media móvil, con un código creado por Sergey Diubakin.

Este Asesor Experto se utilizó para operar en una cuenta PAMM. A pesar de que la intervención humana (es decir, yo) resultó en un beneficio neto del 20%, el rendimiento máximo que se podría haber alcanzado fue del 84% sobre el depósito inicial.

Periodo de Trading Real: del 23.02.2015 al 23.07.2015.

Según mi experiencia, operar con este Asesor Experto requiere un depósito considerable, entre 15,000 y 20,000 como mínimo.

El indicador de Media Móvil se utiliza para las operaciones. Si la línea de la media móvil rápida está por encima de la línea de la media móvil lenta y la distancia entre ambas es mayor de lo especificado, se abre una orden de compra.

Para abrir una orden de venta, se utilizan los valores opuestos de los indicadores. El cierre de las órdenes se realiza según los valores del indicador de media móvil.

Este Asesor Experto también cuenta con módulos adicionales: distancia entre las líneas de las medias móviles rápida y lenta, Take Profit, Stop Loss, Trailing Stop, distancia entre órdenes (hacia arriba y hacia abajo), método de promediado de Take Profit, horario de operaciones, Turn, y el aumento del primer lote principal en caso de que el anterior se cierre con pérdida.

Algoritmo del Asesor Experto:

  1. El EA verifica si hay órdenes abiertas anteriormente.
  2. Si no hay órdenes abiertas, analiza el gráfico y, si se cumplen todas las condiciones especificadas en la configuración, abre la primera orden principal.
  3. Después de abrir la primera orden, establece los niveles de Take Profit y Stop Loss (si esos módulos están habilitados).
  4. Si la primera orden se cierra con pérdida, se puede abrir la siguiente con un tamaño incrementado.
  5. Si la primera orden está colocada, se habilitan los módulos de Step Up y Step Down, y si el precio alcanza los valores especificados, se colocan órdenes adicionales para estos módulos. Las órdenes adicionales solo se pueden colocar si el EA ha abierto previamente la primera orden principal o hay órdenes adicionales sin cerrar.
  6. Este Asesor Experto tiene 2 modos de operación:
    • a) En el modo 1, si la MA rápida está por encima de la MA lenta, el EA coloca órdenes de compra; al cambiar la tendencia (MA rápida debajo de la MA lenta), se cierran todas las órdenes abiertas y se colocan órdenes de venta.
    • b) En el modo 2, si el EA ha abierto órdenes de compra y la tendencia cambia, las órdenes permanecen abiertas. El EA puede colocar órdenes de venta solo cuando la MA rápida esté por debajo de la MA lenta y todas las órdenes del EA estén cerradas (se alcanza Take Profit, Stop Loss o se cierran manualmente).
  7. Este Asesor Experto cuenta con un módulo de horario de operaciones que, si está activado, permite al EA colocar la primera orden principal solo en el periodo de tiempo especificado. Este módulo no se aplica a las órdenes adicionales para los módulos Step Up, Step Down y Turn. Es decir, si hay órdenes abiertas previamente por el EA, y alguno de los módulos Step Up, Step Down o Turn está activado, entonces se colocarán órdenes adicionales sin importar el tiempo.

Configuraciones del Asesor Experto:

  1. Modo de operación:

    • 1 — si la tendencia cambia, se cierran todas las órdenes abiertas y se abren las órdenes opuestas;
    • 2 — si la tendencia cambia, las órdenes abiertas no se cierran (el EA espera hasta que se alcance Take Profit, Stop Loss o se cierren manualmente).
  2. MA Rápida — configuraciones para el plugin del indicador de media móvil: periodo, desplazamiento, método de MA. Se utiliza la media móvil incluida en el terminal MetaTrader 4.

  3. MA Lenta — configuraciones para el plugin del indicador de media móvil: periodo, desplazamiento, método de MA. Se utiliza la media móvil incluida en el terminal MetaTrader 4.

  4. Lote inicial

    4.1. Lote inicial

    • LotConst_or_not — permite al usuario elegir si comenzar a operar con el mismo lote o recalcular el lote inicial dependiendo del cambio de depósito:
      true — el primer lote será constante y igual al valor de Lots, especificado a continuación;
      false — el primer lote cambiará dinámicamente según el cambio del depósito y dependerá del parámetro RiskPercent y el tamaño del depósito. Lots = AccountBalance() * (RiskPercent / 100.0) / 10000.0
    • Lots — establece el lote inicial para operar;
    • RiskPercent — establece el lote inicial dependiendo del depósito.

    4.2. Aumento del lote

    • FirstLotMultiplicator — parámetro responsable de la relación de aumento de cada siguiente primera orden principal en caso de que la anterior se cierre con pérdida;
    • First_LotSize — si la primera orden principal alcanza un valor especificado en esta línea, entonces el EA coloca Take Profit en el nivel establecido en la siguiente línea (First_LotSize_TakeProfit), pero no en el punto 5 de las configuraciones del EA;
    • First_LotSize_TakeProfit — un nuevo nivel de Take Profit de la primera orden principal, en caso de que alcance el tamaño establecido en la línea First_LotSize;
    • First_MaxLotSize — el valor máximo al que el EA incrementará la primera orden principal. Si el tamaño de la primera orden a colocar es mayor que el valor especificado en esta línea, entonces el EA colocará la primera orden según el punto 3.1. de las configuraciones del EA.
  5. Configuraciones de la distancia entre la MA Rápida y la MA Lenta

    • Distancia — la distancia requerida entre la MA Rápida y la MA Lenta para abrir una orden, medida en puntos del gráfico al que está adjunto el EA.
      true — el módulo de Distancia está activado (on),
      false — el módulo de Distancia está desactivado (off).
  6. Beneficio en puntos — TP

    • TakeProfit — el valor deseado de beneficio en puntos al cerrar una orden o un grupo de órdenes.
      true — el módulo de TakeProfit está activado (on),
      false — el módulo de TakeProfit está desactivado (off).
  7. Método de promediado — Variante — una variante del método de nivel de promediado de TakeProfit (seleccionable entre 1 o 2).

    • Variante 1. El promediado del nivel ocurre de acuerdo a esta fórmula: (precio de apertura 1 + precio de apertura 2 + precio de apertura 3 + precio de apertura N) / N + nivel de Take Profit, especificado en las configuraciones del EA.
    • Variante 2. El promediado del nivel se realiza de la siguiente manera: el EA determina el "nivel sin pérdidas" de cada posición (considerando cada swap y comisiones en las órdenes, abiertas por el EA en el momento del nivel de promediado de Take Profit) y añade el nivel de Take Profit especificado en las configuraciones del EA a ese precio.
  8. Stop en puntos — SL

    • StopLoss — valor de la pérdida en puntos, que se puede recibir, si el precio se mueve en la dirección opuesta (hacia la orden abierta).
      true — el módulo de StopLoss está activado (on),
      false — el módulo de StopLoss está desactivado (off).
  9. La distancia entre órdenes (Step Up) — la distancia (intervalo) entre órdenes abiertas en la cuadrícula de órdenes, establecida a lo largo de la "tendencia".

    true — el módulo de Step Up está activado (on),
    false — el módulo de Step Up está desactivado (off).

    9.1. Trailing stop — nivel de Stop Loss móvil.

    true — el módulo de Trailing stop está activado (on),
    false — el módulo de Trailing stop está desactivado (off).
  10. Distancia entre órdenes (Step Down) — la distancia (intervalo) entre órdenes abiertas en la cuadrícula de órdenes, establecida en contra de la "tendencia".

    true — el módulo de Step Down está activado (on),
    false — el módulo de Step Down está desactivado (off).

  11. El identificador de las órdenes del EA — Magic (Número Mágico) — el parámetro ayuda a los EAs a reconocer sus órdenes al operar en un mismo terminal.

  12. Logo y salida de datos — ShowTableOnTesting — el parámetro permite activar o desactivar la tabla (ganancias hoy, ayer, etc.): true - activado, false - desactivado.

  13. Marco de tiempo — código del programa que determina qué marco de tiempo del gráfico utilizará el EA para operar.

    • Actual — el marco de tiempo del gráfico especificado en el terminal.
    • M1, M5, M15, M30, H1, H4, D1, W1, MN1 — marcos de tiempo fijos.
  14. Horario de operaciones — módulo para abrir la primera orden principal a una hora específica.

    true — el módulo de Horario de operaciones está activado (on),
    false — el módulo de Horario de operaciones está desactivado (off).

  15. Turn — coloca órdenes límite de acuerdo al nivel de Stop Loss de la primera orden principal en la dirección opuesta.

    true — el módulo Turn está activado (on),
    false — el módulo Turn está desactivado (off).

    • Turn — la distancia a la que se coloca la orden pendiente opuesta.
    • LotMultiplicator — el parámetro responsable de la relación de aumento de las órdenes colocadas por el módulo Turn, en caso de que la orden anterior se cerró con pérdida (cerrada por Stop Loss, "a mano" o simplemente con pérdida);
    • Turn_TakeProfit — el nivel de Take Profit para las órdenes colocadas por el módulo Turn;
    • Turn_LotSize — si la orden a colocar por el módulo Turn excede el valor establecido en esta línea, entonces se utiliza un nuevo nivel de Take Profit para esa orden, que se especifica por el módulo Turn en la siguiente línea, pero no en la línea Turn_TakeProfit;
    • Turn_LotSize_TakeProfit — un nuevo nivel de Take Profit para las órdenes del módulo Turn, en caso de que las órdenes a colocar excedan el tamaño especificado en la línea Turn_LotSize;
    • Turn_MaxLotSize — el tamaño máximo de una orden a colocar por el módulo Turn. Si la orden a colocar excede el tamaño especificado, entonces el EA no la coloca.

Resultados de Trading:

Resultados de Trading

Esta versión del Asesor Experto se utilizó para operar en una cuenta PAMM. Periodo de Trading Real: del 23.02.2015 al 23.07.2015.

El beneficio máximo que se pudo alcanzar fue del 84% sobre el depósito inicial. Sin embargo, debido a mi intervención, el beneficio neto fue solo del 20%. La razón de esto fue que interferí con el trading del EA.

Las pruebas que realicé mostraron rendimientos netos del 5%, 10%, y 15% por mes, con un drawdown que no superó el 20% del depósito.

P.D. Los conjuntos adjuntos operaron únicamente en la cuenta en la que traduje. Se requieren configuraciones personalizadas del EA para cada DC/broker y cuenta (demo o real).

No te dejes llevar por la optimización, ya que no siempre ayuda y puede ignorar la velocidad de colocación de órdenes en movimientos muy rápidos.

Publicaciones relacionadas

Comentarios (0)