Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Asesores Expertos

Monday Dip EA- Index Mean Reversion D1 - Asesor Experto para MetaTrader 5

chen guang
chen guang
Desarrollador Quant | Especialista en EA y Trading Algorítmico
Especializado en Expert Advisors de alto rendimiento para MT4/MT5, indicadores personalizados y sistemas automatizados con estricta gestión de riesgo.
🚀 Recursos gratis y backtests: rbot.cc
| Spanish English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Visualizaciones:
11
Ranking:
(1)
Publicado:
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

El asesor experto opera directamente en el gráfico del símbolo al que esté vinculado (sin símbolos predefinidos). Ejecuta un máximo de una operación por semana y todas las decisiones de la estrategia se calculan exclusivamente a partir de los datos de las velas cerradas diarias (D1), según la hora del servidor.


⚡ Reglas fundamentales

  • Regla 1 — Entrada: Al cierre del lunes, se compara el precio de cierre con el cierre de la sesión anterior (normalmente el viernes). Solo se abre una posición larga si el cierre del lunes es estrictamente inferior al cierre del día de negociación anterior. Esta comprobación se realiza solo una vez a la semana.
  • Regla 2 — Salida: La posición abierta se cierra automáticamente al cierre diario del miércoles (ejecutado en el primer tick de la siguiente sesión diaria), independientemente de si hay ganancias o pérdidas. Si no se alcanza el cierre del miércoles, cualquier cierre diario posterior (jueves, viernes o cierre del fin de semana) activará la salida.
  • Regla 3 — Stop Loss y seguridad: Se aplica un Stop Loss basado en un porcentaje (InpStopLossPercent) al entrar en la operación, respetando la distancia mínima de stop del bróker (SYMBOL_TRADE_STOPS_LEVEL). Si fallan 5 intentos consecutivos de aplicar o modificar el Stop Loss, el EA intenta un cierre inmediato en el mercado para garantizar la seguridad del capital. Nota: No hay objetivo de Take Profit; las salidas se basan exclusivamente en el tiempo y en los stops.

🛡️ Filtros de entrada opcionales

Ambos filtros son opciones opcionales que solo pueden restringir aún más las entradas (nunca crearán entradas por sí mismas ni flexibilizarán la Regla 1):

  • Filtro de fuerza interna de la barra (IBS): Calcula IBS = (Cierre - Mínimo) / (Máximo - Mínimo) para la vela del lunes. Solo se permite la entrada si IBS <= InpIBSMax. Si el Máximo es igual al Mínimo, se ignora ese día y se registra.
  • Filtro de media móvil (MA): Requiere que el cierre del lunes se sitúe estrictamente por debajo de una media móvil simple (InpMAPeroid) calculada sobre las velas D1 cerradas, incluido el lunes.

⚙️ Especificaciones clave

  • Marco temporal del gráfico: Independiente del marco temporal (utiliza internamente la serie D1). Se recomienda asociarlo a un gráfico D1 para facilitar la supervisión del registro.
  • Compatibilidad con símbolos: Compatible con múltiples índices (US500, UK100, GER40, etc.).
  • Gestión de riesgos: Límite estricto de 1 posición con una sólida lógica de reintentos para la ejecución de órdenes y cierres de emergencia.

Entradas

Entrada Valor por defecto Unidad Significado y efecto
InpLots 0,10 lotes Tamaño fijo de la posición solicitado para cada entrada. Se redondea al paso de volumen del símbolo; un tamaño inferior a SYMBOL_VOLUME_MIN anula la entrada (nunca se redondea al alza), mientras que un tamaño superior a SYMBOL_VOLUME_MAX se limita al máximo.
InpStopLossPercent 10,0 porcentaje del precio de entrada Distancia del stop loss por debajo del precio de entrada. Si el parámetro SYMBOL_TRADE_STOPS_LEVEL del bróker exige una distancia mayor, el stop se amplía. Los valores menores o iguales a 0 se rechazan al inicio: el EA no se ejecuta sin un stop.
InpMagic 20260922 identificador Número mágico que identifica las posiciones propias del EA. Solo se contabilizan y gestionan las posiciones en el símbolo del gráfico que llevan este número mágico.
InpMaxSlippagePoints 30 puntos Desviación máxima solicitada (tolerancia al deslizamiento) para la entrada y la salida del mercado. Se trata de una solicitud de tolerancia, no de un límite garantizado: el precio realmente ejecutado también depende del modo de ejecución y la política del bróker.
InpTradeComment «MonDip largo» texto Comentario adjunto a la orden de entrada, visible en el historial de operaciones de la plataforma.
InpUseIBS verdadero activado / desactivado Activa el filtro de entrada IBS opcional (véase más abajo). El filtro solo puede hacer que la entrada sea más estricta.
InpIBSMax 0,25 ratio en (0, 1] IBS máximo permitido de la barra del lunes. Los valores fuera del intervalo (0, 1] se rechazan al inicio.
InpUseMA verdadero activado / desactivado Activa el filtro de entrada opcional de media móvil a largo plazo (véase más abajo).
InpMAPeriod 180 barras diarias Período de la media móvil simple de los precios de cierre diarios, calculada sobre las barras D1 cerradas que terminan con la barra del lunes. Los valores inferiores a 2 se rechazan al inicio.
InpVerboseLog true activado / desactivado Muestra detalles adicionales en el registro. La línea de decisión semanal siempre se muestra, independientemente de esta opción.

