Grid Linear Weighted Moving Average 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
Comprueba cómo funciona antes de decidirte: carga el EA «Grid Linear Weighted Moving Average» en el Probador de estrategias de MetaTrader 5, selecciona el modo visual y observa cómo la rejilla permanece completamente inactiva hasta que una vela cerrada cruza la media ponderada con un nuevo impulso a su favor.
LAS VELAS MÁS RECIENTES SON LAS QUE DECIDEN. EL HISTORIAL ANTIGUO, NO.
Una media móvil simple trata una barra de hace tres semanas exactamente igual que la barra que ha cerrado hace un minuto. La media móvil lineal ponderada no lo hace: la barra más reciente tiene el mayor peso y cada barra anterior cuenta un poco menos, por lo que la línea se curva en cuanto el mercado cambia realmente de opinión. El EA «Grid Linear Weighted Moving Average» utiliza esa línea para decidir cuándo ha comenzado un nuevo movimiento y, a continuación, cede el control a un motor completo de gestión de la red que va reduciendo progresivamente la exposición más antigua, un cierre de grupo y una porción parcial cada vez.
De un vistazo
• Un ciclo de COMPRA solo puede comenzar cuando una barra cierra por encima de la LWMA después de que la barra anterior haya cerrado en ella o por debajo; un ciclo de VENTA requiere el cruce inverso por debajo. Solo se tienen en cuenta las barras cerradas, por lo que no hay repintado.
• Novedad de este producto: el «Weight Lead Guard». La LWMA debe situarse por delante de una SMA simple de la misma longitud, en la dirección de la operación, en un número mínimo de ATR. Esa es la prueba directa de que son las barras más recientes, y no el historial antiguo, las que están impulsando el precio en tu dirección.
• También se mantiene el «Cross Depth Guard»: un cruce que apenas roza la línea se ignora como ruido, y un cruce que se sitúa muy por encima de ella en una vela violenta se ignora como un pico.
• Una regla de pendiente mantiene cada entrada en sintonía con la línea: solo se realiza una COMPRA mientras la LWMA sube, y solo una VENTA mientras baja.
• La LWMA se traza en el gráfico en tiempo real de la ventana principal, y unas flechas marcan cada vela en la que se ha activado un ciclo.
• 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 en lugar de esperar a obtener un rendimiento completo.
• Sin stop loss ni cierre forzado de todas las posiciones. Cuando se alcanza un límite, se rechazan los nuevos niveles mientras se sigue gestionando el libro de órdenes existente.
• Se admiten tanto las cuentas de cobertura como las de compensación, y cada límite es un parámetro visible.
PRIMEROS PASOS
Empieza con el EURUSD H1 o el XAUUSD D1 con el lote predeterminado de 0,01 y la escalera aditiva. Para la primera sesión, cambia el RunMode a «Scan only» (Solo escaneo): el panel mostrará entonces todos los planes que el EA elaboraría sin enviar ni una sola orden, y con un solo botón podrás cambiarlo a «Armed» (Activo) cuando estés listo. Ejecuta primero el Strategy Tester con los datos de tu propio bróker, ya que los spreads, los swaps y las comisiones varían según el proveedor. Con un saldo más reducido, mantén el lote inicial y deja que el tester te muestre hasta qué punto puede crecer la cartera con tu par de divisas.
¿Por qué una media ponderada lineal?
Todas las medias miran hacia atrás, y todas ellas llegan tarde de alguna manera. La LWMA multiplica cada precio de cierre por su posición, de modo que, con un periodo de 21, el cierre más reciente cuenta 21 veces, el anterior 20 veces y el más antiguo solo una vez. El resultado se ajusta mucho más al presente que una media simple de la misma duración, pero sigue siendo una línea suave que ignora los ticks aislados. Para una estrategia de rejilla, es importante un comienzo temprano y honesto: un primer nivel tardío significa que gran parte del movimiento ya se ha agotado antes de que comience la escalera.
La mejora en esta versión
El «Weight Lead Guard» es una incorporación propia de este EA. Dado que la LWMA se basa en las barras recientes y la SMA otorga el mismo peso a cada barra, la diferencia entre ambas líneas indica quién está impulsando el mercado. Cuando la LWMA está por encima de la SMA, las barras más recientes son más fuertes que la media del periodo; cuando está por debajo, son más débiles. En cada cruce, el EA mide esa diferencia, la divide por el ATR —de modo que un único ajuste sirve para divisas, oro e índices— y le asigna un signo según la dirección de la operación. Una ORDEN DE COMPRA requiere que la LWMA esté por encima de la SMA al menos en tu valor mínimo; una ORDEN DE VENTA requiere que esté por debajo en la misma cantidad. Se omite cualquier cruce que se produzca mientras las barras recientes sigan tirando en la dirección opuesta. Establece el mínimo en 0 para desactivar el filtro. El panel muestra la ventaja en tiempo real junto a la lectura de profundidad, con «ABRIR» o «MANTENER» para cada filtro. Se incluye la seguridad del marco temporal a nivel de margen, que está desactivada por defecto.
Un ciclo, paso a paso
1. La lectura. En cada barra cerrada, el EA lee la media móvil integrada de MetaTrader 5 en modo ponderado lineal. La vela en formación nunca se utiliza, por lo que el historial muestra exactamente lo que vio el EA.
2. El cruce. Se considera una COMPRA cuando la barra cierra por encima de la LWMA después de que la barra anterior cerrara en ella o por debajo; una VENTA es el caso inverso.
3. La regla de la pendiente. Por defecto, la LWMA debe estar al alza para una orden de COMPRA y a la baja para una orden de VENTA.
4. El filtro de profundidad del cruce. El cierre debe situarse entre la distancia mínima y máxima respecto a la línea, medida en ATR.
5. El «Weight Lead Guard». La LWMA debe adelantarse a la SMA del mismo periodo en la dirección de la operación en una fracción mínima de tu ATR.
6. El filtro de tendencia opcional. Una EMA lenta puede confirmar la tendencia lateral: opera solo a favor de ella, solo en contra de ella como una operación de «fade», o desactívala.
7. El ritmo. Un intervalo tranquilo de barras entre las señales aceptadas evita que una sesión volátil inicie un ciclo tras otro, y una señal sigue siendo válida durante unas cuantas barras si no se puede colocar un nivel de inmediato.
8. La escalera. Los niveles se espacian por puntos fijos o por el ATR, con un mínimo, un máximo y la opción de congelar la distancia durante todo el ciclo. Las rejillas de COMPRA y VENTA pueden funcionar en paralelo o solo en una dirección.
9. La cosecha. El sistema busca grupos de órdenes más antiguas y más recientes y cierra un grupo tan pronto como su resultado combinado, tras deducir el swap y la comisión, supere tu objetivo. Cuando la orden más antigua sigue siendo demasiado pesada, solo se cierra una parte de ella, pagada con los beneficios ya obtenidos.
10. Los controles de seguridad. Un mecanismo de protección contra la reapertura bloquea cualquier cierre que reabriría el mismo nivel de inmediato. 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 entre el escaneo y el envío.
11. El ciclo de cobertura opcional. Desactivado por defecto. Cuando se activa, mantiene un par equilibrado en un símbolo que elijas y lo retira en partes iguales, pagadas mediante un pequeño recargo sobre los cierres que la rejilla ya está realizando.
El panel
El panel se sitúa a la izquierda del gráfico y deja libre el lado derecho y la escala de precios. Muestra el símbolo y el número mágico, un indicador de estado (ARMADO, SOLO ESCANEO o EN PAUSA), el modo de rejilla, el paso de lotes, el espaciado, las ganancias acumuladas, el libro de órdenes en lotes con su resultado neto, el plan de cierre para cada lado con su propio botón de cierre y la lista de órdenes. La fila LWMA PULSE muestra el período y el valor en tiempo real de la línea, si el precio está por encima o por debajo de ella, si está subiendo o bajando y cuántas barras hace que se produjo el último cruce. La fila DEPTH GUARD muestra la distancia en tiempo real en ATR con su estado, la ventaja de peso en tiempo real con su estado y el filtro de tendencia. Los botones permiten alternar entre «Armado» y «Solo escaneo», «Pausa» y «Reanudar», así como gestionar las marcas del gráfico y el corte de datos. La tarjeta «Hedge Vault» está acoplada directamente debajo del panel principal y la sigue cuando la arrastras o la minimizas. El panel se adapta al tamaño de la pantalla y no dibuja nada en un backtest no visual, por lo que la optimización sigue siendo rápida.
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 en un mal momento.
Antes de cada orden, la comprobación de fondos plantea una pregunta sencilla: ¿hay margen libre suficiente, con un colchón de seguridad, para esta orden?
Los límites en los niveles por cuadrícula, las órdenes por lado y los lotes por orden mantienen la escalera dentro de unos límites, y la escalera de lotes deja de crecer al alcanzar el límite de nivel.
En las cuentas de compensación, el margen de la posición fusionada se limita a un porcentaje del capital.
La seguridad opcional del nivel de margen en el marco temporal traslada la señal y el espaciado a un marco temporal superior cuando el nivel de margen cae a los niveles elegidos, y vuelve a su posición original solo después de que el margen se recupere por encima de un colchón de seguridad. Desactivado por defecto.
Cada copia se aísla por símbolo y números mágicos, por lo que los distintos gráficos nunca interfieren en las órdenes ni en el estado guardado de los demás.
El modo «solo escaneo» muestra todas las decisiones sin enviar ninguna orden.
Para quién es adecuado y para quién no
Es adecuado para operadores que desean una línea visible en el gráfico como justificación de cada nuevo ciclo, que prefieren muchos cierres pequeños a un único objetivo lejano y que están dispuestos a ajustar el tamaño del lote para 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 repinta? No. Las señales proceden únicamente de barras cerradas.
¿En qué se diferencia de una EMA? Una EMA también da prioridad a las barras recientes, pero sus ponderaciones se atenúan lentamente y nunca olvidan del todo el pasado; la LWMA utiliza una ventana fija con una ponderación lineal, por lo que una barra que sale de la ventana deja de contar por completo.
¿Puedo hacer que la línea sea más rápida o más lenta? Sí. Un período más corto reacciona antes y ofrece más cruces; uno más largo ofrece menos cruces, pero más tranquilos.
¿Puedo utilizarla con el oro o con índices? Sí. Funciona con cualquier símbolo y marco temporal; el espaciado ATR y ambos filtros basados en el ATR se adaptan al símbolo.
¿Puedo ejecutarlo en varios gráficos? Sí. Asigna a cada copia sus propios números mágicos y permanecerán totalmente separadas.
¿Puedo hacer que opere con más o menos frecuencia? Sí. Reduce el valor de «SignalBarsDelay» o los mínimos de los filtros para obtener más ciclos; auméntalos, utiliza un período más largo o activa el filtro de tendencia para obtener menos.
Explicación de todos los parámetros
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 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 (9754300).
GridOrderComment: el comentario de cada orden de la rejilla (GLWMA).
OneOrderPerBar: no más de un nuevo nivel por barra.
Escalera de lotes
InitialLotSize: volumen del primer nivel (0,01).
LotSizingMode: aditivo por defecto, o 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 con compensación, el margen máximo de la posición neta como porcentaje del capital (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: cantidad 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 (9754301).
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, volver a cubrirla.
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 LWMA 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).
Media móvil ponderada lineal: la señal
InpLWMAPeriod: la duración de la LWMA (21).
InpLWMAPrice: el precio en el que se basa la LWMA (cierre).
InpLWMASlopeAgree: orden de COMPRA solo mientras la LWMA esté subiendo y orden de VENTA solo mientras esté bajando (activado).
InpLWMALeadMinATR: Weight Lead Guard: distancia a la que la LWMA debe situarse por delante de la SMA del mismo período en la dirección de la operación, en ATR (0,05; 0 = desactivado).
InpLWMADepthMinATR - Protector de profundidad del cruce: la distancia mínima entre el cierre y la LWMA en la barra de cruce, en ATR (0,10; 0 = desactivado).
InpLWMADepthMaxATR - Protector de profundidad de la barra transversal: la mayor distancia aceptada en ATR, de modo que se omiten los cruces de picos excesivamente extendidos (2,00; 0 = desactivado).
InpLWMAGuardATR: la longitud del ATR que ambos protectores utilizan para medir la distancia (14).
InpLWMATrendFilter: 0 = desactivado; 1 = operar a favor de la EMA; 2 = operar en contra de ella como estrategia de «fade».
InpLWMATrendMAPeriod: la longitud de la EMA de tendencia (200).
InpShowSignalArrows: flechas en las velas donde se ha activado un ciclo (activado).
InpShowLWMAOnChart: dibuja la línea LWMA en la ventana principal del gráfico en tiempo real (activado; sin subventana adicional, por lo que el panel conserva toda la altura del gráfico).
Depuración
DebugMode: registro detallado del 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 el margen debe recuperarse por encima de un nivel antes de retroceder (500).
Expectativas realistas
Una estrategia de rejilla gestiona una posición; no puede predecir el futuro. El EA «Grid Linear Weighted Moving Average» presta especial atención al inicio de cada ciclo y trabaja de forma constante para mantener cada ciclo breve y reducir progresivamente cada orden anterior; sin embargo, el mercado puede traspasar el límite con un nuevo impulso y aún así dar un giro brusco, manteniendo la posición abierta durante mucho tiempo. Elige un lote que tu cuenta pueda soportar en esa situación, pruébalo primero con tu propio bróker y deja que el Strategy Tester te muestre cómo se comporta antes de operar con él en vivo. Funciona con cualquier símbolo y marco temporal y no necesita DLL ni archivos adicionales.
Si se gana un hueco en tus gráficos, 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 su decisión.
