Mira cómo descargar robots gratis
¡Búscanos en Twitter!
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

PropGuard 1.02 - account risk manager for prop firm accounts - Asesor Experto para MetaTrader 5

Sergej Michajlik
Sergej Michajlik
Happy to do Pine Script to MQL5 conversions, fix or finish an existing EA, add risk management to one, or just run an honest backtest on something you already have.
| Spanish English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Visualizaciones:
16
Ranking:
(2)
Publicado:
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

PropGuard 1.02 — gestor de riesgos a nivel de cuenta para cuentas de empresas de trading por cuenta propia

Una sola instancia en cualquier gráfico supervisa todas las posiciones de la cuenta, independientemente de si las ha abierto un EA o mediante operaciones manuales, y las cierra todas antes de que se alcance el límite de pérdidas diario o máximo de la empresa. La versión 1.02 añade límites de tamaño en dinero, un requisito de stop-loss y un límite de riesgo por posición.


Por qué la 1.02: cifras de mi propia cuenta

Opero manualmente una cuenta FTMO de 100 000 junto con mis propios EA. Cuatro días de mi diario (46 operaciones manuales) revelaron dos cosas que los límites de pérdidas diarios y máximos por sí solos no detectan:

  • 17 operaciones finalizaron sin stop-loss. La más larga duró 2 horas y 22 minutos.
  • Una operación de 18 lotes en GER40 tenía un stop de 94 puntos y perdió 1 933 —aproximadamente dos tercios del límite diario del 3 %— en una sola operación.

La captura de pantalla reproduce ambas operaciones en el Strategy Tester (una versión solo para pruebas abre las dos operaciones; el código de protección es el que se adjunta aquí), con InpRequireStopLoss en «true», InpMaxRiskPerPos en 750 y los límites de tamaño desactivados para que solo actúen las reglas de stop: el stop de 18 lotes se ajusta de inmediato al límite de 750, y los 8 lotes sin stop se cierran tras 62 segundos.


Qué hace

Pérdida diaria. A la hora de reinicio (por defecto, las 01:00 del servidor, que son las 00:00 CET en FTMO), registra el capital. Si el saldo neto cae más de un InpDailyLossPct del InpInitialBalance durante el día, se cierran todas las posiciones, se eliminan las órdenes pendientes y, con InpBlockAfterBreach, cualquier nueva posición se vuelve a cerrar hasta el siguiente reinicio. Establece el umbral por debajo de la norma de la empresa: un 4 % para una norma del 5 %, un 2,5 % para una norma del 3 %, de modo que haya margen para el deslizamiento al cerrar.

Pérdida máxima. Tres formas de medirla (InpMaxLossMode):

  • estática: a partir del saldo inicial (evaluaciones clásicas en dos pasos),
  • móvil: a partir del patrimonio máximo registrado, actualizado en cada tick,
  • saldo diario variable: a partir del saldo más alto registrado en un reinicio diario. Así es como el «1-Step Challenge» de FTMO recalcula su límite mínimo a medianoche, y dicho límite nunca baja.

El filtro se activa al alcanzar el InpMaxLossPct (por defecto, el 8 % para una regla del 10 %).

Los límites de tamaño se establecen en dinero, no en lotes. Un límite por lotes no tiene sentido entre distintos instrumentos: 15 lotes de un CFD sobre un índice a 25 000 valen unos 430 000, 15 lotes de otro índice a 7 700 valen unos 115 000, y 15 lotes de EUR/USD valen unos 1 750 000. PropGuard calcula cada posición como lotes × precio actual × valor de un punto por lote, en la divisa de la cuenta, y compara ese valor con:

  • InpMaxNotionalPerPos: se cierra cualquier posición individual cuyo valor supere este límite.
  • InpMaxNotionalTotal: cuando el valor total de todas las posiciones abiertas supera este límite, se cierra la posición más reciente, luego la siguiente más reciente, hasta que se cumpla el límite.

Por qué el dinero: una variación del 1 % sobre una exposición de 300 000 supone 3 000, sea cual sea el símbolo. Si el límite diario es de 3 000, esa es la cifra que hay que establecer. El antiguo InpMaxLotsPerPos sigue ahí (0 = desactivado) para quien también quiera un límite de lotes.

Requisito de stop-loss. Con InpRequireStopLoss, cualquier posición que aún no tenga un stop-loss tras InpStopGraceSeconds desde su apertura se cerrará. Sesenta segundos son suficientes para introducir uno.

Límite de riesgo por posición. InpMaxRiskPerPos es la cantidad máxima de dinero que una posición puede arriesgar entre su precio de apertura y su stop-loss. Si un stop-loss supone un riesgo superior, PropGuard lo desplaza hasta la distancia que supone exactamente el límite. Si el mercado ya ha superado esa distancia en el momento de la comprobación, la posición se cierra. El límite se expresa en la divisa de la cuenta, por lo que se adapta a todos los instrumentos. Las posiciones cuyo stop ya esté en beneficios no se modifican.

