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.
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.
Mitigantes:
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