이 전략은 아침 세션에서 9시 15분에 높은 점과 낮은 점을 식별하고, 장기 및 단기 포지션의 목표 가격과 스톱 로스 가격을 자동으로 계산하고, 조건이 충족되면 자동으로 포지션을 개척합니다. 전략은 상대 강도 지수 (RSI) 를 사용하여 과소매 및 과소매 상태를 결정하며, 출입 기회를 결정하기 위해 9:15 높은 점과 낮은 점의 브레이크와 결합합니다.
이 전략은 9:15의 높은/저하점을 기반으로 하고, 트렌드 판단을 위해 RSI 지표를 사용하며, 목표 가격과 스톱 로스 가격을 자동으로 계산하고, 엔트리 조건에 따라 자동으로 롱 또는 쇼트 포지션을 개설한다. 전략 논리는 간단하고 명확하며, 높은 수준의 자동화로 트렌드 움직임을 빠르게 파악할 수 있다. 그러나, 전략에는 매개 변수 최적화, 단일 지표에 의존, 내일 변동성, 포지션 관리의 부족 등의 위험도 있다. 향후, 전략은 더 탄탄한 거래 성과를 얻기 위해 동적 스톱 로스, 다른 지표와 결합, 엔트리 조건을 최적화하고 포지션 관리를 도입하는 등의 측면에서 최적화 및 개선될 수 있다.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-29 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("9:15 AM High/Low with Automatic Forecasting", overlay=true) // Parameters showSignals = input(true, title="Show Signals") // Define session time sessionStartHour = input(9, title="Session Start Hour") sessionStartMinute = input(0, title="Session Start Minute") sessionEndHour = input(9, title="Session End Hour") sessionEndMinute = input(15, title="Session End Minute") // Calculate session high and low var float sessionHigh = na var float sessionLow = na if (hour == sessionStartHour and minute == sessionStartMinute) sessionHigh := high sessionLow := low // Update session high and low if within session time if (hour == sessionStartHour and minute >= sessionStartMinute and minute < sessionEndMinute) sessionHigh := high > sessionHigh or na(sessionHigh) ? high : sessionHigh sessionLow := low < sessionLow or na(sessionLow) ? low : sessionLow // Plot horizontal lines for session high and low plot(sessionHigh, color=color.green, title="9:00 AM High", style=plot.style_stepline, linewidth=1) plot(sessionLow, color=color.red, title="9:00 AM Low", style=plot.style_stepline, linewidth=1) // Calculate targets and stop loss longTarget = sessionHigh + 200 longStopLoss = sessionLow shortTarget = sessionLow - 200 shortStopLoss = sessionHigh // Plot targets and stop loss plot(longTarget, color=color.blue, title="Long Target", style=plot.style_cross, linewidth=1) plot(longStopLoss, color=color.red, title="Long Stop Loss", style=plot.style_cross, linewidth=1) plot(shortTarget, color=color.blue, title="Short Target", style=plot.style_cross, linewidth=1) plot(shortStopLoss, color=color.red, title="Short Stop Loss", style=plot.style_cross, linewidth=1) // RSI rsiLength = input(14, title="RSI Length") overboughtLevel = input(60, title="Overbought Level") oversoldLevel = input(40, title="Oversold Level") rsi = ta.rsi(close, rsiLength) // Entry conditions longCondition = close > sessionHigh and rsi > overboughtLevel shortCondition = close < sessionLow and rsi < oversoldLevel // Long entry if (showSignals and longCondition) strategy.entry("Long", strategy.long) // Short entry if (showSignals and shortCondition) strategy.entry("Short", strategy.short)