La estrategia Last Candle es una estrategia de tendencia que determina la dirección de la tendencia del mercado basada en la relación entre el precio de cierre y el precio de apertura del último candelabro, y genera señales comerciales en consecuencia.
La lógica central de esta estrategia es la siguiente:
Específicamente, la estrategia solicita los datos del precio de apertura y el precio de cierre del último candelero, y determina la dirección de la tendencia basada en la comparación de precios. Si es una tendencia alcista, se colocará una orden de mercado para comprar cuando el candelero cierre. Si es una tendencia bajista, se colocará una orden de mercado para vender.
Después de eso, se establecen los precios de stop loss y take profit. Para las posiciones largas, el precio de stop loss es el precio de apertura de esa vela multiplicado por un coeficiente, y el precio de take profit es el precio de cierre actual. Para las posiciones cortas es lo contrario.
Los riesgos pueden reducirse mediante la incorporación de indicadores de tendencia para la confirmación, la optimización de la lógica de stop loss / take profit, la ampliación del período de backtest y los entornos de mercado.
La estrategia de la última vela es una estrategia simple de seguimiento de tendencia. Juzga rápidamente la dirección de la tendencia utilizando el último candelero y las operaciones en consecuencia. La lógica es simple y fácil de implementar, alineándose con la idea de seguir la tendencia. Stop loss y take profit también están configurados para controlar los riesgos. Sin embargo, solo confiar en el último candelero podría quedar atrapado fácilmente, por lo que debe usarse junto con los indicadores de tendencia. Además, todavía hay mucho espacio para mejorar esta estrategia, introduciendo más indicadores técnicos o modelos de aprendizaje automático.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Last Candle Strategy with Date Range", overlay=true) // Define the start and end dates for the backtest startDate = timestamp(2015, 01, 01, 00, 00) endDate = timestamp(2023, 11, 24, 23, 59) // Check if the current bar is within the specified date range withinDateRange = time >= startDate and time <= endDate // If outside the date range, skip the strategy logic if (not withinDateRange) strategy.close_all() // Calculate the opening and closing values for the last candle lastCandleOpen = request.security(syminfo.tickerid, "D", open[1], lookahead=barmerge.lookahead_on) lastCandleClose = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on) // Determine the trade direction based on the last candle tradeDirection = lastCandleOpen < lastCandleClose ? 1 : -1 // 1 for buy, -1 for sell // Plot the last candle's opening and closing values on the chart plot(lastCandleOpen, color=color.blue, title="Last Candle Open") plot(lastCandleClose, color=color.red, title="Last Candle Close") // Execute strategy orders if (withinDateRange) if (tradeDirection == 1) strategy.entry("Buy", strategy.long) if (tradeDirection == -1) strategy.entry("Sell", strategy.short) // Set stop loss and take profit stopLoss = 0.01 * lastCandleOpen takeProfit = close // Exit strategy strategy.exit("StopLoss/Profit", from_entry="Buy", loss=stopLoss, profit=takeProfit) strategy.exit("StopLoss/Profit", from_entry="Sell", loss=stopLoss, profit=takeProfit)