TRADING EN CONJUNTO · EXPERT ADVISOR PARA METATRADER 5

Cómo opera Xcripe 2.5 FULL sobre XAUUSD

Un sistema de entradas escalonadas por RSI, con gestión de cesta agrupada, filtro de tendencia y siete capas de protección de capital. Este manual documenta cada mecanismo tal como está implementado en el código, con diagramas de su funcionamiento real.

⚙ ESPECIFICACIONES DEL SISTEMA
InstrumentoXAUUSD
SeñalRSI(14) · M1
TendenciaEMA(200) · H1
GestiónBasket + Trailing
01 — De un vistazo

Resumen ejecutivo

Xcripe es un EA de reversión a la media escalonada: en lugar de esperar un único punto de entrada, define cuatro niveles de RSI cada vez más extremos por dirección. Cuanto más se estira el precio, más profundo es el nivel que se activa — y cada nivel dispara una ráfaga (burst) de varias órdenes de mercado simultáneas en vez de una sola posición.

Esas posiciones no se gestionan de forma aislada por mucho tiempo: en cuanto hay suficientes niveles abiertos en la misma dirección, el Modo Cesta las agrupa, retira los take-profits individuales y pasa a controlar el cierre por un objetivo y un stop en dinero ($) sobre el conjunto. Todo el proceso está enmarcado por un filtro de tendencia (EMA200 en H1) y siete filtros de protección que pueden bloquear entradas o cerrar posiciones ante condiciones de mercado anómalas.

◆ MOTOR DE ENTRADA

  • 4 niveles RSI por dirección (compra/venta)
  • Ráfaga de N órdenes de mercado por nivel
  • Riesgo % y lotaje calculado por nivel

◆ GESTIÓN Y SALIDA

  • Cesta agrupada con target/SL en $
  • Trailing stop individual por nivel
  • Circuit breaker + límites diarios
02 — Flujo de decisión

Arquitectura del sistema

En cada tick, el EA recorre una tubería de verificaciones antes de permitir que una señal RSI se convierta en una orden. Esta secuencia — implementada en CheckSignalTrading() — es el corazón operativo del sistema.

Tick nuevo — spread, hueco de liquidez y bloqueo activo Límites diarios (pérdida / objetivo) y noticias de alto impacto Circuit Breaker (spike / gap) y ventana horaria bloqueada Lectura de RSI(14) en vela cerrada → detecta nivel 1–4 Filtro ATR (volatilidad) + Filtro EMA200 (tendencia) Ejecuta ráfaga (burst) de N órdenes al nivel detectado Gestión continua: Trailing Stop + Modo Cesta cada tick
Pipeline real de CheckSignalTrading(): cualquier verificación que falle detiene la ejecución de ese tick — el sistema es estrictamente secuencial, no evalúa condiciones en paralelo.
03 — Motor de señales

Escalera RSI de 4 niveles

El RSI(14) se calcula sobre la vela cerrada del timeframe de señal (M1 por defecto). Cada nivel tiene su propio umbral, su propio tamaño de ráfaga y su propio riesgo asignado — cuanto más extremo el RSI, mayor la ráfaga y el riesgo, siguiendo la configuración por defecto del EA.

RSI ZONA NEUTRAL — SIN SEÑAL 100 85 50 15 0 VENTA L1 · RSI ≥ 85 · 5 órdenes · riesgo 0.5% VENTA L2 · RSI ≥ 90 · 10 órdenes · riesgo 1.0% VENTA L3 · RSI ≥ 95 · 15 órdenes · riesgo 1.5% VENTA L4 · RSI ≥ 98 · 20 órdenes · riesgo 2.0% COMPRA L1 · RSI ≤ 15 · 5 órdenes · riesgo 0.5% COMPRA L2 · RSI ≤ 10 · 10 órdenes · riesgo 1.0% COMPRA L3 · RSI ≤ 5 · 15 órdenes · riesgo 1.5% COMPRA L4 · RSI ≤ 2 · 20 órdenes · riesgo 2.0%
Valores por defecto de fábrica (Buy1_RSI … Sell4_RSI). Todos los umbrales, tamaños de ráfaga y riesgo son editables por nivel desde los inputs del EA.

Reglas de activación (armado)

Cada nivel tiene una bandera armed que evita disparos repetidos sobre el mismo estiramiento: un nivel solo puede volver a activarse después de que el RSI regrese a la zona neutral y vuelva a tocar el umbral. Un nivel bloqueado por ya tener una posición abierta en ese mismo nivel no se reabre hasta que esa posición se cierre.

