
이 전략은 브린 띠, 일회성 평형 도표, 그리고 저항 지점을 지원하는 여러 지표의 양적 거래 전략입니다. 이 전략은 시장의 변동성, 트렌드 강도 및 중요한 가격 수준을 분석하여 잠재적인 거래 기회를 식별합니다. 이 전략은 정확한 입시 조건과 위험 관리 방법을 사용하여 건전한 거래 성과를 얻습니다. 이 전략의 핵심은 여러 기술 지표의 교차 검증을 통해 거래 신호의 신뢰성을 높이는 것입니다.
이 전략은 세 가지 주요 기술 지표 구성 요소를 사용합니다. 시장의 변동성과 과매매 상태를 측정하는 브린 대역; 트렌드 방향과 강도를 평가하는 일회성 평형 도표; 중요한 가격 수준을 식별하는 지지 저항 지점. 여러 지표의 조합 사용은 더 포괄적인 시장 관점을 제공합니다.
거래 신호는 다음과 같은 조건에 기초하여 생성됩니다: 가격이 부린 대역을 돌파하면 경로에 올라, 첫 번째 구름 위에 있고 이전 고점을 돌파하면, 다중 신호를 유발합니다. 가격이 부린 대역을 돌파하면 경로에 내려, 첫 번째 구름 아래에 있고 이전 저점을 넘어, 빈 신호를 유발합니다. 전략은 또한 위험을 제어하기 위해 백분율 기반의 중지 손실 설정을 포함합니다.
이것은 여러 기술 지표의 통합 사용으로 거래 기회를 잡기 위해 트렌드 브레이크와 여러 신호 확인을 통해 거래 기회를 잡기위한 수량 거래 전략입니다. 전략의 장점은 신호 신뢰성이 높고 위험 관리가 완벽하지만 가짜 브레이크와 변수 최적화와 같은 문제를 주의해야합니다. 지속적인 최적화 및 위험 관리를 통해 전략은 다양한 시장 환경에서 안정적인 성능을 유지할 것으로 예상됩니다.
/*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))