Grid Bollinger Bands 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
Compruébalo con tus propios ojos antes de gastarte nada: ejecuta el EA «Grid Bollinger Bands» en el Probador de Estrategias de MetaTrader 5 en modo visual y observa cómo el precio se sale de una banda, vuelve a entrar de golpe y la cuadrícula empieza a formarse solo después de que ese retroceso se confirme en una vela cerrada.
COMPRA AL RETORNO, NO AL DESVIACIÓN.
El EA «Grid Bollinger Bands» deja que la famosa envolvente de volatilidad de John Bollinger decida cuándo ha terminado un sobrepaso y, a continuación, cede la posición a un motor completo de gestión de rejilla que va reduciendo la exposición más antigua poco a poco.
Cinco cosas que debes saber en diez segundos
• Un ciclo comienza únicamente cuando una vela cierra de nuevo dentro de las bandas después de que la vela anterior cerrara fuera de ellas; se lee solo en barras cerradas, por lo que nada se repinta.
• El nuevo «Squeeze Guard» ignora los toques de las bandas cuando estas están inusualmente estrechas, momento en el que un toque suele ser más el inicio de una ruptura que el final de un sobrepaso.
• 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 partes, en lugar de dejarla en espera.
• No hay stop loss ni cierre forzado de todas las posiciones; cuando se alcanza un límite, se rechazan los nuevos niveles y se sigue gestionando el libro de órdenes existente.
• Tanto las cuentas de cobertura como las de compensación funcionan, y cada límite es un parámetro que puedes ver y modificar.
EMPIEZA AQUÍ
Primer gráfico: EURUSD H1 o XAUUSD D1. Lote: el valor por defecto de 0,01 con la escalera aditiva. Primer modo: «Solo escaneo», de modo que el panel te muestra todos los planes antes de que se envíe una sola orden; cambia a «Armado» cuando te sientas cómodo. Prueba primero con los datos de tu propio bróker, ya que los spreads, los swaps y las comisiones varían de un bróker a otro. Con un saldo reducido, mantén el lote predeterminado y deja que el Strategy Tester te muestre hasta qué punto se profundiza la cartera con tu símbolo.
¿Por qué las bandas y por qué se adaptan a una estrategia de rejilla?
Las bandas de Bollinger trazan una media móvil con una línea superior y otra inferior situadas a una serie de desviaciones estándar de distancia de ella. Cuando los mercados están tranquilos, las líneas se acercan; cuando hay mucha actividad, las líneas se separan. Dado que la distancia se adapta a la volatilidad, un cierre fuera de una banda significa que ha ocurrido algo inusual en relación con el comportamiento reciente, sea cual sea el símbolo o el marco temporal. En este punto, el EA actúa con cautela: el hecho de estar fuera de la banda no es el desencadenante. El precio puede mantenerse dentro de una banda durante mucho tiempo en un movimiento fuerte. El desencadenante es el retorno, la primera vela cerrada que vuelve a situarse dentro de la banda tras haber cerrado fuera de ella. Ese retorno indica que el impulso se ha detenido, y es entonces cuando se permite que comience la rejilla.
Novedades de esta versión
El «Squeeze Guard» es una mejora propia de este EA. Todo operador que haya utilizado las bandas conoce la trampa: tras un largo periodo de calma, las bandas se estrechan mucho, el precio se escapa por un lado y parece volver, y entonces la verdadera ruptura se produce con fuerza en esa misma dirección. El «guard» compara el ancho actual de la banda con su propia media en una ventana de barras que tú elijas. Cuando las bandas están mucho más estrechas de lo habitual, se ignora el retorno, ya que en un «squeeze» un retorno al interior no significa gran cosa. Una vez que las bandas se abren hasta alcanzar un ancho normal, los retornos vuelven a tenerse en cuenta. Establece la relación en 0 para desactivar el «guard». Una fila «BB SQUEEZE» en el panel muestra el ancho en tiempo real como un múltiplo de su media e indica si el guard muestra actualmente el estado «OPEN» o «SQUEEZE». También se incluye la seguridad del marco temporal del nivel de margen, que está desactivada por defecto.
Cómo se desarrolla un ciclo
1. La lectura. Al cierre de cada barra, el EA toma la línea base, la banda superior y la banda inferior del indicador de bandas de Bollinger integrado en MetaTrader 5. La vela en formación nunca se tiene en cuenta, por lo que lo que ves en el historial es exactamente lo que el EA vio en ese momento.
2. El retorno. Se considera un ciclo de COMPRA cuando una vela cierra de nuevo por encima de la banda inferior después de que la vela anterior cerrara por debajo de ella; un ciclo de VENTA es el caso inverso en la banda superior. Un modo opcional de mecha también acepta una vela que traspase una banda con su sombra y cierre dentro de la misma, en el lado correcto de la línea de base.
3. La comprobación de profundidad. Si deseas una señal más sólida, puedes exigir que el cierre se sitúe un número mínimo de puntos dentro de la banda.
4. La protección contra el «squeeze». El ancho de la banda en la barra de señal debe ser, como mínimo, el múltiplo elegido de su ancho medio.
5. El filtro de tendencia opcional. Una media móvil exponencial (EMA) puede confirmar la tendencia: opera solo a favor de ella, opera solo en contra de ella como una operación de «fade», o desactívala.
6. El ritmo. Un intervalo tranquilo de barras entre las señales aceptadas evita que una sesión agitada genere un ciclo tras otro, y una señal sigue siendo válida durante unas cuantas barras cuando no se puede colocar un nivel de inmediato.
7. La escalera. Los niveles se espacian a una distancia fija o según 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.
8. La cosecha. La función «Closer» busca grupos formados por las ó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 que ya están abiertos.
9. 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.
10. El ciclo de cobertura opcional. Desactivado por defecto. Cuando está activado, mantiene un par equilibrado en un símbolo que elijas y lo retira en partes iguales, financiadas mediante un pequeño recargo sobre los cierres que la rejilla ya está realizando.
El panel
El panel se sitúa en el lado izquierdo del gráfico, dejando despejados 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. Una fila de BB PULSE muestra la posición %B en tiempo real dentro de las bandas, si el precio se encuentra en la mitad superior, en la mitad inferior o fuera de una banda, y cuántas barras han transcurrido desde el último retorno. La fila BB SQUEEZE muestra la relación de anchura, el estado de protección 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. La tarjeta Hedge Vault se sitúa directamente debajo del panel principal y la sigue cuando la arrastras o la minimizas. En un gráfico en tiempo real, las propias bandas se dibujan automáticamente y unas flechas marcan las velas en las que se activó un ciclo. 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 descarta 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 función opcional de seguridad del nivel de margen en el marco temporal traslada las señales y el espaciado a un marco temporal superior cuando el nivel de margen cae hasta los niveles que tú establezcas, y vuelve a la situación anterior solo después de que el margen se recupere más allá de un colchón de seguridad. Desactivada 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 y para quién no es
Es adecuado para operadores que buscan una razón clara y visual para cada nuevo ciclo, que prefieren muchos cierres pequeños a un único objetivo grande y que están dispuestos a ajustar el tamaño del lote para su propia cuenta. No es adecuado para quienes desean un stop loss en cada orden, una cifra mensual garantizada o un robot del tipo «configurar y olvidar» con lotes grandes en un saldo reducido.
Explicación de cada parámetro
Cuadrícula: cómo se abren los niveles
TradeMode: rejilla dual por defecto (COMPRA y VENTA en paralelo) 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 (9754240).
GridOrderComment: el comentario de cada orden de la rejilla (GBB).
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 corresponde al 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 la 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 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 (9754241).
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: el 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 inglesa (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 de Bollinger 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).
Bandas de Bollinger: la señal
InpBBPeriod: barras en la media móvil base y la desviación (20).
InpBBShift: desplazamiento horizontal de las bandas en barras (0).
InpBBDeviation: número de desviaciones estándar a las que se sitúan las bandas respecto a la línea base (2,0).
InpBBPrice: el precio sobre el que se construyen las bandas (cierre).
InpBBPierceMode: 0 requiere un cierre fuera de la banda seguido de un cierre de nuevo dentro; 1 también acepta una mecha que atraviese la banda y cierre dentro de ella (0).
InpBBMinReentryPts: distancia mínima, en puntos, que el cierre de retorno debe situarse dentro de la banda (0 = desactivado).
InpBBSqueezeRatio: Squeeze Guard: el ancho de la banda debe ser, como mínimo, este múltiplo de su media (0,80; 0 = desactivado).
InpBBSqueezeLookback: barras utilizadas para calcular el ancho medio de la banda (100).
InpBBTrendFilter: 0 = desactivado; 1 = operar a favor de la EMA; 2 = operar en contra de ella como una estrategia de «fade».
InpBBTrendMAPeriod: la longitud de la EMA de tendencia (200).
InpShowSignalArrows: flechas en las velas donde se ha activado un ciclo (activado).
InpShowBandsOnChart: traza las bandas de Bollinger en el gráfico en tiempo real (activado).
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 partir del 5000 % o menos, funcionan en H1.
MarginTFHysteresisPct: distancia a la que debe recuperarse el margen por encima de un nivel antes de retroceder (500).
Depuración
DebugMode: registro detallado en el diario (desactivado).
Expectativas realistas
Una rejilla gestiona una posición; no puede predecir el futuro. El EA «Grid Bollinger Bands» es selectivo a la hora de determinar cuándo comienza un ciclo y trabaja de forma constante para mantener cada ciclo corto y reducir cada orden antigua, pero una tendencia fuerte puede mantenerse a lo largo de una banda durante mucho tiempo y mantener la cartera abierta. Elige un lote que tu cuenta pueda soportar durante ese tiempo, pruébalo primero con tu propio bróker y deja que el Strategy Tester te muestre cómo se comporta antes de pasar a operar en vivo. Funciona con cualquier símbolo y marco temporal y no necesita DLL ni archivos adicionales.
Si la utilizas, una reseña sincera sobre cómo ha funcionado en tu cuenta, ya sea positiva o negativa, ayudará a otros operadores a tomar una decisión.
