La idea principal de esta estrategia es utilizar los puntos altos y bajos de la vela de tres minutos como puntos de ruptura. Cuando el precio rompe el máximo de la vela de tres minutos, va largo, y cuando rompe el mínimo, va corto. Esta estrategia es adecuada para el comercio intradiario, cerrando posiciones al final de cada día y continuando el comercio al día siguiente. La ventaja de esta estrategia es que es simple, fácil de entender y fácil de implementar, con un riesgo relativamente bajo. Sin embargo, también hay algunos riesgos asociados con esta estrategia, como la posibilidad de grandes bajadas cuando la volatilidad del mercado es alta.
Esta estrategia se basa en la ruptura de los puntos altos y bajos de la vela de tres minutos y es adecuada para el comercio intradiario. La ventaja es que es simple, fácil de entender y fácil de implementar, con un riesgo relativamente bajo. Sin embargo, también hay algunos riesgos, como la posibilidad de grandes reducciones cuando la volatilidad del mercado es alta. Para mejorar la estabilidad y la rentabilidad de la estrategia, considere optimizarla en términos de filtración de señales, optimización de los tiempos de apertura, optimización de puntos de toma de ganancias y stop-loss y adición de gestión de posiciones.
/*backtest start: 2023-06-08 00:00:00 end: 2024-06-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Banknifty Strategy", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1) // Parameters start_date = input(timestamp("2024-01-01 00:00"), title="Start Date") end_date = input(timestamp("2024-06-07 23:59"), title="End Date") // Time settings var startTime = timestamp("2024-06-09 09:15") var endTime = timestamp("2024-06-09 09:24") // Variables to store the 3rd 3-minute candle var bool isCandleFound = false var float thirdCandleHigh = na var float thirdCandleLow = na var float baseCandleHigh = na var float baseCandleLow = na var float entryPrice = na var float targetPrice = na // Check if the current time is within the specified date range inDateRange = true // Capture the 3rd 3-minute candle if (inDateRange and not isCandleFound) var int candleCount = 0 if (true) candleCount := candleCount + 1 if (candleCount == 3) thirdCandleHigh := high thirdCandleLow := low isCandleFound := true // Wait for a candle to close above the high of the 3rd 3-minute candle if (isCandleFound and na(baseCandleHigh) and close > thirdCandleHigh) baseCandleHigh := close baseCandleLow := low // Strategy logic for buying and selling if (not na(baseCandleHigh)) // Buy condition if (high > baseCandleHigh and strategy.opentrades == 0) entryPrice := high targetPrice := entryPrice + 100 strategy.entry("Buy", strategy.long, limit=entryPrice) // Sell condition if (low < baseCandleLow and strategy.opentrades == 0) entryPrice := low targetPrice := entryPrice - 100 strategy.entry("Sell", strategy.short, limit=entryPrice) // Exit conditions if (strategy.opentrades > 0) // Exit BUY trade when profit is 100 points or carry forward to next day if (strategy.position_size > 0 and high >= targetPrice) strategy.exit("Take Profit", from_entry="Buy", limit=targetPrice) // Exit SELL trade when profit is 100 points or carry forward to next day if (strategy.position_size < 0 and low <= targetPrice) strategy.exit("Take Profit", from_entry="Sell", limit=targetPrice) // Close trades at the end of the day if (time == timestamp("2024-06-09 15:30")) strategy.close("Buy", comment="Market Close") strategy.close("Sell", comment="Market Close") // Plotting for visualization plotshape(series=isCandleFound, location=location.belowbar, color=color.red, style=shape.labeldown, text="3rd 3-min candle") plot(baseCandleHigh, title="Base Candle High", color=color.green, linewidth=2, style=plot.style_line) plot(baseCandleLow, title="Base Candle Low", color=color.red, linewidth=2, style=plot.style_line)