La lógica principal en tres extractos

Los siguientes fragmentos se han extraído textualmente del código fuente enviado. Se trata de fragmentos seleccionados de la lógica de decisión, no de programas completos ejecutables. Señal (regla 1):

//--- REGLA 1 ------------------------------------------------------
   // DECISIÓN D8: «por debajo» es una comparación estricta; si el cierre es igual, se considera una semana sin operaciones.
   if(!(bar.close < refBar.close))
      return(StringFormat("SKIP - rule 1: the Monday close %s is not below the previous trading day's close %s (equal or above).",
                          DoubleToString(bar.close, _Digits), DoubleToString(refBar.close, _Digits)));

Filtros (IBS y media móvil a largo plazo):

//--- FILTRO 1: SII ----------------------------------------------
   if(InpUseIBS)
   {
      if(!haveIBS)
      {
         // DECISIÓN D7
         return("SKIP - IBS filter: High == Low on the Monday bar, the ratio is undefined - no-trade day.");
      }
      if(!(ibs <= InpIBSMax))                        // DECISIÓN D8: «<=», tal y como se especifica
         return(StringFormat("SKIP - IBS filter: IBS %.4f is above InpIBSMax %.4f.", ibs, InpIBSMax));
   }

   //--- FILTRO 2: media móvil a largo plazo -------------------------------------
   if(InpUseMA)
   {
      if(!haveMA)
         return(StringFormat("SKIP - MA filter: not enough daily history to compute the MA(%d).", InpMAPeriod));
      if(!(bar.close < ma))                          // DECISIÓN D8: uso estricto de «<»
         return(StringFormat("SKIP - MA filter: the Monday close %s is not below the MA(%d) %s.",
                             DoubleToString(bar.close, _Digits), InpMAPeriod, DoubleToString(ma, _Digits)));
   }

Salida (cierre del miércoles y posteriores):

   MqlDateTime dtBar;
   TimeToStruct(tBar, dtBar);                        // DECISIÓN D18
   if(!BarIsAtOrAfterWednesday(dtBar.day_of_week))
      return;

   // DECISIÓN D2: la salida se activa al cierre de la barra del miércoles y
   // Se ejecuta en el primer tick posterior a ese momento y se vuelve a intentar hasta que la posición quede en equilibrio.
   // DECISIÓN D24: «la barra se cerró» es la definición de MT5: el momento en que la siguiente
   // La apertura de la sesión diaria se rige por el reloj del servidor, no por la campana de cierre del mercado al contado.
   CloseOurPosition(StringFormat("rule 2 - the daily bar %s closed and it is a %s (Wednesday close reached)",
                                 TimeToString(tBar, TIME_DATE), WeekdayName(dtBar.day_of_week)));

Flujo semanal


Figura 1. Un ciclo semanal del EA: esquema, no es una captura de pantalla de la terminal ni datos de backtest.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/78343

ATR Monitor — Rango diario, semanal y mensual ATR Monitor — Rango diario, semanal y mensual

Muestra el ATR diario, semanal y mensual, el rango actual entre el máximo y el mínimo, dicho rango expresado como porcentaje del ATR y la variación del precio respecto a la apertura de cada período.

London Breakout EA: sencillo y transparente/El asesor técnico London Breakout: sencillo y transparente London Breakout EA: sencillo y transparente/El asesor técnico London Breakout: sencillo y transparente

EA gratuito de ruptura: rango asiático, ruptura en Londres, una operación al día, stop loss siempre activado, lote en función del % de riesgo. Sin grid, sin martingala. / Asesor gratuito: ruptura del rango asiático en la sesión de Londres, una operación al día, stop loss siempre activado, lot en función del porcentaje de riesgo. Sin grid ni martingala.

Marginal Drawdown Contribution Analyzer Marginal Drawdown Contribution Analyzer

Un script para cuentas que ejecutan varios asesores expertos o configuraciones. Agrega el resultado neto de cada configuración (número mágico, o número mágico y símbolo) por día natural y mide en qué medida cada una contribuye a la caída del valor de la cartera: caída añadida mediante el método «leave-one-out», porcentaje de la peor caída y porcentaje de la varianza de Euler. Muestra conclusiones, recomendaciones y una puntuación heurística de A+ a F. Se ejecuta directamente en una cartera de demostración integrada y está escrito en MQL5 puro.

GDS Renko Trade Manager — MetaTrader 5 GDS Renko Trade Manager — MetaTrader 5

Un gestor de operaciones manuales para MetaTrader 5: bloques Renko completos, punto de equilibrio y stop loss dinámico configurables, además de un panel de control Renko integrado en el gráfico. No realiza entradas automáticas.