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.
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):
| 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. |
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)));

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
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
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
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
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.