이 전략은 니프티50 지수의 3분 촛불 데이터에 기반한다. 각 거래 세션의 첫 3분 촛불의 높고 낮은 가격을 추적하고 가격이 이 범위에서 벗어날 때 거래 신호를 발행한다. 전략의 주된 아이디어는 시장이 개시 기간 동안 종종 상당한 불확실성과 변동성을 경험하고 있으며 첫 촛불의 높고 낮은 지점은 하루의 가격 움직임에 중요한 참조로 작용할 수 있다는 것이다. 가격이 이 범위에서 벗어나는지 결정함으로써, 하루의 트렌딩 기회를 포착할 수 있다.
니프티50 3분 오프닝 레인지 브레이크아웃 전략은 각 거래 세션의 첫 3분 촛불의 높고 낮은 지점을 추적함으로써 일일 트렌드 방향을 파악합니다. 간단하고 사용하기 쉽습니다. 그러나 시장 개시 기간 동안 엄청난 변동성과 불확실성으로 인해 전략 자체는 많은 잘못된 브레이크아웃 신호를 생성하고 포지션 사이징 및 스톱-러스 메커니즘이 부족하는 것과 같은 특정 한계를 가지고 있습니다. 따라서 실제 응용에서는 다른 기술적 지표, 포지션 관리 및 엄격한 스톱-러스 방법과 결합하여 전략 성능을 최적화하고 위험 통제 기능을 향상해야합니다.
/*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)