RIESGO PROGRESIVO OPCIONAL

Con UseProgressiveRisk = true, el riesgo de cada nivel se multiplica por ProgressiveMultiplier elevado a la potencia del nivel−1 (por defecto ×1.2), aumentando la exposición de forma geométrica cuanto más extremo es el nivel. Está desactivado por defecto.

04 — Gestión de capital

Dimensionamiento de posición

El lotaje de cada orden dentro de una ráfaga se calcula para que la pérdida total de las N órdenes del nivel, si todas tocan su Stop Loss, equivalga al % de riesgo configurado sobre el balance. No es un riesgo por orden — es un riesgo por nivel, repartido entre todas las órdenes de la ráfaga.

riesgo_por_orden = balance × (riesgo% / 100) / n_órdenes
pérdida_por_lote_al_SL = (SL_puntos × point / tick_size) × tick_value
lote = riesgo_por_orden / pérdida_por_lote_al_SL
→ redondeado al step de lote del bróker, entre lote mínimo y máximo

Ejemplo con Nivel 1 de compra (valores por defecto)

VariableValor
Riesgo del nivel0.5% del balance
Órdenes en la ráfaga5
Stop Loss1500 puntos
Take Profit individual500 puntos
Relación riesgo:beneficio por orden3 : 1

Si el filtro UseRiskCalculation = false, el sistema ignora este cálculo y usa un lote fijo (FixedLotSize) para cada orden, sin importar el balance ni el nivel.

05 — Filtro de contexto

Filtro de tendencia EMA200

Antes de ejecutar cualquier señal RSI, el EA evalúa la posición del precio de cierre frente a una EMA de período configurable (200 por defecto) en un timeframe superior (H1 por defecto), usando siempre la vela cerrada para evitar ruido intrabar.

PRECIO SOBRE EMA200 → tendencia alcista ✓ Permite señales de COMPRA ✕ Bloquea señales de VENTA (si EMA_Filter_Sells=true) EMA 200 (H1) PRECIO BAJO EMA200 → tendencia bajista ✓ Permite señales de VENTA ✕ Bloquea señales de COMPRA (si EMA_Filter_Buys=true)
La línea clara representa el precio; la línea dorada, la EMA200. Cada cruce reclasifica la tendencia y cambia qué dirección de señales queda habilitada.

El filtro puede desactivarse por completo (EMA_Filter_Enable) o aplicarse solo a un lado (comprar o vender), y tiene un botón de encendido/apagado en tiempo real directamente en el panel del gráfico, con contadores de cuántas señales bloqueó en cada dirección.

06 — Gestión agrupada

Modo Cesta (Basket)

Este es el mecanismo distintivo de Xcripe. En vez de dejar que cada nivel se cierre por su cuenta, agrupa las posiciones de una misma dirección en una cesta cuando se cumplen las condiciones, y pasa a controlar el cierre por el resultado combinado en dinero.

Nivel 1 · 5 órdenes TP 500p · SL 1500p Nivel 2 · 10 órdenes TP 500p · SL 1500p Nivel 3 · 15 órdenes TP 500p · SL 1500p ≥ Basket_MinLevels niveles simultáneos → 🧺 CESTA ACTIVA TPs individuales eliminados — SLs individuales quedan como protección ante spikes 🎯 Target combinado: Basket_Buy_TargetMoney ($) 🛑 Stop combinado: Basket_Buy_StopLossMoney ($) PnL flotante evaluado en cada tick sobre TODAS las posiciones agrupadas Un nuevo nivel que se abra mientras la cesta está activa se incorpora automáticamente
Cestas de COMPRA y de VENTA operan de forma completamente independiente. Al cerrar la cesta (por target o por stop), se resetean los flags de armado para permitir un nuevo ciclo de entrada limpio.

Secuencia exacta

  • Activación: cuando hay al menos Basket_MinLevels niveles distintos abiertos en la misma dirección (2 a 4, configurable).
  • Toma de control: se eliminan los take-profits individuales de todas las posiciones de esa dirección; los stop-loss individuales se mantienen como red de seguridad ante movimientos violentos.
  • Monitoreo: en cada tick se recalcula el PnL flotante total de la cesta.
  • Cierre por target: si el PnL flotante ≥ Basket_Buy/Sell_TargetMoney, se cierran todas las posiciones de la cesta de una vez.
  • Cierre por stop: si el PnL flotante ≤ −Basket_Buy/Sell_StopLossMoney, se cierra la cesta completa.
  • Alerta: con Telegram activado, se notifica la activación y el cierre de cada cesta con el PnL final.
