Grid Chande Momentum Oscillator EA
- Asesores Expertos
-
AL MOOSAWI ABDULLAH JAFFER BAQER
To trade successfully we need to go through the proven path that others had gone and reached!
Here are 17 quotes from such successful investors:
1- Limit your size in any position so that fear does not become the prevailing instinct guiding your judgment.
Joe Vidich - Versión: 3.15
- Activaciones: 5
Pruébalo primero gratis: abre el EA «Grid Chande Momentum Oscillator» en el Probador de estrategias de MetaTrader 5, activa el modo visual y observa qué valores de impulso acepta y cuáles rechaza.
UNA VELA GRANDE NO ES MOMENTUM.
Tushar Chande diseñó su oscilador de impulso para sopesar cada subida frente a cada caída en una ventana de cierres. Se trata de una aritmética honesta, con un único punto ciego: suma los tamaños, por lo que una sola vela de noticias puede hacer que se supere un nivel, mientras que las demás barras apenas han influido. El EA «Grid Chande Momentum Oscillator» inicia un ciclo de rejilla solo cuando se ha ganado impulso en las barras cerradas, mediante varias velas y no solo una. A partir de ahí, un completo motor de gestión reduce la exposición más antigua mediante cierres en grupo y recortes parciales.
Comparte conmigo una captura de pantalla de tu pedido y yo mismo seleccionaré un producto gratuito de mi catálogo para enviártelo como regalo.
De un vistazo
• Un ciclo solo puede comenzar cuando el CMO cruza tu nivel en una vela cerrada. Solo velas cerradas, por lo que las señales aceptadas no se repintan.
• El CMO se calcula dentro del EA a partir de los propios cierres del gráfico. Sin archivos de indicadores personalizados ni DLL.
• Novedad de este producto: el «Spike Guard». Mide qué parte de la ganancia proviene de la vela más grande y rechaza el cruce cuando esa proporción es demasiado alta.
• El Climb Guard exige que el CMO haya subido realmente en las últimas barras, en lugar de simplemente rozar la línea.
• El «Range Guard» omite los cruces dentro de un rango estrecho, y el filtro EMA 200 predeterminado solo acepta el lado de la tendencia lenta.
• En el gráfico en tiempo real, los cruces anteriores se marcan en sus velas: una pequeña flecha cuando uno ha cumplido todas las reglas, un punto gris cuando un filtro lo ha rechazado.
• Las ganancias se acumulan por grupos de órdenes más antiguas y más recientes, y una orden antigua de gran volumen se retira en tramos parciales.
• Sin stop loss ni cierre forzado de todas las posiciones. Al alcanzarse un límite, se rechazan nuevos niveles mientras se sigue gestionando el libro de órdenes existente.
----------
Empieza aquí
Empieza con el EURUSD H1 con el lote predeterminado de 0,01 y la escalera aditiva. Configura RunMode en «Scan only» para la primera sesión: el panel muestra cada plan y no se envía ninguna orden, y un botón lo cambia a «Armed» cuando estés listo. Antes de pasar a operar en vivo, repite las pruebas que se indican a continuación con los datos de tu propio bróker, ya que los spreads, los swaps y las comisiones varían.
----------
Lo que mostraron nuestras pruebas
Configuración predeterminada, Strategy Tester, modelo OHLC de 1 minuto, apalancamiento 1:100, del 01/01/2025 al 30/09/2026, datos de demostración de un bróker. Puedes reproducir el método con esta configuración exacta:
• EURUSD H1, depósito de 10 000 $: resultado neto +951,03, caída máxima del capital de 804,04 (8,03 %), 310 operaciones, sin stop-out ni denegaciones de margen.
• EURUSD H1, depósito de 1 000 000 $: resultado neto +951,03, caída máxima del capital de 804,04 (0,08 %), 310 operaciones, sin stop-out ni denegaciones de margen.
• XAUUSD D1, depósito de 10 000 $: resultado neto +47,97, caída máxima del capital de 47,92 (0,48 %), 12 operaciones, sin stop-out ni denegaciones de margen.
• XAUUSD D1, depósito de 1 000 000 $: resultado neto +47,97, caída máxima del capital de 47,92 (0,00 %), 12 operaciones, sin stop-out ni denegaciones de margen.
Considera estos datos como simulaciones de un periodo pasado, no como una previsión. Ten en cuenta que la caída del saldo fue la misma en ambos depósitos, ya que los lotes no aumentan con el saldo: 804,04 es aproximadamente el 8 % de 10 000 $, y representaría una parte mucho mayor en una cuenta pequeña. No se han probado depósitos más pequeños, así que pruébalos tú mismo antes de confiar en ello. Las 12 operaciones con XAUUSD son demasiado pocas para demostrar nada. No se ha verificado el comportamiento de la compensación, y el modo de cuenta de estas ejecuciones no está confirmado, así que considera tu propio tipo de cuenta como no probado hasta que lo hayas probado tú mismo.
----------
¿Por qué el CMO y por qué estas medidas de protección?
Muchas herramientas de momentum suavizan sus datos dos veces y difuminan lo que ha ocurrido. El CMO mantiene las subidas y las bajadas una al lado de la otra: su diferencia dividida entre su total, en una escala de -100 a +100. Eso lo hace directo, pero también fácil de engañar, ya que un gran cambio en el cierre puede compensar muchos pequeños.
La mejora de esta versión
El «Spike Guard» es una incorporación propia de este EA. En la barra de señales, localiza la mayor variación de cierre individual en el lado ganador y calcula su porcentaje respecto a la suma total de ese lado. Si ese porcentaje supera tu máximo, se rechaza el cruce, independientemente de lo alto que marque el CMO. El panel muestra el porcentaje en tiempo real junto a «OPEN» o «HOLD», por lo que la decisión es visible. Si se establece el máximo en 100, se desactiva. No se ha medido por separado en qué medida este filtro por sí solo modifica los resultados, pero puedes compararlo tú mismo en el simulador con él activado y desactivado. Se incluye la seguridad del marco temporal del nivel de margen, que está desactivada por defecto.
----------
Un ciclo, paso a paso
1. Las sumas. En cada nueva barra, el EA recalcula el CMO a partir de las barras cerradas. Por defecto, no se tiene en cuenta la vela que se está formando.
2. El cruce. El CMO debe atravesar tu nivel en la barra de señal: al alza, por encima del nivel, para COMPRAR; a la baja, por debajo del nivel, para VENDER.
3. El «Climb Guard». El CMO debe haber subido lo suficiente en las últimas barras.
4. El «Spike Guard». Ninguna vela por sí sola puede representar una parte demasiado grande de la suma ganadora.
5. El «Range Guard». La amplitud de la ventana del CMO, medida en ATR, debe alcanzar el mínimo establecido.
6. El filtro de tendencia. Por defecto, una EMA lenta debe coincidir con la tendencia. También puedes atenuarla o desactivarla.
7. El ritmo. Un intervalo tranquilo de barras separa las señales aceptadas, y una señal sigue siendo válida durante unas cuantas barras si no se puede establecer un nivel de inmediato.
8. La escalera. Los niveles están espaciados por puntos fijos o por ATR, con un mínimo, un límite máximo y la opción de congelar la distancia. Las redes de COMPRA y VENTA pueden ejecutarse conjuntamente o solo en una dirección.
9. La cosecha. El sistema busca grupos de las órdenes más antiguas y más recientes y cierra un grupo una vez que su resultado combinado, tras el swap y la comisión, supera tu objetivo. Si la orden más antigua sigue siendo demasiado grande, solo se cierra una parte de ella.
10. Los controles de seguridad. Un mecanismo de protección contra la reapertura bloquea cualquier cierre que reabriría el mismo nivel inmediatamente. Cada tramo se compara con el historial de operaciones; los tramos fallidos pasan a una cola de reintentos, y el plan se descarta si el libro de órdenes cambia antes de su envío.
11. El ciclo de cobertura opcional. Desactivado por defecto, y no se ha aplicado en las pruebas anteriores. Cuando se activa, mantiene un par equilibrado en un símbolo que elijas y lo retira en partes iguales, financiado mediante un pequeño recargo sobre los cierres que la red ya está realizando.
----------
El panel
El panel se sitúa a la izquierda y mantiene despejados el lado derecho y la escala de precios. Muestra el símbolo y el número mágico, un indicador de estado, el modo de rejilla, el paso de lotes, el espaciado, el resultado acumulado, el libro de órdenes, el plan de cierre para cada lado y la lista de órdenes. La fila CMO PULSE muestra el periodo, el CMO de la última barra cerrada y de la barra anterior, tu nivel y cuántas barras atrás se produjo el último cruce. La fila SPIKE GUARD muestra el lado favorecido, la cuota de la vela máxima, la subida y la amplitud de la ventana en ATR, cada una con OPEN o HOLD, y a continuación el lado EMA. Los botones permiten alternar entre «Armado» y «Solo escaneo», «Pausa» y «Reanudar», así como las marcas del gráfico y el corte. La tarjeta «Hedge Vault» está diseñada para acoplarse debajo del panel principal; no aparecía en la pantalla en nuestra captura de pantalla porque la cobertura está desactivada por defecto. El panel no dibuja nada en un backtest no visual.
----------
Protección que tú controlas
Sin stop loss ni cierre forzado de todas las posiciones. Al alcanzarse un límite, se detienen los nuevos niveles; nunca se liquida la cartera.
Antes de cada orden, la comprobación de fondos verifica si hay margen libre suficiente, con un margen de seguridad, para dicha orden.
Los límites en los niveles por rejilla, las órdenes por lado y los lotes por orden mantienen la escalera dentro de unos límites. MinMarginLevelPercent y MaxAccountRiskPercent están desactivados por defecto; considera configurarlos para tu cuenta.
La seguridad opcional del marco temporal del nivel de margen traslada la señal y el espaciado a un marco temporal superior cuando el nivel de margen cae a los niveles que hayas elegido. Está desactivada por defecto y no se ha aplicado en las pruebas anteriores.
Cada copia se filtra por símbolo y números mágicos, así que asigna a cada gráfico sus propios números mágicos.
El modo «solo escaneo» muestra todas las decisiones sin enviar ninguna orden.
----------
A quién va dirigido y a quién no
Es adecuado para operadores pacientes que buscan un impulso confirmado por más de una vela, que prefieren muchos cierres pequeños a un único objetivo lejano y que ajustarán el tamaño del lote según su propia cuenta. No es adecuado para quienes necesitan un stop loss en cada orden, una cifra mensual garantizada o un robot del tipo «configurar y olvidar» que ejecute lotes grandes con un saldo muy reducido.
----------
Respuestas rápidas
¿Se repintan las señales? Las señales aceptadas utilizan únicamente barras cerradas. Las marcas del gráfico y ambas filas del panel también leen barras cerradas.
¿Qué marcos temporales se han probado? Solo el EURUSD H1 y el XAUUSD D1. El resto lo puedes probar tú mismo.
¿Qué parámetro debo cambiar primero? El nivel de cruce y el máximo del Spike Guard. Cámbialos de uno en uno y compara tanto la caída máxima como el resultado neto.
¿Puedo cambiar el periodo del CMO? Sí. Un periodo más corto suele generar más cruces. El «Range Guard» utiliza la misma ventana, así que revísala también.
¿Funciona en cuentas de compensación? El EA tiene un límite de margen independiente para ellas, pero no hemos verificado su comportamiento en cuentas de compensación.
----------
Explicación de cada parámetro
Grid: cómo se abren los niveles
TradeMode: rejilla dual por defecto (COMPRA y VENTA una al lado de la otra) o solo en una dirección.
GridSpacePoints: distancia fija entre niveles en puntos cuando el espaciado ATR está desactivado (25).
GridSpaceMultiplier: 1,0 mantiene los niveles espaciados de manera uniforme; un valor más alto separa aún más los niveles más profundos.
MaxGridLevels: el número máximo de niveles que puede contener una cuadrícula (1000).
UpDirectionIsBuy: determina a qué lado pertenece un movimiento alcista.
EAMagicNumber: el ID que aparece en las órdenes de rejilla de este EA (9754380).
GridOrderComment: el comentario de cada orden de rejilla (GCMO).
OneOrderPerBar: no más de un nuevo nivel por barra.
Escalera de lotes
InitialLotSize: volumen del primer nivel (0,01).
LotSizingMode: por defecto, aditivo; también puede ser multiplicativo.
LotMultiplier: en modo multiplicativo, cada nivel es el lote anterior multiplicado por este valor (1,25).
LotAddStep: en modo aditivo, el volumen añadido en cada nivel (0,01; 0 significa el lote inicial).
MaxOrderVolume: el lote máximo que puede utilizar una sola orden (1,0).
UseAutoLot: ajusta el lote inicial en función del saldo (desactivado).
AutoLotBaseBalance: el saldo que se corresponde con el lote inicial (1000).
AutoLotAllowDecrease: permite que el lote automático sea inferior al lote inicial (desactivado).
Espaciado ATR
GridSpacingMode: ATR por defecto o puntos fijos.
ATRTimeframe: el marco temporal en el que se mide la volatilidad (gráfico actual).
ATRPeriod: duración del ATR (14).
ATRSpacingFactor: el espaciado es igual al ATR multiplicado por este valor (1,0).
ATRBarShift: si se establece en 1, se utiliza la última barra cerrada.
ATRMinSpacingPts: el espaciado mínimo permitido en puntos (50; 0 significa que no hay espaciado).
ATRMaxSpacingPts: el espaciado máximo permitido en puntos (5000; 0 significa que no hay espaciado).
ATRFreezeOnStart: mantiene un único espaciado durante todo el ciclo (desactivado).
Objetivo de beneficio
DesiredProfitPerClosure: el objetivo base en la divisa de la cuenta (2,0).
ProfitMultiplier: escala el objetivo final entre 1,00 y 2,00.
ProfitTargetMode: escalado por defecto, por lo que un libro de órdenes más amplio y profundo debe generar un resultado mayor.
ProfitVolumePower: indica en qué medida el volumen de cierre eleva el objetivo (1,0; 0 lo desactiva).
ProfitDepthBonus: objetivo adicional por cada nivel abierto adicional (0,10).
ProfitMaxMultiple: el límite máximo del objetivo escalado como múltiplo del objetivo base (50).
ProfitMaxReachFraction: mantiene el objetivo dentro de una fracción de un paso de la cuadrícula para que siga siendo alcanzable (0,50).
Escáner de fragmentos
UseMultiLegScan: comprueba combinaciones de varias órdenes antes que el par simple (activado).
MaxOldestLegs: el número máximo de órdenes más antiguas permitidas en un cierre (3).
MaxNewestLegs: el número máximo de órdenes más recientes permitidas en un cierre (6).
ScanPriority: cómo se clasifican los grupos que cumplen los requisitos; por defecto, primero las órdenes más numerosas.
NeverBankLessThanPair: un grupo también debe superar el objetivo del par simple (activado).
RequireCloseVolumeExceedsTarget: el volumen más reciente debe superar al más antiguo (activado).
MinCloseVolumeRatio: ratio mínimo entre el volumen de cierre y el volumen objetivo (1,5).
División del objetivo: cierres parciales
EnableTargetSlicing: cierra una parte de la orden más antigua cuando aún no se puede liquidar todo el lote (activado).
FragProfitWeightPower: cómo se pondera el beneficio por lote de cierre (1,5).
FragMinSlicePercent: la porción más pequeña expresada como porcentaje de la orden objetivo (20).
FragAllowMultiCloser: permite que varias órdenes más recientes sumen sus beneficios para pagar una porción (activado).
FragPreferFullClosure: un cierre completo tiene prioridad sobre una porción siempre que ambos cumplan los requisitos (activado).
Protección contra reapertura
ReopenGuard: bloquea los cierres que reabrirían inmediatamente un nivel (basado en pasos).
ReopenGuardCushion: la distancia de seguridad expresada como fracción de un paso de la cuadrícula (0,90).
Protección de la cuenta
MinMarginLevelPercent: no se abren nuevas posiciones por debajo de este porcentaje de nivel de margen (0 = desactivado).
MaxAccountRiskPercent: no se establecen nuevos niveles por encima de esta pérdida flotante expresada como porcentaje del saldo (0 = desactivado).
NetMaxMarginPercent: en cuentas de compensación, el margen mayor de la posición neta como porcentaje del capital propio (5,0).
MaxTotalOrders: límite máximo absoluto de órdenes en cuadrícula por cada lado (1000).
Ejecución y verificación
RunMode: «Armed» (Activo) o «Scan only» (Solo escaneo); «Scan only» es el primer paso más prudente.
CloseSequence: el orden en el que se envían las partes de la operación; por defecto, primero las más antiguas.
MaxSlippagePoints: deslizamiento máximo (30 puntos).
MaxSpreadPoints: la negociación se detiene por encima de este spread (7500 puntos).
MinSecondsBetweenClosures: pausa mínima entre dos cierres en el mismo lado (5 segundos).
CloseAttemptsPerLeg: número de intentos de cierre antes de que un tramo pase a la cola de reintentos (3).
VerifyTimeoutSeconds: tiempo durante el que se sigue comprobando un tramo atascado (90 segundos).
DeferWhenMarketClosed: espera a que comience la sesión en lugar de detenerse cuando el mercado está cerrado (activado).
MarketClosedRetrySeconds: intervalo de reintento mientras el bróker rechaza las órdenes (30 segundos).
AutoResumeAfterSeconds: anula la interrupción automáticamente tras este número de segundos (300; 0 espera a que se pulse el botón del panel).
NoPartialRetryMinutes: vuelve a intentar cierres parciales tras este número de minutos tras un rechazo del bróker (15; 0: nunca).
AbortIfBookChanged: descarta un plan si se produce un cambio en una de las partes de la operación entre el escaneo y el envío (activado).
UseFullCommission: calcula la comisión para ambas partes de una operación (activado).
CommissionPerLot: comisión alternativa cuando el historial no contiene ninguna (0: la lee del historial).
CloseOrderComment: el comentario al cerrar operaciones.
Ciclo de cobertura
EnableHedgeCycle: desactivado por defecto.
Símbolos de cobertura: lista de símbolos de cobertura separados por comas; repetir uno le da más turnos (XAGUSD).
Rotación de símbolos de cobertura: cómo se elige el símbolo del siguiente ciclo (por ciclo).
HedgeMaxSymbolsInTester: limita la rotación únicamente en el Probador de estrategias (2; 0 significa que no hay límite).
HedgeCycleLots: lotes en cada lado del par equilibrado (0,01).
HedgeSliceLots: lotes retirados de cada lado por porción (0,01).
HedgeFragmentBonus: importe adicional que se suma al coste del segmento (100).
HedgeBonusIsPercent: la bonificación es un porcentaje del coste del segmento; si se establece en «false», se convierte en una cantidad fija (activado).
HedgeMaxSurcharge: límite máximo de dinero que se puede aplicar como recargo a un cierre (0 = sin límite).
HedgeMaxSurchargePercent: el porcentaje máximo en que la cobertura puede elevar cualquier objetivo de cierre (50).
HedgeMagicNumber: el ID de las partes de la cobertura; debe ser diferente del de la cuadrícula (9754381).
HedgeReopenOnFinish: abre un nuevo ciclo cuando finaliza uno (activado).
HedgeStartRequiresTrade: espera a que la cuadrícula abra una posición antes del primer ciclo (activado).
HedgeIntegritySeconds: frecuencia con la que se comprueba que ambas posiciones sean iguales (5 segundos).
HedgeAutoRepair: repara automáticamente una posición aislada (activado).
HedgeNakedAction: qué hacer con una posición aislada; por defecto, se vuelve a cubrir.
HedgeMaxSpreadPoints: no se realizan órdenes de cobertura por encima de este spread (0 = desactivado).
HedgeSlippagePoints: deslizamiento máximo en las órdenes de cobertura (30 puntos).
HedgeAttemptsPerLeg: número de intentos por parte de la operación de cobertura (3).
HedgeVerifyTimeout: tiempo durante el que se sigue comprobando una posición de cobertura bloqueada (90 segundos).
HedgeCommissionPerLot: comisión de cobertura por defecto (0: se lee del historial).
HedgeOrderComment: comentario sobre las operaciones de cobertura.
Día de liquidación semanal
WeeklyCashDay: no hay nuevo ciclo de cobertura ni reparto durante el periodo de retirada (desactivado).
CashDayOfWeek: 0 = domingo, 1 = lunes, y así sucesivamente (1).
CashCutoffHour: hora del servidor a partir de la cual no se activa ninguna nueva distribución (21).
Panel y gráfico
ShowPanel: muestra u oculta el panel.
PanelX y PanelY: desplazamientos del panel respecto a los bordes del gráfico (12 y 15).
PanelFontSize: tamaño de fuente base (9).
ShowArabic: añade una línea en árabe debajo de la línea en inglés del panel (activado).
ShowChartMarks: dibuja planos y niveles en el gráfico (activado).
MaxTableRows: número de filas que se muestran por cuadrícula (13).
PanelCorner: la esquina del gráfico a la que está anclado el panel.
Desencadenante de entrada
EntryTriggerMode: la estrategia CMO activa el primer nivel de forma predeterminada.
SignalBarShift: 1 significa la última barra cerrada.
SignalBarsDelay: barras que deben transcurrir entre señales aceptadas (30; 0 acepta todas las señales).
SignalValidBars: una señal sigue siendo válida durante este número de barras (3).
SignalAllowBuy y SignalAllowSell: activan o desactivan cada dirección por separado.
SignalReverse: invierte la dirección (desactivado).
Oscilador de impulso de Chande: la señal
InpCMOPeriod: número de cambios de cierre que se suman (20; 2 o más).
InpCMOCrossLevel: COMPRA cuando el CMO supera este valor al alza; VENTA cuando lo cae a la baja; 0 es la línea cero (25).
InpCMOClimbMin: Climb Guard: puntos que el CMO debe haber ganado hacia el lado de la señal (20; 0 = desactivado).
InpCMOClimbBars: «Climb Guard»: número de barras a partir de las cuales se mide esa ganancia (3).
InpCMOSpikeMax - Protector de picos: la mayor proporción de la suma ganadora, en porcentaje, que puede alcanzar una sola vela (30; 100 = desactivado).
InpCMORangeMinATR - Range Guard: el ancho mínimo de la ventana del CMO, en ATR (5,0; 0 = desactivado).
InpCMOATRPeriod: la duración del ATR utilizada por el «Range Guard» (14).
InpCMOTrendFilter: 1 opera a favor de la EMA (por defecto), 2 opera en contra de ella como estrategia de «fade», 0 significa desactivado.
InpCMOTrendMAPeriod: la duración de la EMA de tendencia (200).
InpShowSignalArrows: flechas en las velas donde se ha activado un ciclo (activado).
InpShowCMOOnChart: marca los cruces anteriores en el gráfico en tiempo real: flecha pequeña = aceptado, punto gris = rechazado (activado).
Depuración
DebugMode: registro detallado en el diario (desactivado).
Seguridad del margen en el marco temporal
UseMarginTFSafety: desactivado por defecto.
Level1MarginPct y Level1TF: con un nivel de margen igual o inferior al 6000 por ciento, funcionan en M15.
Level2MarginPct y Level2TF: a un nivel de margen igual o inferior al 5000 por ciento, funcionan en H1.
MarginTFHysteresisPct: distancia a la que debe recuperarse el margen por encima de un nivel antes de retroceder (500).
----------
Expectativas realistas
Una estrategia de rejilla conlleva un riesgo real. Añade posiciones mientras el mercado se mueve en contra de ellas, no hay stop loss, y un movimiento prolongado en una sola dirección puede mantener la cartera abierta durante mucho tiempo o, si el lote es demasiado grande para el saldo, provocar un stop-out y una pérdida considerable. Un fuerte impulso puede revertirse en la siguiente barra, ya que el CMO describe lo que ha ocurrido y no lo que va a suceder a continuación. No se garantiza ningún resultado. Elige un lote que tu cuenta pueda soportar durante una racha negativa, pruébalo primero con tu propio bróker y opera en vivo solo con lo que puedas permitirte perder. No necesita DLL ni archivos adicionales.
Si lo pruebas, una reseña breve y sincera sobre cómo se ha comportado en tu cuenta, ya sea positiva o negativa, ayudará a otros operadores a tomar una decisión.
