La estrategia de ruptura diaria es una simple estrategia de seguimiento de tendencia basada en gráficos de velas diarias.
La lógica central de esta estrategia es la siguiente:
Si el cuerpo de la vela del día anterior es verde (el precio de cierre es mayor que el precio de apertura), indica una tendencia al alza en ese día. La estrategia será larga en la apertura del día siguiente. Si el cuerpo de la vela del día anterior es rojo (el precio de cierre es menor que el precio de apertura), indica una tendencia a la baja. La estrategia será corta en la apertura del día siguiente.
De esta manera simple, la estrategia puede identificar el impulso del mercado dentro del reciente ciclo de una vela y realizar operaciones en consecuencia. Esto permite a la estrategia seguir la última tendencia del mercado.
Específicamente, la estrategia genera señales comerciales de la siguiente manera:
A través de esta lógica, la estrategia puede capitalizar las tendencias de precios a corto plazo.
Las principales ventajas de esta estrategia incluyen:
Algunos riesgos y áreas de mejora:
La estrategia de ruptura diaria identifica el impulso del mercado a través de una comparación simple y efectiva de las velas diarias, lo que le permite operar en la dirección de las tendencias a corto plazo.
/*backtest start: 2022-12-26 00:00:00 end: 2023-08-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Daily Candle Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=0.0) // Input parameters initialCapital = 10000 riskFactor = 3500 // Calculate the opening and closing values for the last day's candle lastDayOpen = request.security(syminfo.tickerid, "D", open[1], lookahead=barmerge.lookahead_on) lastDayClose = request.security(syminfo.tickerid, "D", close[1], lookahead=barmerge.lookahead_on) // Determine the color of the last day's candle lastDayColor = lastDayOpen < lastDayClose ? color.green : color.red // Plot the last day's candle on the chart plotshape(series=na, color=lastDayColor, style=shape.triangledown, location=location.abovebar) // Calculate trade size based on available capital at last day's closing availableCapital = strategy.equity tradeSize = availableCapital / riskFactor // Trading conditions buyCondition = lastDayColor == color.green sellCondition = lastDayColor == color.red // Execute strategy orders with calculated trade size strategy.entry("Buy", strategy.long, qty=tradeSize, when=buyCondition) strategy.entry("Sell", strategy.short, qty=tradeSize, when=sellCondition) // Exit strategy stopLoss = 0.001 * lastDayOpen * tradeSize strategy.exit("StopLoss/Profit", from_entry="Buy", loss=stopLoss) strategy.exit("StopLoss/Profit", from_entry="Sell", loss=stopLoss) // Plot stop loss level on the chart plot(stopLoss, color=color.red, linewidth=2, title="Stop Loss")