07 — Protección de ganancias

Trailing Stop por nivel

Cada uno de los 8 niveles (4 compra + 4 venta) tiene su propio trailing stop independiente, con tres parámetros: distancia de arranque, paso mínimo de movimiento y distancia de seguimiento.

TS_Start (300p en ganancia) Precio Stop Loss dinámico TS_Step: incremento mínimo (50p) para mover el SL de nuevo TS_Dist: distancia que mantiene el SL respecto al precio (150p)
Valores por defecto de fábrica para todos los niveles: arranque a 300 puntos de ganancia, pasos de 50 puntos, distancia de seguimiento de 150 puntos. El trailing solo mueve el SL a favor, nunca lo retrocede.

El trailing actúa sobre posiciones individuales incluso cuando la cesta está activa — la cesta controla el cierre total por PnL agregado, pero el trailing puede seguir ajustando el stop de cada posición como capa adicional de protección.

08 — Defensa de capital

Sistema de protecciones

Siete filtros independientes, evaluados antes de cada posible entrada. Cualquiera de ellos puede bloquear una señal o forzar el cierre de posiciones abiertas.

1 · Spread máximo — bloquea si el spread supera MaxSpreadPoints 2 · Anti-liquidez extrema — gaps de precio y explosión de spread 3 · Circuit Breaker — spike de rango vs ATR, cierra todo y enfría 4 · Filtro de horario — ventanas bloqueadas (ej. rollover, almuerzo NY) 5 · Noticias Forex Factory — bloquea ± minutos de alto impacto 6 · Filtro ATR — bloquea en volatilidad demasiado baja o extrema 7 · Límites diarios — pérdida o meta de PnL alcanzada Solo una señal que atraviesa las 7 capas llega a ejecutarse
Cada capa es independiente y editable. El Circuit Breaker y el filtro de horario, además, pueden forzar el cierre de posiciones abiertas, no solo bloquear nuevas entradas.

⚡ CIRCUIT BREAKER

Detecta velas cuyo rango supera SpikeRangeATRMult × ATR o un mínimo fijo en puntos. Al dispararse, cierra todas las posiciones del símbolo y bloquea nuevas entradas durante BreakerCooldownMinutes. También reacciona a slippage (requotes/rechazos) y a saltos de precio entre ticks (gap de liquidez).

📰 FILTRO DE NOTICIAS

Descarga el calendario de Forex Factory y bloquea operaciones NewsMinutesBefore/After alrededor de eventos de impacto alto (y medio, opcional) para las divisas configuradas — por defecto, USD.

09 — Control diario

Límites diarios y control de drawdown

El PnL del día se calcula como realizado + flotante (si CountFloatingLoss = true), reseteado al inicio de cada nueva sesión (Asia/Londres/NY configurables).

EventoUmbralAcción
Pérdida diariaDailyLossLimitPercent (5%) o DailyLossLimitMoneyCierra todas las posiciones si CloseAllOnDailyLoss=true; bloquea nuevas entradas por el resto del día
Objetivo diarioDailyTargetMoney ($300 por defecto)Cierra todo si CloseAllOnDailyTarget=true; con LockTradingAfterTarget=true bloquea hasta el inicio de la sesión asiática siguiente

Estos límites son independientes del Modo Cesta: aunque una cesta tenga su propio target/SL en $, el límite diario global sigue vigilando el resultado agregado de toda la cuenta en el símbolo.

10 — Interfaz en vivo

Panel de control en el gráfico

El panel se dibuja directamente sobre el gráfico de MT5 y se actualiza en tiempo real: estado de versión, RSI actual, tendencia EMA, estado del filtro ATR, ambas cestas y botones para armar/desarmar cada nivel individualmente sin reiniciar el EA.

🔥 XCRIPE 2.5 FULL - BASKET + EMA
Versión✅ Versión Local
RSI (M1)8.42
Tendencia EMA200▲ Alcista
ATR / VolatilidadNormal
Cesta COMPRA2 niv. · +$64
Cesta VENTAInactiva
PnL del día+$118.30
B1
B2
B3
B4
S1
S2
S3
S4
XCRIPE 2.5 FULL / Sin Licencia

Recreación esquemática del panel según la configuración de colores del EA (PanelBgColor, PanelHeaderColor) — no es una captura real.

