리소스 로딩... 로딩...

니프티 50 3분 오프닝 레인지 브레이크업 전략

저자:차오장, 날짜: 2024-05-17 15:15:41
태그:SMAEMAMACDRSIKDJ

img

전반적인 설명

이 전략은 니프티50 지수의 3분 촛불 데이터에 기반한다. 각 거래 세션의 첫 3분 촛불의 높고 낮은 가격을 추적하고 가격이 이 범위에서 벗어날 때 거래 신호를 발행한다. 전략의 주된 아이디어는 시장이 개시 기간 동안 종종 상당한 불확실성과 변동성을 경험하고 있으며 첫 촛불의 높고 낮은 지점은 하루의 가격 움직임에 중요한 참조로 작용할 수 있다는 것이다. 가격이 이 범위에서 벗어나는지 결정함으로써, 하루의 트렌딩 기회를 포착할 수 있다.

전략 원칙

  1. 3분 시간 프레임을 결정하고 현재 바가 거래 세션의 첫 번째 촛불인지 확인합니다.
  2. 첫 번째 촛불의 오픈, 높은, 낮은 가격을 기록합니다.
  3. 첫 번째 촛불이 끝나면 다음 촛불의 최고가 첫 번째 촛불의 최고보다 높으면 긴 신호가 발사됩니다. 다음 촛불의 낮은 것이 첫 번째 촛불의 낮은 수준보다 낮다면 짧은 신호가 발사됩니다.
  4. 신호에 따라 거래하십시오. 하루 종료까지 보유하거나 고정된 영업 및 스톱 로스 수준을 설정하는 것과 같이 보유 시간을 유연하게 제어 할 수 있습니다.

전략적 장점

  1. 간단하고 이해하기 쉽고 논리적이어서 초보자도 배울 수 있고 사용할 수 있습니다.
  2. 시장 개척 기간 동안 트렌드 기회를 포착하고 트렌드를 따라가도록 도와줍니다.
  3. 보유 기간과 수익/손실 중단 수준은 개인 취향에 따라 유연하게 설정할 수 있습니다.
  4. 니프티50나 ETF 같은 폭넓은 지수에 적용됩니다.

전략 위험

  1. 시장은 개시시기에 매우 변동적이며, 높은/낮은 브레이크오웃만을 사용하면 많은 잘못된 브레이크오웃 신호를 생성할 수 있습니다.
  2. 이 전략은 포지션 크기를 고려하지 않으며 전체 포지션 거래는 높은 위험을 초래합니다.
  3. 엄격한 스톱 로스 전략이 없으면 잘못된 판단으로 인해 상당한 마감이 발생할 수 있습니다.

전략 최적화 방향

  1. 판단을 돕기 위해 볼링거 밴드 (Bollinger Band) 와 MACD (MACD) 와 같은 더 많은 기술적 지표를 도입하고 신호 유효성을 향상시킵니다.
  2. 단일 거래 위험을 줄이기 위해 점차적으로 포지션을 확장하는 것을 고려하십시오.
  3. 마감을 통제하기 위해 엄격하게 세트된 비율 또는 고정된 지점 스톱 손실.
  4. Nifty50 지수의 특성을 기반으로 최적의 보유 시간과 출구 시기를 분석하여 전략의 리스크-어워드 비율을 향상시킵니다.

요약

니프티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)



관련

더 많은