Información sobre el mejor día. Con InpBestDayInfo, el registro muestra, en cada reinicio, el día más rentable como porcentaje de la suma de todos los días positivos. La regla «1-Step» de FTMO exige que ese porcentaje sea como máximo del 50 % para superar el reto. Es solo información, no se realiza ninguna acción.

Además: una ventana de negociación y un cierre los viernes (horario del servidor), un filtro de noticias de alto impacto del calendario económico de MT5, un número mágico que excluir, notificaciones push ante cada acción y un registro CSV por cuenta en MQL5/Archivos. El estado (inicio del día, indicador de incumplimiento, saldo diario máximo) se guarda en las variables globales de la terminal, por lo que un reinicio tras un incumplimiento no reactiva la negociación antes del siguiente reinicio.


Entradas

  • InpInitialBalance: el tamaño de la cuenta al que se refieren los porcentajes.
  • InpDailyLossPct, InpMaxLossPct, InpMaxLossMode: los dos límites y cómo se mide la pérdida máxima.
  • InpResetHour, InpResetMinute: el reinicio diario de la empresa en hora del servidor.
  • InpMaxLotsPerPos, InpMaxNotionalPerPos, InpMaxNotionalTotal: límites de tamaño (0 = desactivado).
  • InpRequireStopLoss, InpStopGraceSeconds: requisito de stop-loss.
  • InpMaxRiskPerPos: límite de riesgo por posición en la divisa de la cuenta (0 = desactivado).
  • InpBestDayInfo: ratio del mejor día en el registro.
  • InpCloseOnBreach, InpBlockAfterBreach: qué ocurre en caso de incumplimiento.
  • InpUseWindow, InpWindowStartHour, InpWindowEndHour, InpFridayClose, InpFridayCloseHour: reglas temporales.
  • InpUseNewsFilter, InpNewsCurrencies, InpNewsMinutesBefore, InpNewsMinutesAfter — ventana de noticias.
  • InpPushAlerts, InpMagicToIgnore.


Ejemplo, FTMO 1-Step 100k (3 % diario, 10 % de trailing, mejor día 50 %): InpInitialBalance 100000, InpDailyLossPct 2,5, InpMaxLossPct 8, InpMaxLossMode saldo diario con trailing, InpResetHour 1, InpMaxNotionalPerPos 300000, InpMaxNotionalTotal 450 000, InpRequireStopLoss true, InpMaxRiskPerPos 750, InpBestDayInfo true.

Ejemplo, 2 pasos, 200 000 (5 % diario, 10 % estático): InpInitialBalance 200 000, InpDailyLossPct 4, InpMaxLossPct 8, InpMaxLossMode estático, InpResetHour 1.


Notas. En el Strategy Tester, el EA abre y cierra una posición de lote mínimo al inicio para que se pueda ver cómo funciona la lógica de cierre; en una cuenta real o de demostración nunca abre ninguna posición. El Strategy Tester no dispone de calendario económico, por lo que el filtro de noticias permanece inactivo en él. Las reglas de hora utilizan la hora del servidor; comprueba la hora de reinicio tras un cambio de horario de verano, ya que la medianoche de la empresa y el reloj del servidor no siempre cambian en la misma fecha.


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

ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation

Marca las velas de impulso: cuerpo de al menos ATR × multiplicador, cuerpo de al menos un porcentaje establecido del rango de la vela, cierre cerca del extremo, confirmación opcional del volumen de ticks. Flecha verde debajo de un impulso alcista, roja encima de uno bajista. Solo barras cerradas, sin repintado. Las señales se encuentran en los dos búferes para que un asesor experto pueda leerlas con iCustom.

Stormbreaker ADX - Supertrend and DMI Trend EA Stormbreaker ADX - Supertrend and DMI Trend EA

Asesor experto de MetaTrader 5 que sigue la tendencia y combina la dirección de Supertrend con la confirmación del ADX y el DI. Utiliza un stop loss basado en el ATR y asume un riesgo de hasta el 0,5 % del capital por operación.

NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias

Panel de operaciones manuales arrastrable en el gráfico con tendencia en múltiples marcos temporales, indicaciones de ATR para SL/TP, un stop dinámico y opciones de COMPRA/VENTA/CERRAR TODO con un solo clic.

Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest

Un EA de ruptura al estilo «Turtle» para el oro. Compra cuando una barra de H4 cierra por encima del máximo de las últimas 20 barras en una tendencia alcista, con un stop de 2 ATR y un objetivo de 2R. Backtest realizado en el XAUUSD desde enero de 2020 hasta septiembre de 2026: +9.029,72 con un capital inicial de 10.000 y un riesgo del 1 %, factor de beneficio de 1,77, drawdown máximo del 11,38 % y 6 de 7 años rentables.