이 전략은 가격과 볼링거 밴드 사이의 관계를 모니터링함으로써 시장 역전 기회를 포착하는 볼링거 밴드 지표에 기반한 트렌드 역전 거래 시스템이다. 이 전략은 5 분 시간 프레임에서 작동하며, 중간 밴드로서 20 기간 이동 평균과 상부 및 하부 밴드에서 3.4 표준 편차를 사용합니다. 가격은 상부 또는 하부 밴드에 닿을 때 거래 신호가 생성됩니다.
핵심 논리는 평균 회귀 이론에 기반합니다. 가격이 하위 대역에 닿을 때 시스템은 시장이 과판된 것으로 간주하고 길게 갈 경향이 있습니다. 가격이 상위 대역에 닿을 때 시스템은 시장이 과반된 것으로 간주하고 짧게 갈 경향이 있습니다. 구체적으로:
이 전략은 명확한 논리와 합리적인 위험 통제를 특징으로 하는 볼링거 밴드 터치를 통해 시장 역전 기회를 포착한다. 적절한 매개 변수 설정과 포괄적인 거래 규칙을 통해 전략은 범위 제한 시장에서 좋은 안정성을 보여줍니다. 그러나 라이브 거래에 적용할 때 트렌드 돌파 위험에 주의를 기울여야 합니다. 거래 확인을 위해 다른 기술적 지표를 결합하고 시장 조건에 따라 전략 매개 변수를 동적으로 조정하는 것이 좋습니다. 최적화는 주로 다기 조정, 트렌드 필터링 및 동적 매개 변수 조정에 중점을 둡니다.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-11 00:00:00 period: 5h basePeriod: 5h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5-Min Bollinger Bands Touch Strategy", overlay=true, margin_long=100, margin_short=100) // Input parameters length = input(20, title="Bollinger Bands Length") mult = input(3.4, title="Bollinger Bands Deviation") // Bollinger Bands calculation basis = ta.sma(close, length) dev = mult * ta.stdev(close, length) upper = basis + dev lower = basis - dev // Plot Bollinger Bands plot(basis, color=color.blue, title="Basis") p1 = plot(upper, color=color.red, title="Upper Band") p2 = plot(lower, color=color.green, title="Lower Band") fill(p1, p2, color=color.new(color.gray, 90)) // Bullish buying condition: 5-min low touches lower Bollinger Band bullish_entry = low <= lower and low[1] > lower[1] // Bearish selling condition: 5-min high touches upper Bollinger Band bearish_entry = high >= upper and high[1] < upper[1] // Entry and exit conditions longCondition = bullish_entry shortCondition = bearish_entry // Strategy entries if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Optional: Add exit conditions (you may want to customize these) // Example: Exit long position after a certain profit or loss strategy.close("Long", when = high >= basis) strategy.close("Short", when = low <= basis) // Alerts alertcondition(bullish_entry, title='Bullish BB Touch', message='5-min low touched Lower Bollinger Band') alertcondition(bearish_entry, title='Bearish BB Touch', message='5-min high touched Upper Bollinger Band') // Plot entry points plotshape(bullish_entry, title="Bullish Entry", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green) plotshape(bearish_entry, title="Bearish Entry", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)