이 전략은 볼링거 밴드 (Bollinger Bands) 를 기반으로 한 4시간 시간 프레임 양적 거래 시스템으로, 트렌드 브레이크오웃과 평균 리버션 거래 개념을 결합합니다. 이 전략은 수익을 취하기 위해 가격 평균 리버션을 사용하여 위험 관리를 철저하게 고려하면서 수익을 보장하는 3배 레버리지를 사용합니다.
핵심 논리는 다음과 같은 핵심 요소에 기반합니다. 1. 중위 대역으로 20주기 이동 평균을 사용하며, 변동성 범위에 2개의 표준편차가 있습니다. 2. 입구 신호: 촛불 몸 (열리고 닫는 평균) 이 상단보다 떨어지면 길고, 하단보다 떨어지면 짧습니다. 3. 출구 신호: 두 개의 연속 촛불이 상단 이하의 열 및 닫기 가격을 가지고 있고 열기 아래를 닫을 때 긴 포지션을 닫습니다. 짧은 포지션에 대한 역 논리 4. 위험 통제: 거래 당 통제 손실을 보장하기 위해 현재 촛불 최고/하위점에 스톱 손실을 설정
이 전략은 볼링거 밴드 (Bollinger Bands) 의 트렌드 추적 및 평균 역전 특성을 결합하여 엄격한 입출장 조건 및 위험 관리 조치를 통해 트렌드 및 범위 시장에서 안정적인 수익을 달성합니다. 핵심 강점은 명확한 거래 논리와 포괄적인 위험 관리 시스템입니다. 그러나 전략 안정성과 수익성을 더욱 향상시키기 위해 활용 및 시장 상태 판단 최적화에주의를 기울여야합니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger 4H Follow", overlay=true, initial_capital=300, commission_type=strategy.commission.percent, commission_value=0.04) // StartYear = input(2022,"Backtest Start Year") // StartMonth = input(1,"Backtest Start Month") // StartDay = input(1,"Backtest Start Day") // testStart = timestamp(StartYear,StartMonth,StartDay,0,0) // EndYear = input(2023,"Backtest End Year") // EndMonth = input(12,"Backtest End Month") // EndDay = input(31,"Backtest End Day") // testEnd = timestamp(EndYear,EndMonth,EndDay,0,0) lev = 3 // Input parameters length = input.int(20, title="Bollinger Band Length") mult = input.float(2.0, title="Bollinger Band Multiplier") // Bollinger Bands calculation basis = ta.sma(close, length) upperBand = basis + mult * ta.stdev(close, length) lowerBand = basis - mult * ta.stdev(close, length) // Conditions for Open Long openLongCondition = strategy.position_size == 0 and close > open and (close + open) / 2 > upperBand // Conditions for Open Short openShortCondition = strategy.position_size == 0 and close < open and (close + open) / 2 < lowerBand // Conditions for Close Long closeLongCondition = strategy.position_size > 0 and strategy.position_size > 0 and (close < upperBand and open < upperBand and close < open) // Conditions for Close Short closeShortCondition = strategy.position_size < 0 and strategy.position_size < 0 and (close > lowerBand and open > lowerBand and close > open) // Long entry if openLongCondition strategy.entry("Long", strategy.long, qty=strategy.equity * lev / close) strategy.exit("Long SL", from_entry="Long", stop=low) // Set Stop-Loss // Short entry if openShortCondition strategy.entry("Short", strategy.short, qty=strategy.equity * lev / close) strategy.exit("Short SL", from_entry="Short", stop=high) // Set Stop-Loss // Long exit if closeLongCondition strategy.close("Long", comment = "TP") // Short exit if closeShortCondition strategy.close("Short", comment = "TP") // Plot Bollinger Bands plot(upperBand, color=color.yellow, title="Upper Band") plot(lowerBand, color=color.yellow, title="Lower Band")