이 전략은 볼링거 밴드, 이치모쿠 클라우드, 지원/저항 수준을 결합한 다중 지표량 거래 전략이다. 이 전략은 시장 변동성, 트렌드 강도 및 주요 가격 수준을 분석하여 잠재적 인 거래 기회를 식별합니다. 강력한 거래 성과를 달성하기 위해 정확한 입시 조건과 위험 관리 방법을 사용합니다. 핵심 강점은 신호 신뢰성을 높이기 위해 여러 기술적 지표를 통해 교차 검증에 있습니다.
이 전략은 세 가지 주요 기술 지표 구성 요소를 활용합니다. 시장 변동성과 과잉 구매 / 과잉 판매 조건을 측정하기위한 볼링거 밴드; 트렌드 방향과 강도를 평가하기위한 Ichimoku 클라우드; 주요 가격 수준을 식별하기위한 지원 / 저항 수준. 여러 지표의 조합은 더 포괄적인 시장 관점을 제공합니다.
거래 신호는 다음과 같은 조건에 따라 생성됩니다. 가격은 상위 볼링거 밴드, 이치모쿠 클라우드 위의 위치 이상에서 깨지면 긴 신호가 발생하고 이전 최고치를 넘을 때 짧은 신호는 가격이 하위 볼링거 밴드, 이치모쿠 클라우드 이하의 위치 아래에서 깨지고 이전 최저치를 넘을 때 발생합니다. 전략에는 리스크 통제를 위해 비율 기반의 이익 목표 및 스톱 손실이 포함됩니다.
이 전략은 트렌드 브레이크오웃과 다수의 신호 확인을 통해 거래 기회를 포착하여 여러 가지 기술적 지표를 포괄적으로 활용하는 양적 거래 전략이다. 전략의 강점은 높은 신호 신뢰성과 강력한 리스크 관리에 있습니다. 그러나 잘못된 브레이크오웃과 매개 변수 최적화 문제에주의를 기울여야합니다. 지속적인 최적화 및 리스크 관리를 통해 전략은 다양한 시장 조건에서 안정적인 성능을 유지할 수 있습니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BB Ichimoku S/R Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Input parameters bb_length = input.int(20, "Bollinger Bands Length") bb_mult = input.float(2.0, "Bollinger Bands Multiplier") ichimoku_tenkan = input.int(9, "Ichimoku Tenkan-sen") ichimoku_kijun = input.int(26, "Ichimoku Kijun-sen") ichimoku_senkou = input.int(52, "Ichimoku Senkou Span B") sr_lookback = input.int(14, "S/R Lookback Period") profit_target = input.float(1.5, "Profit Target (%)", minval=0.1, step=0.1) stop_loss = input.float(1.0, "Stop Loss (%)", minval=0.1, step=0.1) // Bollinger Bands [bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_mult) // Ichimoku Cloud tenkan = ta.ema(hl2, ichimoku_tenkan) kijun = ta.ema(hl2, ichimoku_kijun) spanA = (tenkan + kijun) / 2 spanB = ta.ema(hl2, ichimoku_senkou) // Support and Resistance highest_high = ta.highest(high, sr_lookback) lowest_low = ta.lowest(low, sr_lookback) // Entry conditions long_condition = close > bb_upper and close > spanA and close > spanB and close > highest_high[1] short_condition = close < bb_lower and close < spanA and close < spanB and close < lowest_low[1] // Execute trades if (long_condition) strategy.entry("Long", strategy.long) if (short_condition) strategy.entry("Short", strategy.short) // Set profit target and stop loss strategy.exit("TP/SL", "Long", profit=strategy.position_avg_price * (1 + profit_target / 100), loss=strategy.position_avg_price * (1 - stop_loss / 100)) strategy.exit("TP/SL", "Short", profit=strategy.position_avg_price * (1 - profit_target / 100), loss=strategy.position_avg_price * (1 + stop_loss / 100)) // Plot indicators plot(bb_middle, color=color.blue, title="BB Middle") plot(bb_upper, color=color.red, title="BB Upper") plot(bb_lower, color=color.red, title="BB Lower") plot(tenkan, color=color.orange, title="Tenkan-sen") plot(kijun, color=color.purple, title="Kijun-sen") spanA_plot = plot(spanA, color=color.green, title="Senkou Span A") spanB_plot = plot(spanB, color=color.red, title="Senkou Span B") plot(highest_high, color=color.green, title="Resistance") plot(lowest_low, color=color.red, title="Support") // Fill Ichimoku Cloud fill(spanA_plot, spanB_plot, color=spanA > spanB ? color.rgb(76, 175, 80, 90) : color.rgb(255, 82, 82, 90))