Estrategia de fuga en dos etapas

El autor:¿ Qué pasa?, Fecha: 2023-11-02 15:58:29
Las etiquetas:

img

Resumen general

Esta estrategia toma decisiones comerciales basadas en el cambio porcentual del precio de apertura de 5 minutos a las 2:00 AM cada día, utilizando una ruptura de dos etapas para establecer diferentes condiciones de activación, con el objetivo de capturar movimientos significativos de precios en mercados variados.

Estrategia lógica

La estrategia calcula el cambio porcentual de la vela de 5 minutos actual en función de su precio de apertura en comparación con el precio de apertura de la vela de 5 minutos a las 2:00 AM todos los días. Cuando el cambio porcentual excede el umbral de ruptura de la primera etapa, se toman las decisiones de compra o venta correspondientes.

Si se activa el stop loss, cuando el cambio porcentual continúe expandiéndose y supere la condición de activación de la segunda etapa, se cancelarán las órdenes anteriores y se colocarán nuevas órdenes de compra o venta utilizando el umbral de la segunda etapa, continuando el seguimiento de las órdenes de stop loss y take profit.

La configuración de ruptura de dos etapas filtra algo de ruido durante los mercados variados, solo haciendo operaciones en movimientos de precios más significativos.

Ventajas

  • La ruptura de dos etapas con diferentes condiciones de activación filtra efectivamente el ruido en los mercados variados, solo se negocia en fluctuaciones de precios más grandes
  • La activación de la segunda etapa evita que el stop loss se active con demasiada frecuencia.
  • El cálculo del cambio porcentual del precio de apertura utiliza las nuevas tendencias después de la apertura del mercado cada día
  • Lógica estratégica simple y clara, fácil de entender e implementar

Riesgos y mitigaciones

  • La alta volatilidad puede desencadenar la apertura y cierre frecuentes de posiciones, aumentando los costes de negociación
  • Si la segunda etapa es demasiado alta, se pueden perder buenas oportunidades comerciales.
  • Establecer los niveles demasiado bajos puede desencadenar operaciones adicionales innecesarias

Mitigantes:

  • Optimice los parámetros para encontrar el mejor equilibrio
  • Limitar el número máximo de operaciones por día para evitar el exceso de operaciones
  • Utilice parámetros más agresivos durante las tendencias obvias

Oportunidades de mejora

  • Optimizar los valores para las dos etapas de ruptura para encontrar la mejor combinación
  • Investigación de parámetros óptimos para diferentes productos y períodos de tiempo
  • Incorporar un indicador de tendencia para utilizar ajustes más agresivos durante tendencias fuertes
  • Limitar las operaciones diarias máximas para evitar el exceso de operaciones
  • Optimizar los puntos de stop loss y take profit para obtener una mejor relación riesgo-recompensa

Resumen de las actividades

Esta estrategia captura picos de precios utilizando una ruptura de dos etapas en mercados variados, filtrando el ruido de manera efectiva. El concepto es simple y claro, y puede lograr buenos resultados a través de la optimización de parámetros. El siguiente paso es combinar con indicadores de tendencia para maximizar el rendimiento durante los mercados de tendencia. En general, esta es una nueva estrategia que hace buen uso de los principios de ruptura, y puede lograr resultados sólidos después de la sintonización.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Auto Entry Bot", overlay=true)

// Define input for the stop loss and take profit levels
stopLossPips = input.int(200, title="Stop Loss Pips", minval=1)
takeProfitPips = input.int(400, title="Take Profit Pips", minval=1)

// Calculate the percentage change from the 5-minute opening candle at 2:00 AM
var float openPrice = na
if (hour == 2 and minute == 0)
    openPrice := open
percentageChange = (close - openPrice) / openPrice * 100

// Track the cumulative percentage change
var float cumulativeChange = 0

// Define input for the percentage change trigger
triggerPercentage1 = input.float(0.25, title="Percentage Change Trigger (%)", minval=0.01, step=0.01)
triggerPercentage2 = input.float(0.35, title="Additional Trigger Percentage (%)", minval=0.01, step=0.01)

// Check for price change trigger
if (percentageChange >= triggerPercentage1)
    // Sell signal
    strategy.entry("Sell", strategy.short)
    strategy.exit("ExitSell", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

if (percentageChange <= -triggerPercentage1)
    // Buy signal
    strategy.entry("Buy", strategy.long)
    strategy.exit("ExitBuy", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

// If the price keeps hitting stop loss, activate the second trigger
if (strategy.position_size < 0 and percentageChange <= -triggerPercentage2)
    strategy.cancel("Sell")  // Cancel previous sell order
    strategy.entry("Sell2", strategy.short)
    strategy.exit("ExitSell2", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

if (strategy.position_size > 0 and percentageChange >= triggerPercentage2)
    strategy.cancel("Buy")  // Cancel previous buy order
    strategy.entry("Buy2", strategy.long)
    strategy.exit("ExitBuy2", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade


Más.