Position Closure Management MT5
- Utilidades
- Versión: 1.40
- Actualizado: 7 marzo 2026
- Activaciones: 10
NOHEDGE — Gestor de cobertura y controlador de riesgos automatizado para MetaTrader 5
Una herramienta que solo cierra posiciones y nunca abre operaciones. Resuelve los pares de compra/venta que ya tienes abiertos, con un spread cero, en toda tu cuenta.
DESCRIPCIÓN GENERAL
Aplicar estrategias de grid, martingala o cobertura manual implica mantener constantemente abiertos pares de compra/venta que deben liquidarse en el momento exacto: antes de que el spread se amplíe en el rollover, antes de que una noticia repentina arruine tu cuenta o justo cuando alcances tu objetivo de beneficio diario. Hacerlo manualmente es lento, propenso a errores y estresante.
NOHEDGE automatiza todo el proceso. Analiza cada tick, empareja los pares de compra/venta opuestos en toda tu cuenta y los cierra mediante el mecanismo nativo CloseBy de MT5, que liquida ambas posiciones en una única transacción del servidor sin coste de spread. La compensación de volúmenes parciales está totalmente soportada, por lo que incluso las complejas estrategias de rejilla con múltiples lotes se liquidan de forma limpia.
Un EA, un gráfico, cobertura total de la cuenta: NOHEDGE supervisa y controla todos los símbolos simultáneamente desde cualquier gráfico al que lo adjuntes.
CARACTERÍSTICAS
Spread cero en los cierres de pares
La mayoría de los sistemas de cierre llaman a PositionClose() dos veces, una por cada parte de la operación, y pagan el spread completo dos veces. NOHEDGE utiliza la función CloseBy() de MT5, que liquida ambas partes en una sola solicitud al servidor sin coste de spread. En el oro o en pares volátiles con un spread de 30-50 puntos, eso supone dinero real en cientos de cierres. La coincidencia de volumen parcial gestiona cualquier combinación de tamaño de lote, con un recurso automático a PositionClose() para los brókers que no admiten CloseBy.
Interruptor principal y valores predeterminados seguros
EnableEA viene por defecto en «false», por lo que no se puede cerrar ni una sola operación hasta que lo actives. Esto hace que NOHEDGE sea seguro para conectarlo primero a una cuenta real con fines de observación: el panel de control, los botones de pánico y todos los elementos visuales permanecen totalmente activos mientras la automatización está en pausa.
Panel de control en tiempo real [novedad en la v1.4]
Un panel integrado en el gráfico muestra el recuento de compras y ventas con el volumen total, las ganancias y pérdidas por cada lado en tiempo real, las ganancias y pérdidas netas de todas las posiciones, las ganancias y pérdidas diarias con una barra de progreso animada entre el límite de pérdidas y el objetivo de ganancias, y el estado del filtro activo para el rollover, el spread, el modo CloseBy y el antibucle. Se actualiza cada 2 segundos.
P/L diario preciso con objetivo y límite de pérdidas
Muchas herramientas solo realizan un seguimiento de las ganancias y pérdidas flotantes de las posiciones abiertas. NOHEDGE suma todas las operaciones ya realizadas ese día antes de compararlas con tu objetivo, por lo que no se activa ningún cierre debido a una pérdida no contabilizada y no se pasa por alto ningún límite porque se hayan ignorado las ganancias anteriores. Cuando las ganancias y pérdidas diarias alcanzan el objetivo o caen hasta el límite, toda la cuenta se cierra automáticamente, con la precisión del bróker en lugar de basarse en estimaciones.
Tres botones de pánico con un solo clic, siempre activos
Tres botones permanentes en el gráfico: «CERRAR TODO», «CERRAR SOLO BENEFICIOS» y «CERRAR SOLO PÉRDIDAS». El panel de control, la protección contra el rollover y el filtro de spread nunca los desactivan: incluso con «EnableEA» en falso o con la ventana de rollover activa, se activan de inmediato, y el cierre de pánico omite deliberadamente el tiempo de espera antibucle para que todas las posiciones sigan siendo accesibles. Se centran horizontalmente por defecto y se reposicionan cuando se cambia el tamaño del gráfico.
Protección antibucle para los EA de rejilla
Los EA de rejilla y martingala vuelven a abrir posiciones en el instante en que se cierran, y sin un periodo de espera esto se convierte en un ciclo destructivo que agota el capital en segundos. El tiempo de espera del búfer circular funciona con un rendimiento de O(1) y bloquea el cierre repetido del mismo símbolo durante un intervalo configurable —cinco minutos por defecto—, tras lo cual se borra automáticamente.
Protección contra el rollover y filtro de spread
Un intervalo de inactividad configurable, de 23:55 a 00:10 por defecto, suspende el cierre automático en torno al rollover diario de swap, con tres comportamientos posibles: posponer, cerrar de todos modos o cerrar de forma selectiva según el spread de cada símbolo. Se aplica por separado al cierre de cobertura, a los límites diarios, al cierre basado en el tiempo y a los botones de pánico. Antes de cada intento de cierre también se realiza una comprobación del spread por símbolo, con umbrales distintos para los pares estándar y para las criptomonedas y el XAU, que también puede activarse opcionalmente fuera de la ventana de renovación.
Cobertura entre símbolos
Ningún otro gestor de cierres básico del MQL5 Marketplace detecta las coberturas entre diferentes símbolos. NOHEDGE empareja una compra de EURUSD con una venta de GBPUSD —algo habitual en estrategias basadas en la correlación y en las redes de cestas— y las cierra juntas con una coincidencia total de volúmenes parciales. Las posiciones individuales no emparejadas se procesan en la misma pasada cuando CloseSinglePositions está activo.
Cierre basado en el tiempo y filtro de días de negociación
Se puede programar un cierre forzado a una hora específica del servidor en días laborables seleccionables individualmente, que abarque todas las posiciones, solo de compra o solo de venta, con la exclusión opcional de criptomonedas y XAU. Ideal para un cierre el viernes por la tarde antes de la brecha del fin de semana. El cierre automatizado de coberturas cuenta con su propio interruptor independiente por día laborable.
Prioridad de cierre
Hay cuatro modos de orden de cierre disponibles: primero las más recientes, primero las más antiguas, primero las más rentables y primero las menos rentables, que se aplican de forma coherente en el cierre de pares, el cierre de posiciones individuales y el modo de símbolos cruzados.
Gestión de errores de nivel profesional
Lógica de reintento con retroceso exponencial, trade.ResultRetcode() para obtener códigos de rechazo precisos del bróker en lugar del poco fiable GetLastError(), mensajes de error específicos para cada TRADE_RETCODE conocido y recurso automático al cierre directo cuando CloseBy no está disponible — todo ello probado en producción en cuentas reales que funcionan las 24 horas del día, los 7 días de la semana, en un VPS.
Multinstancia y multistrategia
El filtro de «número mágico» restringe todas las operaciones a las posiciones que tengan un número mágico determinado. El gráfico A puede gestionar tu EA de rejilla con el número mágico 1001, mientras que el gráfico B gestiona tu scalper con el número mágico 2002: la misma cuenta, totalmente independiente, sin conflictos.
Control de diseño y marcadores de posición
Los parámetros independientes «PanelTopOffset» y «ButtonTopOffset» desplazan hacia abajo, por separado, el panel de control y los botones de pánico desde la parte superior del gráfico [novedad en la v1.4], para aquellos brókers cuyas barras de herramientas se superponen al encabezado del gráfico. Los marcadores de flecha señalan cada posición abierta, en verde para las compras y en rojo para las ventas, con la opción de limitarlos al símbolo actual.
PARÁMETROS
Cada parámetro viene con un valor predeterminado operativo. El único que debes cambiar es «EnableEA».
Interruptor principal. «EnableEA» (false) es el interruptor principal de encendido/apagado; «false» significa modo de supervisión con el panel de control y los botones activos y sin cierre automático.
Cierre de cobertura. EnableHedgeClosing (true) habilita la detección y el cierre automáticos de pares de cobertura. CloseOrder (más reciente primero) permite elegir entre el más reciente, el más antiguo, el más rentable y el menos rentable. «CloseOnlyMagic» (false) restringe la gestión a las posiciones que coincidan con «MagicNumber» (12345). «UseDirectClose» (false) utiliza «PositionClose» en lugar de «CloseBy» para los brókers que no admiten «CloseBy». MaxPositionsPerCycle (5) limita el número de posiciones cerradas por tick para reducir la carga del servidor. MaxRetries (3) y RetryDelay (200 ms, que se duplica con cada intento, con un límite máximo de 1 s) regulan los rechazos del bróker, y VerboseLogging (false) habilita el registro detallado en el diario.
Límites diarios de ganancias y pérdidas. EnableDailyLimits (true) activa el sistema. DailyProfitTarget (+1000,0) y DailyLossLimit (-500,0) se establecen en la divisa de la cuenta y cierran todas las posiciones cuando las ganancias y pérdidas diarias alcanzan o caen por debajo de dichos valores. DailyLimitBehavior (respetar el rollover) regula cómo se gestiona un límite alcanzado dentro de la ventana de rollover: aplazar, cerrar independientemente o de forma selectiva. CryptoHandling (cerrar siempre) define cómo se tratan las criptomonedas y el XAU cuando se activa un límite.
Protección contra bucles. PreventTradeLoop (true) bloquea un símbolo tras un cierre para evitar bucles con los EA de rejilla, y TradeLoopCooldown (300 s) establece el tiempo que permanece bloqueado, implementado como un búfer circular con búsqueda O(1).
Posiciones cruzadas y únicas. CrossSymbolClose (false) empareja las operaciones de compra y venta entre diferentes instrumentos. CloseSinglePositions (false) también cierra las posiciones no emparejadas, independientemente de los límites diarios, con SinglePosMaxCount (5) como máximo por ciclo. MinimumLotSize (0,01) ignora las posiciones por debajo de ese volumen.
Filtro de días de negociación. MondayEnabled y SundayEnabled activan o desactivan el EA según el día de la semana; de lunes a viernes «true», sábado y domingo «false».
Protección contra el rollover. EnableIgnoreTime (verdadero) activa la ventana de inactividad, definida en la hora del servidor por IgnoreStartHour (23), IgnoreStartMinute (55), IgnoreEndHour (0) e IgnoreEndMinute (10).
Filtro de spread. CheckSpreadInIgnoreTime (verdadero) amplía la comprobación del spread fuera de la ventana de rollover. MaxAllowedSpread (5,0 puntos) se aplica a pares estándar como divisas e índices; CryptoMaxSpread (25,0 puntos), a criptomonedas y XAU; y CryptoPrefix contiene los prefijos separados por comas, como BTC y ETH, que identifican dichos instrumentos.
Cierre basado en la hora. EnableTimeBasedClosing (false) es el control principal para el cierre programado a la hora CloseHour (17) y al minuto CloseMinute (0) según la hora del servidor. «CloseOnlyForex» (verdadero) excluye las criptomonedas y el XAU, mientras que «CloseBuyOnly» (falso) y «CloseSellOnly» (falso) lo restringen a una sola dirección. TimeBasedCloseBehavior (respetar el rollover) decide si se respeta o se anula la ventana de rollover, y ClosingMon a ClosingSun configuran cada día de la semana individualmente, siendo el valor por defecto solo el viernes.
Botones de pánico. EnablePanicButton (true) muestra los botones de cierre de emergencia. ButtonWidth (210 px), ButtonHeight (35 px) y ButtonFontSize (7) controlan su tamaño; ButtonRightMargin (0) los centra horizontalmente, mientras que cualquier valor superior establece una distancia fija en píxeles desde el borde derecho; y ButtonTopOffset (10 px) determina su distancia desde la parte superior del gráfico. ButtonColor (rojo), ProfitButtonColor (verde), LossButtonColor (carmesí) y TextColor (blanco) definen la apariencia, y PanicButtonBehavior (cerrar independientemente) decide si un cierre de pánico respeta la ventana de rollover.
Panel de información. EnableEAComment (true) muestra el panel de control en tiempo real. PanelInfoWidth (480 px) escala todo el diseño interno, PanelTopOffset (25 px) establece la distancia desde la parte superior del gráfico independientemente de los botones, CommentRefreshSeconds (2 s) es el intervalo de actualización, y CommentBgColor (80,80,80) junto con CommentFontSize (7) proporcionan un control total sobre el RGB y la fuente.
Marcadores de posiciones. ShowPositionMarkers (true) dibuja una flecha por cada posición abierta, ShowOnlyCurrentSymbol (true) las limita al símbolo del gráfico, y BuyMarkerColor (SeaGreen), SellMarkerColor (Crimson) y MarkerSize (8) definen su aspecto.
INSTALACIÓN
Copia el archivo .ex5 compilado en la carpeta «MQL5 Experts» de tu carpeta de datos de MT5; a continuación, reinicia MetaTrader 5 o pulsa F5 para actualizar el Navegador. Arrastra el EA a cualquier gráfico; el símbolo del gráfico no importa, ya que NOHEDGE gestiona todos los símbolos de la cuenta de forma predeterminada. En las propiedades del EA, activa «Permitir trading automatizado» y haz clic en Aceptar. El panel de control y los botones de pánico aparecerán inmediatamente.
Establece «EnableEA» en «true» para activar el cierre automático. Hasta que lo hagas, el EA se ejecuta en modo de observación y es seguro utilizarlo en una cuenta real. A continuación, configura «DailyProfitTarget» y «DailyLossLimit» según el tamaño de tu cuenta, cambia «EnableDailyLimits» a «true» y ajusta «IgnoreStartHour» e «IgnoreEndHour» a la hora de rollover de tu bróker; el valor predeterminado de 23:55 a 00:10, hora del servidor, cubre la mayoría de los brókers.
Si la barra de herramientas de tu bróker se superpone al panel o a los botones, ajusta «PanelTopOffset» y «ButtonTopOffset». Para configuraciones con múltiples estrategias, ejecuta una segunda instancia en otro gráfico con un filtro «MagicNumber» independiente.
NOTAS IMPORTANTES
Se requiere una cuenta de cobertura. NOHEDGE cierra los pares de compra/venta por ticket, por lo que ambas partes deben existir como posiciones separadas. Esto solo es posible en cuentas de cobertura. Las cuentas de compensación fusionan inmediatamente las posiciones opuestas y no se pueden gestionar.
Debe estar activado el AutoTrading. El botón «AutoTrading» de la barra de herramientas de MT5 debe estar en verde y la opción «Permitir trading automatizado» debe estar marcada en las propiedades del EA; de lo contrario, no se podrá ejecutar ninguna operación de cierre.
El EA nunca abre operaciones. Solo cierra las que ya existen y no conlleva ningún riesgo direccional propio. Dado que «EnableEA» está predeterminado en «false», no se cierra nada hasta que lo actives, lo que evita cierres inesperados en cuentas que ya tienen posiciones abiertas.
Los botones de pánico eluden los controles de seguridad. «PanicButtonBehavior» tiene por defecto el valor «CLOSE_REGARDLESS», por lo que los botones se ejecutan incluso durante la ventana de rollover o con un spread elevado; cámbialo a «RESPECT_IGNORE_TIME» si deseas que la protección contra el rollover bloquee también los cierres de pánico. El tiempo de espera antibucle tampoco los bloquea nunca.
El filtro de spread utiliza puntos, no pips. MaxAllowedSpread y CryptoMaxSpread son puntos del bróker tal y como los devuelve SYMBOL_SPREAD. En un bróker de 5 dígitos, 5 puntos equivalen a 0,5 pips en el mercado de divisas, y 50 puntos son 50 puntos en el mercado del oro. Comprueba la unidad de spread de tu bróker antes de establecer estos valores.
Precisión de las comisiones. Las pérdidas y ganancias diarias (P/L) y las de las posiciones incluyen beneficios, swaps y comisiones, obtenidos del historial de operaciones en lugar de la propiedad obsoleta POSITION_COMMISSION, lo que garantiza la precisión en la aplicación de los límites incluso en cuentas ECN con comisiones elevadas.
COMPATIBILIDAD
MetaTrader 5 a partir de la versión 3000, escrito en MQL5, solo para cuentas de cobertura; no se admiten cuentas de compensación de MT5. Funcionan todos los instrumentos, incluyendo divisas, metales como XAU y XAG, índices, criptomonedas, energía y CFD, y cualquier marco temporal es válido, ya que NOHEDGE gestiona la cuenta, no el gráfico. Cualquier tamaño de cuenta es válido, siempre que se configuren DailyProfitTarget y DailyLossLimit en la divisa de su cuenta. El trading automático debe estar habilitado en la terminal y en las propiedades del EA, y se recomienda un VPS con una conexión estable al bróker para un funcionamiento 24/7 y una protección fiable contra el rollover. Se ofrece un alquiler de un mes junto con la compra completa.
Versión 1.40 | fi.con Investment Group | MQL5 Marketplace
