이 전략은 볼링거 밴드를 기반으로 하는 적응형 거래 시스템으로 가격과 밴드 사이의 관계를 동적으로 모니터링하여 포지션을 관리합니다. 중간 밴드로서 20일 이동 평균, 채널 너비에 대한 2 개의 표준 편차를 사용하여 최적화된 자본 할당을 위해 거래 신호를 유발하기 위해 시간 기간 분석과 브레이크아웃 확인을 결합합니다.
이 전략은 일반적인 분포 범위 내에서 가격 변동을 제어하는 볼링거 밴드의 통계 원리를 적용합니다. 구체적으로:
이 전략은 볼린저 밴드 및 시간 기간 분석을 통해 완전한 거래 시스템을 구축하여 트렌드 추적 및 리스크 제어 사이의 균형을 이루고 있습니다. 최적화 할 여지가 있지만 전반적인 디자인 철학은 핵심 양적 거래 원칙과 일치하며 실용적인 응용 가치를 가지고 있습니다. 투자자는 라이브 거래에서 위험 관용과 자본 규모에 따라 적절한 조정을 하도록 권장됩니다.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-10 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands Strategy", overlay=true) // 設定布林通道 length = 20 source = close mult = 2.0 basis = ta.sma(source, length) dev = mult * ta.stdev(source, length) upper = basis + dev lower = basis - dev // 畫出布林通道 plot(upper, color=color.red, linewidth=1) plot(basis, color=color.blue, linewidth=1) plot(lower, color=color.green, linewidth=1) // 設定買入條件:突破布林通道高點5%或持續1小時在高點上方 breakout_level = upper * 1.01 hour_breakout = ta.change(time("60")) == 1 and close > upper buy_condition = (close > breakout_level or hour_breakout) if (buy_condition) strategy.entry("Buy", strategy.long, qty=0.5) // 設定賣出條件:第一次回測中線、跌破低點5%或回升中線 sell_10_condition = ta.crossover(close, basis) and strategy.opentrades > 0 sell_50_condition = close < lower * 0.95 // 賣出10%現貨 if (sell_10_condition) strategy.close("Buy", qty=0.1) // 賣出50%現貨 if (sell_50_condition) strategy.close("Buy", qty=0.5) // 監控買入與賣出信號 plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=sell_10_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell 10% Signal") plotshape(series=sell_50_condition, location=location.abovebar, color=color.blue, style=shape.labeldown, title="Sell 50% Signal")