11 — Configuración rápida

Presets de cuenta

El input AccountPreset permite sobreescribir de golpe los niveles de compra al iniciar el EA (las ventas se desactivan en ambos presets). Cualquier valor tocado manualmente en los inputs se pierde al aplicar un preset distinto de CUSTOM.

PresetNivel 1Nivel 2SL / TPDrawdown diario
Prop AgresivoRSI 14 · 12 ord. · 1.0%RSI 8 · 26 ord. · 3.0%3000 / 1150 pts5%
Prop ConservadorRSI 25 · 30 ord. · 1.0%RSI 15 · 20 ord. · 1.5%3000 / 1150 pts— (usa el input general)
PersonalizadoUsa exactamente los valores definidos en los inputs de cada nivel, sin sobreescribir nada
12 — Perfil de resultados

Cómo se comporta la curva de resultados

ILUSTRACIÓN CONCEPTUAL — NO ES UN BACKTEST

El diagrama siguiente no proviene de una prueba histórica real sobre XAUUSD. Es una representación esquemática de la forma que tiende a tomar la curva de un sistema de reversión a la media con entradas escalonadas y cesta agrupada, para ilustrar el mecanismo — no un resultado esperado ni una promesa de rentabilidad. Para conocer el desempeño real con la configuración actual, es imprescindible correr el Strategy Tester de MT5 (idealmente con datos tick-a-tick) sobre el rango de fechas y símbolo que interesen.

$ tiempo cesta cerrada en target retroceso contenido por SL de cesta / límite diario racha de aciertos en tendencia (EMA a favor)
Patrón típico de sistemas de este tipo: tramos de ganancias frecuentes y moderadas (cierres de cesta en target), interrumpidos por retrocesos más bruscos cuando el precio se mueve en contra de varios niveles a la vez — de ahí la importancia de los stops de cesta y los límites diarios como topes duros.

Qué determina la forma real de la curva

  • Régimen de mercado: en rangos laterales, la reversión a la media captura oscilaciones con frecuencia. En tendencias fuertes y sostenidas, los niveles más profundos (L3/L4) pueden acumular varias posiciones en contra antes de que el precio revierta.
  • Relación target/SL de la cesta: un target bajo y alcanzable genera más cierres ganadores pero más pequeños; un SL de cesta amplio tolera más ruido antes de cortar pérdidas.
  • Filtro EMA200: reduce las entradas contra-tendencia, lo que en teoría acorta las rachas de niveles profundos abiertos en la dirección equivocada — a costa de dejar pasar reversiones válidas en mercados laterales sobre una EMA plana.
  • Límites diarios: actúan como el freno de emergencia final, independiente de cómo se esté comportando cualquier cesta individual.
13 — Referencia técnica

Referencia completa de parámetros

Todos los inputs del EA, agrupados exactamente como aparecen en la ventana de propiedades de MT5.

