Cuando la vela actual se abre por debajo del cierre anterior y termina el día con un cierre mayor que el abierto, la estrategia entra en largo el día siguiente
Compruebe si se produce una brecha hacia abajo, es decir, la apertura actual está por debajo del cierre anterior.
Si se abre hacia abajo, observe si el cierre actual está por encima del abierto, lo que indica una inversión al alza.
Si se cumplen las condiciones de reversión de la brecha hacia abajo, se abre o se cierra el día siguiente.
Establezca un stop loss en un porcentaje, por ejemplo, 5%, después de la entrada.
Cuando el precio cae para alcanzar el stop loss, la posición se cierra.
Las principales ventajas de esta estrategia:
Captura las oportunidades comerciales de reversión de los patrones de descenso de la brecha.
El patrón de reversión de alta probabilidad se alinea con el alternancia de miedo / codicia.
El trailing stop bloquea las ganancias sin necesidad de monitoreo manual.
Ajustes flexibles para la entrada y el stop loss para adaptarse a las existencias individuales.
Ejecución automatizada y fácil backtesting/optimización.
Principales riesgos de esta estrategia:
Pueden ocurrir reversiones fallidas, necesitan verificación de patrón.
Stop loss de gran tamaño propenso a ser eliminado, lo que lleva a pérdidas amplificadas.
La mala selección de las poblaciones puede llevar a inversiones duras.
Los datos insuficientes de las pruebas previas conducen a riesgos de sobreajuste.
La ejecución difiere entre backtest y en vivo.
Soluciones:
Optimizar el nivel de stop loss y el porcentaje de pérdida máxima por operación.
Evaluar la tendencia general del mercado para evitar el exceso de existencias.
Verifica los cambios de patrón y volumen.
Ampliar el tamaño de la muestra para backtest, simular el comercio en vivo.
Algunas maneras de mejorar la estrategia:
Añadir un filtro de tendencia para evitar las entradas de tendencia contraria.
Ajuste dinámico del porcentaje de stop loss para proteger las ganancias.
Considere la posibilidad de añadir un filtro de tiempo para el comercio en fechas específicas.
Evaluar la fuerza del patrón para el dimensionamiento de la posición.
Pruebe diferentes períodos de espera para encontrar los puntos de salida óptimos.
La estrategia de reversión de la brecha hacia abajo capitaliza en patrones de reversión de alta probabilidad. Las paradas controlan eficazmente el riesgo, pero tenga cuidado con rebotes falsos y condiciones cambiantes del mercado.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-12 04:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © RolandoSantos //@version=2 strategy(title="Gap Down reversal strat", overlay=true, pyramiding=1, default_qty_type = strategy.cash, default_qty_value = 10000, initial_capital = 10000 ) /// Start date startDate = input(title="Start Date", defval=1, minval=1, maxval=31) startMonth = input(title="Start Month", defval=1, minval=1, maxval=12) startYear = input(title="Start Year", defval=2009, minval=1800, maxval=2100) // See if this bar's time happened on/after start date afterStartDate = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) // STEP 1: // Configure trail stop level with input options (optional) longTrailPerc = input(title="Trail Long Loss (%)", type=float, minval=0.0, step=0.1, defval=5.0) * 0.01 // Calculate trading conditions gap_d_r = open < close[1] and close > open // Plot Shapes plotshape(gap_d_r, style=shape.triangleup, location=location.belowbar) ///plotshape(gap_u_r, style=shape.triangledown, location=location.abovebar) ///// Use Low, or close///// //hlco = input(title="Stop Modifier", defval="close", options=["open", "high", "low"]) // STEP 2: // Determine trail stop loss prices longStopPrice = 0.0 ///, shortStopPrice = 0.0 longStopPrice := if (strategy.position_size > 0) stopValue = close * (1 - longTrailPerc) max(stopValue, longStopPrice[1]) else 0 // Plot stop loss values for confirmation plot(series=(strategy.position_size > 0) ? longStopPrice : na, color=red, style=circles, linewidth=1, title="Long Trail Stop") // Submit entry orders if (afterStartDate and gap_d_r) strategy.entry(id="EL", long=true) // Submit exit orders for trail stop loss price if (strategy.position_size > 0) strategy.exit(id="Stop out", stop=longStopPrice)