이 전략은
이 전략의 주요 아이디어는 다음과 같습니다.
이 전략의 원리는 시장의 단기 트렌드와 변동을 포착하기 위해 볼링거 밴드를 사용하는 것입니다. 볼링거 밴드는 세 가지 라인으로 구성됩니다: 중부 밴드, 상부 밴드, 하부 밴드. 중부 밴드는 가격의 이동 평균이며 상부 및 하부 밴드는 각각 중부 밴드 위의 일정 수의 표준 편차 및 아래입니다. 가격이 상부 밴드를 넘어서면 상승 추세가 형성되고 있으며 구매하기에 좋은 시간임을 나타냅니다. 가격이 하부 밴드 아래로 넘어가면 상승 추세가 끝나고 포지션을 닫아야한다는 것을 나타냅니다. 동시에이 전략은 하루 중간에 보유한 잠재적으로 큰 손실을 피하기 위해 매일 오후 3시 전에 모든 포지션을 닫음으로써 위험을 엄격히 제어합니다.
이 전략의 장점은 다음과 같습니다.
이 전략의 위험은 다음과 같습니다.
이 전략의 위험을 해결하기 위해 다음과 같은 최적화 방향을 고려할 수 있습니다.
요약하자면,
/*backtest start: 2023-03-22 00:00:00 end: 2024-03-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Breakout Strategy 5m", shorttitle="BB Strategy 5m", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, margin_long=100) // Define the strategy parameters length = 100 multUpper = 3.0 multLower = 1.0 src = close // Calculate Bollinger Bands basis = ta.sma(src, length) upperDev = multUpper * ta.stdev(src, length) lowerDev = multLower * ta.stdev(src, length) upperBand = basis + upperDev lowerBand = basis - lowerDev // Plot Bollinger Bands plot(basis, "Basis", color=color.blue) plot(upperBand, "Upper Band", color=color.green) plot(lowerBand, "Lower Band", color=color.red) // Entry and exit conditions enterLong = ta.crossover(src, upperBand) exitLong = ta.crossunder(src, lowerBand) // Visual signals for entries and exits bgcolor(enterLong ? color.new(color.green, 90) : na, title="Entry Background") bgcolor(exitLong ? color.new(color.red, 90) : na, title="Exit Background") plotshape(enterLong, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Enter Long") plotshape(exitLong, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Exit Long") // Adjusting for timezone - Ensure the time is converted to the exchange's timezone session_close_hour = 15 // 3 PM in EST, adjust if your trading platform uses a different timezone is_time_to_exit = (hour >= session_close_hour and minute > 0) or (hour > session_close_hour) // Trading logic if (enterLong) strategy.entry("Long", strategy.long) if (exitLong or is_time_to_exit) strategy.close("Long") // Note: Adjust 'session_close_hour' to match your exchange's closing hour if it differs from EST.