Identificación de órdenes 4 parámetros
ParámetroDefaultDescripción
InpTradeComment""Comentario de las órdenes
InpUsePerLevelMagictrueMagic number distinto por nivel, para poder rastrear cada uno
InpMagicBase202501Base del magic number
InpMagicBaseFromLogintrueDeriva el magic base del login de la cuenta
Configuración general y RSI 5 parámetros
ParámetroDefaultDescripción
InpSymbolXAUUSDSímbolo operado
TF_SignalM1Timeframe de la señal RSI
RSIPeriod14Período del RSI
ActivarVentastrueHabilita el lado de ventas por completo
UseProgressiveRiskfalseMultiplica el riesgo geométricamente por nivel
Filtro de tendencia EMA 9 parámetros
ParámetroDefaultDescripción
EMA_Filter_EnabletrueActiva el filtro globalmente
EMA_Period200Período de la media móvil
EMA_TimeframeH1Timeframe de cálculo
EMA_MethodMODE_EMAEMA / SMA / SMMA / LWMA
EMA_Filter_Buys / Sellstrue / trueAplica el filtro por dirección
EMA_ShowInPaneltrueMuestra estado en el panel
Modo Cesta (Basket) 8 parámetros
ParámetroDefaultDescripción
Basket_EnabletrueActiva el sistema de cesta
Basket_MinLevels2Niveles simultáneos mínimos para activar la cesta (2–4)
Basket_Buy_TargetMoney$150Target de cierre para cesta de compras (0 = desactivado)
Basket_Buy_StopLossMoney$200Stop de cesta de compras
Basket_Sell_TargetMoney$150Target de cierre para cesta de ventas
Basket_Sell_StopLossMoney$200Stop de cesta de ventas
Basket_TelegramAlerttrueNotifica activación y cierre de cesta
Niveles de compra / venta (×8) 10 parámetros cada uno
ParámetroQué controla
BuyN_Enable / SellN_EnableActiva el nivel N
BuyN_RSI / SellN_RSIUmbral de disparo
BuyN_Orders / SellN_OrdersÓrdenes en la ráfaga
BuyN_Risk / SellN_Risk% de riesgo del nivel
BuyN_TP_Points / SellN_TP_PointsTake profit individual (puntos)
BuyN_SL_Points / SellN_SL_PointsStop loss individual (puntos)
BuyN_TS_Enable/Start/Step/DistTrailing stop del nivel
Gestión de riesgo y filtro ATR 10 parámetros
ParámetroDefaultDescripción
UseRiskCalculationtrueCalcula lote por riesgo % en vez de lote fijo
FixedLotSize0.01Lote usado si el cálculo por riesgo está apagado
EnableATRFiltertrueActiva filtro de volatilidad
ATRPeriod / ATR_Timeframe14 / M15Cálculo del ATR de referencia
ATR_MinMultiplier / MaxMultiplier0.5 / 3.0Banda de volatilidad permitida
MaxSpreadPoints50Spread máximo tolerado
Filtro de horario y noticias 14 parámetros
ParámetroDefaultDescripción
EnableTimeFiltertrueActiva ventanas horarias bloqueadas
BlockWindows23:00-01:30; 12:25-13:10Rangos bloqueados (rollover, almuerzo NY)
EnableNewsFiltertrueActiva el filtro de noticias
ForexFactoryURLnfs.faireconomy.media/…Fuente del calendario económico
NewsMinutesBefore / After30 / 30Ventana de bloqueo alrededor del evento
NewsFilterHighImpact / MediumImpacttrue / falseQué severidad de noticia bloquea
NewsFilterCurrenciesUSDDivisas monitoreadas
Límites diarios y Circuit Breaker 17 parámetros
ParámetroDefaultDescripción
EnableDailyLimitstrueActiva el control diario
DailyLossLimitPercent5.0%Pérdida diaria máxima
DailyTargetMoney$300Objetivo diario de ganancia
LockTradingAfterTargettrueBloquea nuevas entradas tras alcanzar el objetivo
EnableCircuitBreakertrueActiva la protección anti-spike
SpikeRangeATRMult2.5Múltiplo de ATR que define un spike
BreakerCooldownMinutes30Minutos de bloqueo tras un spike
MaxTickGapPoints800Salto de precio entre ticks que activa alerta de gap
Interfaz gráfica y alarmas 18 parámetros
ParámetroDefaultDescripción
ShowPaneltrueMuestra el panel en el gráfico
EnableSoundAlerts / PopupAlertstrue / trueAlarmas locales de sonido y popup
EnableTelegramAlertsfalseNotificaciones por Telegram
Alarm1/2/3_Level20 / 10 / 90Umbrales de RSI para alarmas informativas (independientes del trading)
14 — Antes de operar

Advertencias y buenas prácticas

NATURALEZA DEL SISTEMA

Xcripe promedia posiciones contra el precio a medida que este se estira (RSI más extremo → más órdenes y más riesgo por nivel). Esto es estructuralmente similar a una estrategia de grid / martingala parcial: mejora la tasa de acierto en mercados de rango, pero puede acumular exposición considerable durante tendencias fuertes y sostenidas antes de que el Circuit Breaker, el SL de cesta o el límite diario intervengan.

  • Probar en demo primero: validar la configuración completa (niveles, cesta, filtros) en cuenta demo o Strategy Tester antes de arriesgar capital real.
  • Respetar los límites diarios: desactivarlos o ampliarlos sin criterio elimina el principal freno de emergencia del sistema.
  • Vigilar el spread real del bróker: en XAUUSD el spread puede variar mucho entre brokers y sesiones; MaxSpreadPoints debe ajustarse a las condiciones reales de ejecución.
  • Rendimiento pasado ≠ resultados futuros: cualquier backtest o resultado en cuenta demo depende del régimen de mercado del período probado y no garantiza comportamiento futuro.
  • Whitelist de WebRequest: para que el filtro de noticias y Telegram funcionen, hay que agregar nfs.faireconomy.media (y api.telegram.org si se usa) en Herramientas → Opciones → Expert Advisors de MT5.