Strategi ini didasarkan pada data lilin 3 menit dari indeks Nifty50. Ini melacak harga tinggi dan rendah lilin 3 menit pertama dari setiap sesi perdagangan dan mengeluarkan sinyal perdagangan ketika harga keluar dari kisaran ini. Ide utama di balik strategi ini adalah bahwa pasar sering mengalami ketidakpastian dan volatilitas yang signifikan selama pembukaan, dan titik tinggi dan rendah lilin pertama dapat berfungsi sebagai referensi penting untuk pergerakan harga hari itu. Dengan menentukan apakah harga keluar dari kisaran ini, ia dapat menangkap peluang tren hari itu.
Nifty50 3-Minute Opening Range Breakout Strategy menangkap arah tren harian dengan melacak titik tinggi dan rendah dari lilin 3 menit pertama dari setiap sesi perdagangan. Ini sederhana dan mudah digunakan. Namun, karena volatilitas dan ketidakpastian yang sangat besar selama pembukaan pasar, strategi itu sendiri memiliki keterbatasan tertentu, seperti menghasilkan banyak sinyal breakout palsu dan tidak memiliki ukuran posisi dan mekanisme stop-loss. Oleh karena itu, dalam aplikasi praktis, perlu dikombinasikan dengan indikator teknis lainnya, manajemen posisi, dan metode stop-loss yang ketat untuk mengoptimalkan kinerja strategi dan meningkatkan kemampuan kontrol risiko.
/*backtest start: 2023-05-11 00:00:00 end: 2024-05-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Nifty 50 Strategy", overlay=true) // Define 3-minute timeframe timeframe = "3" // Track if the current bar is the first bar of the session isNewSession = ta.change(hour(time, "D")) != 0 // Track the open of the first candle of the session firstCandleOpen = isNewSession ? open : na // Track the high and low of the first candle var float firstCandleHigh = na var float firstCandleLow = na if isNewSession firstCandleHigh := high firstCandleLow := low // Alert when the first candle is completed if ta.barssince(isNewSession) == 3 alert("First Candle Completed - High: " + str.tostring(firstCandleHigh) + ", Low: " + str.tostring(firstCandleLow)) // Track if the high or low of the first candle is broken highBroken = high > firstCandleHigh lowBroken = low < firstCandleLow // Alert when the high or low of the first candle is broken if highBroken alert("High of First Candle Broken - High: " + str.tostring(high)) strategy.entry("Enter Long", strategy.long) if lowBroken alert("Low of First Candle Broken - Low: " + str.tostring(low)) strategy.entry("Enter Short", strategy.short)