Kinetic Barycenter MT5
- Indicadores
-
Alex David Hernandez Maturrano
Most retail trading algorithms fail not because of a bad strategy, but due to poor memory management, execution lag, and sloppy matrix calculations. - Versión: 1.0
- Activaciones: 5
BARICENTRO CINÉTICO MT5
- El volumen como masa física: cada transacción inyecta inercia. Las barras de precios con alta liquidez ejercen una atracción gravitatoria proporcional a su volumen.
- Relajación newtoniana continua (vida media T1/2): la influencia del volumen pasado se desvanece de forma continua a través de una función exponencial de vida media, lo que elimina los saltos bruscos y artificiales habituales en las ventanas móviles estándar.
- Elasticidad de Hooke (puntuación Z): cuando el precio de mercado se desvía del centro de masa institucional, la dispersión espacial crea una tensión restauradora cuantificable. En los límites estadísticos (puntuación Z absoluta >= 2,0 sigmas), la liquidez se reduce y la reversión a la media ponderada por el volumen se convierte en una oportunidad asimétrica de riesgo/recompensa.
Ingeniería básica y arquitectura cuantitativa
Manuales operativos institucionales
- Contexto: Una barra de expansión de alto volumen rompe de forma decisiva el baricentro diario (D1) u horario (H1), absorbiendo la liquidez latente. En el retroceso inicial, las posiciones tempranas se reequilibran en el punto de equilibrio del valor razonable. Los participantes direccionales intervienen para defender el nuevo punto de referencia ponderado por volumen.
- Contexto de ejecución: Busca una vela de rechazo en M5 (pin bar o envolvente) que confirme que la resistencia anterior se ha transformado en un soporte dinámico.
- Estructura de riesgo/recompensa: En esta configuración, el nivel de invalidación (Stop Loss) suele situarse detrás de la mecha de rechazo, y la banda exterior de +/- 2,0 sigmas actúa como zona objetivo principal (ofreciendo un perfil estructural de relación riesgo/recompensa de 1:3,0 a 1:4,0).
- Contexto: El precio se expande hacia la envolvente exterior de agotamiento durante las sesiones de liquidez activa. El desplazamiento espacial entra en el territorio de la cola estadística (límite de probabilidad > 95,4 %). El impulso direccional se desacelera a medida que la liquidez se reduce.
- Contexto de ejecución: Busca la primera vela M5/../M30/H1 que cierre de nuevo dentro de la banda de agotamiento, confirmada por una divergencia en el volumen de ticks.
- Estructura de riesgo/recompensa: Reversión a la media hacia el baricentro diario, lo que se traduce en un perfil estructural de riesgo/recompensa asimétrico de 1:3,5 a 1:5,0.
- Contexto: Los baricentros D1, W1 y MN1 se comprimen estrechamente en un corredor de precios reducido (puntuación Z absoluta < 0,5 sigma).
- Mecanismo: El consenso multihorizonte alcanza una singularidad de energía potencial, una compresión estructural que, históricamente, precede a expansiones direccionales sostenidas de varios cientos de puntos.
- Referencia para la gestión de tendencias: El baricentro D1 móvil sirve como referencia dinámica móvil siempre que la cascada jerárquica (Precio > D1 > W1 > MN1) permanezca intacta.
Especificación completa de los parámetros de entrada
- InpLanguage (por defecto: LANG_EN): motor bilingüe nativo que alterna entre inglés (LANG_EN) y portugués (LANG_PT).
Grupo 1: Calibración básica y decaimiento newtoniano
- InpD1Bars (por defecto: 30): Número de barras diarias evaluadas para el centro de masa D1.
- InpD1HalfLife (por defecto: 7,0): vida media de relajación exponencial en días para la desintegración de la memoria D1.
- InpW1Bars (por defecto: 26): Número de barras semanales evaluadas para el centro de masa de W1.
- InpW1HalfLife (por defecto: 14,0): vida media de relajación exponencial en días para el equilibrio de oscilación de W1.
- InpMN1Bars (por defecto: 12): Número de barras mensuales evaluadas para el «MN1 Macro Bedrock».
- InpMN1HalfLife (por defecto: 60,0): Vida media de relajación exponencial en días para el anclaje macro de MN1 (~2 meses).
- InpH1Bars (por defecto: 48): Número de barras horarias evaluadas para la microestructura intradía de H1.
- InpH1HalfLife (por defecto: 1,0): Vida media de relajación exponencial en horas para la disminución continua intradía.
- InpExhaustionSigma (por defecto: 2,0): multiplicador de la banda exterior de agotamiento (1,5σ–2,0σ para oro/divisas; personalizable a 2,5σ–3,5σ para criptomonedas).
- InpClimaxSigma (por defecto: 3,0): Umbral crítico de clímax elástico que indica un agotamiento estadístico extremo.
Grupo 3: Estilo visual del gráfico
- InpShowD1 / InpColorD1 (Por defecto: true / Dorado): Visibilidad y color de la línea del baricentro diario.
- InpShowBandsD1 / InpColorBandsD1 (Por defecto: true / Khaki): Visibilidad y color de las bandas de agotamiento diarias.
- InpShowW1 / InpColorW1 (Por defecto: true / azul Dodger): Visibilidad y color de la línea del baricentro semanal.
- InpShowBandsW1 / InpColorBandsW1 (Por defecto: true / azul cielo profundo): Visibilidad y color de las bandas de agotamiento semanales.
- InpShowMN1 / InpColorMN1 (Predeterminado: true / Crimson): Visibilidad y color de la línea del lecho rocoso macro mensual.
- InpShowBandsMN1 / InpColorBandsMN1 (Por defecto: true / Tomato): Visibilidad y color de las bandas de agotamiento mensuales.
- InpShowH1 / InpColorH1 (Predeterminado: true / Verde primavera medio): Visibilidad y color de la línea del baricentro intradía por hora.
- InpShowBandsH1 / InpColorBandsH1 (Predeterminado: true / Verde pálido): Visibilidad y color de las bandas de agotamiento por hora.
- InpStyleBands / InpWidthBands (Por defecto: STYLE_DASH / 1): Estilo y grosor de las líneas de las envolventes de agotamiento.
- InpShowHud (Por defecto: true): Conmutador principal para el panel de control de lienzo de DearMQL5 acelerado por GPU.
- InpHudMarginX / InpHudMarginY (Por defecto: 30 / 35): Desplazamiento horizontal y vertical del margen de pantalla en píxeles.
Grupo 5: Sistema de alertas múltiples y antispam
- InpEnableAlerts (por defecto: true): Interruptor principal para alertas emergentes, sonoras y notificaciones push.
- InpAlertPopup (por defecto: true): Cuadro de diálogo modal de la terminal que aparece al activarse una señal.
- InpAlertPush (por defecto: false): Notificación push instantánea a la aplicación MT5 para smartphones (MetaQuotes ID).
- InpAlertSound / InpSoundFile (Por defecto: true / «alert.wav»): Activación o desactivación de las notificaciones sonoras de la terminal y nombre del archivo de audio.
- InpCooldownSec (por defecto: 60): Intervalo antispam (en segundos) entre alertas repetidas.
- InpAlertOnceBar (Por defecto: true): Limita la notificación de señales a un máximo de una vez por barra.
- InpMaxHistoryBars (Por defecto: 1000): Límite de profundidad de evaluación de las barras históricas (0 = evaluar todo el historial disponible).
- InpThrottleSec (Por defecto: 5): Constante de limitación de la CPU para cálculos asíncronos intensivos.
- InpDebugMode (Por defecto: false): Telemetría silenciosa de alta fidelidad registrada en MQL5\Files\KineticDebug_<Símbolo>.log.
Automatización algorítmica: 15 búferes formales (compatibles con iCustom)
Evaluación dinámica de la sigma en el código:
Sigma_Unit = (BufferUpper - BufferBarycenter) / InpExhaustionSigma CustomBand = BufferBarycenter +/- (k * Sigma_Unit)
Ejemplo de integración de un asesor experto (EA) listo para producción
//+------------------------------------------------------------------+ //| Ejemplo de integración para asesores expertos | //| Copyright 2026, ONDEB Quantitative Labs | //+------------------------------------------------------------------+ #define BUFFER_BARYCENTER_D1 0 #define BUFFER_UPPER_2SIGMA 3 #define BUFFER_LOWER_2SIGMA 4 #define BUFFER_ELASTIC_ZSCORE 5 #define BUFFER_REGIME_SIGNAL 6 #define BUFFER_TARGET_TP 7 int g_kinetic_handle = INVALID_HANDLE; int OnInit() { // ------------------------------------------------------------------ // NOTA SOBRE LA ARQUITECTURA AUTOMÁTICA SIN INTERFAZ GRÁFICA: // El indicador supervisa internamente MQLInfoInteger(MQL_TESTER). // Cuando lo invoca un EA durante las pruebas retrospectivas del Strategy Tester o en el modo genético // optimizaciones: omite automáticamente todos los HUD de DearMQL5 Canvas // renderizado, asignaciones de memoria para fuentes y eventos del ratón. // Funciona en modo «headless» puro (cálculo vectorial O(1)) para ofrecer // Rendimiento máximo de una CPU multinúcleo a lo largo de millones de ticks. // ------------------------------------------------------------------ g_kinetic_handle = iCustom(_Symbol, _Period, "KineticBarycenter"); if(g_kinetic_handle == INVALID_HANDLE) { PrintFormat("Kinetic Barycenter initialization failed. Error: %d", GetLastError()); return INIT_FAILED; } return INIT_SUCCEEDED; } void OnTick() { if(g_kinetic_handle == INVALID_HANDLE) return; // Copia rápida en 1 compás de los búferes matemáticos esenciales double signal[1], target_tp[1], z_score[1], bary_d1[1], upper_d1[1]; if(CopyBuffer(g_kinetic_handle, BUFFER_REGIME_SIGNAL, 0, 1, signal) <= 0) return; if(CopyBuffer(g_kinetic_handle, BUFFER_TARGET_TP, 0, 1, target_tp) <= 0) return; if(CopyBuffer(g_kinetic_handle, BUFFER_ELASTIC_ZSCORE, 0, 1, z_score) <= 0) return; if(CopyBuffer(g_kinetic_handle, BUFFER_BARYCENTER_D1, 0, 1, bary_d1) <= 0) return; if(CopyBuffer(g_kinetic_handle, BUFFER_UPPER_2SIGMA, 0, 1, upper_d1) <= 0) return; // Cálculo dinámico de 1,6 sigmas para umbrales personalizados de scalping intradía double InpExhaustionSigma = 2,0; double sigma_unit = (upper_d1[0] - bary_d1[0]) / InpExhaustionSigma; double custom_upper = bary_d1[0] + (1.6 * sigma_unit); double custom_lower = bary_d1[0] - (1.6 * sigma_unit); // ------------------------------------------------------------------ // EJECUCIÓN NAÍF / DE REFERENCIA CON REVERSIÓN A LA MEDIA: // (Plantilla educativa. En la producción real de la institución, combínalo con esto // activador de referencia con filtros de duración de la sesión, controles de dispersión y // normas estrictas de gestión de riesgos de las empresas de inversión) // ------------------------------------------------------------------ if(signal[0] > 0.5) // Sobreventa en el punto álgido: el precio ha atravesado la banda inferior y ha vuelto a cerrar dentro de ella { PrintFormat("BUY REVERSAL: z = %.2f sigma | Natural TP = %.2f", z_score[0], target_tp[0]); // Abrir posición de compra: SL por debajo de la mecha de la vela de agotamiento, TP fijado en target_tp[0] } else if(signal[0] < -0.5) // Sobrecompra en el punto álgido: el precio ha traspasado la banda superior y ha vuelto a cerrar dentro de ella { PrintFormat("SELL REVERSAL: z = %.2f sigma | Natural TP = %.2f", z_score[0], target_tp[0]); // Abrir posición de venta: SL por encima de la mecha de la vela de agotamiento, TP fijado en target_tp[0] } } void OnDeinit(const int reason) { // Liberar el identificador del indicador para liberar memoria del terminal if(g_kinetic_handle != INVALID_HANDLE) { IndicatorRelease(g_kinetic_handle); } }
Soporte técnico y protocolo de diagnóstico (InpDebugMode)
Para garantizar una asistencia rápida en caso de comportamientos inesperados (como la desincronización del historial del bróker, activos exóticos con dimensiones de tick no estándar o latencia de red durante el fin de semana), Kinetic Barycenter MT5 incluye un motor de telemetría estructurado basado en archivos a través de InpDebugMode = true.
Procedimiento oficial de solicitud de asistencia en 3 pasos:
- Activación: Abre las propiedades del indicador (F7 en MetaTrader 5), ve al grupo de parámetros «DIAGNÓSTICO Y MODO DE DEPURACIÓN» y establece InpDebugMode en «true».
- Captura de telemetría: Deja que el indicador se ejecute en tu gráfico durante el tiempo necesario para capturar la inicialización completa, la sincronización entre múltiples marcos temporales, las fuentes de datos en tiempo real del bróker y reproducir tu problema actual.
- Recuperación del registro: En el menú superior de MetaTrader 5, haz clic en: Archivo -> Abrir carpeta de datos -> MQL5 -> Archivos. Localiza el archivo de registro de diagnóstico con el formato MQL5\Files\KineticDebug_<Símbolo>_<TF>.log. Envía este archivo de registro directamente a Alex Hernández mediante un mensaje privado en nuestro perfil oficial de la comunidad MQL5.
- Metadatos del símbolo: precisión fraccionaria (dígitos), tamaño mínimo de tick (TickSize) y valor del punto (Point) proporcionados por el feed de su bróker.
- Sincronización entre múltiples marcos temporales: recuento de barras solicitadas frente al entregado para H1, D1, W1 y MN1, incluidos los códigos de retorno de red de bajo nivel (GetLastError()).
- Estabilidad matemática: verificación de los límites mínimos de varianza que evitan excepciones de división por cero en spreads de ticks anómalos.
- Telemetría del ciclo de vida: motivos exactos de desinicialización (UninitializeReasonGet()) y métricas de estabilidad de la memoria.

