이 전략은 볼링거 밴드 %B 지표에 기반하여 거래 신호를 생성합니다. %B 값이 미리 설정된 임계치 이하로 떨어지면 긴 거리로 이동하고, 수익을 취하거나 손실을 중지 할 때까지 동적 위치 평균 접근 방식을 채택하여 트렌드를 따르고 있습니다. 이 전략은 볼링거 밴드 하단의 지원이 깨지면 인회 기회를 식별하는 데 적합합니다.
이 전략의 장점은 다음과 같습니다.
이 전략과 관련된 위험도 있습니다.
해결책:
이 전략은 다음 영역에서 더 이상 최적화 될 수 있습니다.
전체적으로 이것은 상대적으로 견고한 장기 거래 전략입니다. 신호 정확성과 매개 변수 조정 모두 개선할 여지가 있습니다. 추가 신호 필터링과 신중한 포지션 사이징과 결합하면이 전략은 트렌딩 시장에서 괜찮은 결과를 얻을 수 있습니다.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands %B Long Strategy", shorttitle="BB %B Long Strategy", overlay=true) // Girdiler length = input.int(20, title="BB Length") src = input(close, title="Source") dev = input.float(2.0, title="Deviation") kar_hedefi = input(5, title="Take Profit") zarar_durumu = input(100, title="Stop Loss") start_date = input(timestamp("01 Jan 2023 00:00 +0000"), "Start Date") end_date = input(timestamp("01 Jan 2024 00:00 +0000"), "End Date") altinda_kalirsa_long = input.float(0, title="hangi degerin altinda long alsin") // Bollinger Bantları %B göstergesi basis = ta.sma(src, length) stdDev = ta.stdev(src, length) upperBand = basis + dev * stdDev lowerBand = basis - dev * stdDev percentB = (src - lowerBand) / (upperBand - lowerBand) // Alım-Satım Sinyalleri longCondition = percentB < altinda_kalirsa_long // Kar/Zarar Hesaplama takeProfit = strategy.position_avg_price * (1 + kar_hedefi / 100) stopLoss = strategy.position_avg_price * (1 - zarar_durumu / 100) // Long (Alım) İşlemi if (longCondition ) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfit, stop=stopLoss) // Take Profit Seviyesi Çizgisi plot(takeProfit, title="Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)