이 전략은 다차원 기술 분석 거래 시스템으로, 추진량 지표 (RSI, MACD), 트렌드 지표 (EMA), 변동성 지표 (볼린거 밴드, ATR), 가격 구조 지표 (피보나치 리트레이싱) 를 결합하여 다차원 신호 조정을 통해 시장 기회를 포착합니다. 이 전략은 15분 시간 프레임에 최적화되어 있으며, ATR 기반의 동적 스톱 로스 및 영업 수준을 사용하여 강력한 리스크 제어 기능을 보여줍니다.
핵심 논리는 다음과 같은 차원을 포함합니다. 1. 추세 확인: 사용9⁄21트렌드 방향을 결정하기 위한 기간 EMA 크로스오버 모멘텀 검증: RSI 과잉 구매/ 과잉 판매를 결합 (55⁄45) 및 모멘텀 검증을 위한 MACD 히스토그램 변동성 참조: 가격 변동성을 측정하기 위해 볼링거 밴드 (20 기간, 2 표준편차) 를 사용 4. 지원/저항: 피보나치 0.382⁄0.618⁄0.786 수준은 100주기 최고/하위 기준으로 계산됩니다. 5. 리스크 관리: 14기 ATR에 기초한 ATR의 스톱 로스 1.5배, ATR의 영업이익 3배
거래는 다차원 신호가 정렬될 때만 이루어지며 거래의 정확성을 향상시킵니다.
이 전략은 다차원 기술 지표의 조화를 통해 견고한 거래 시스템을 구축합니다. 그것의 핵심 장점은 신호의 교차 검증과 동적 위험 통제에 있습니다. 그러나 매개 변수 최적화 및 시장 환경 적응성에주의를 기울여야합니다. 미래 최적화는 동적 매개 변수 조정 및 신호 품질 개선에 초점을 맞추어야합니다.
/*backtest start: 2024-12-10 00:00:00 end: 2025-01-08 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("Optimized Advanced Strategy", overlay=true) // Bollinger Bandı length = input(20, title="Bollinger Band Length") src = close mult = input.float(2.0, title="Bollinger Band Multiplier") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // RSI rsi = ta.rsi(close, 14) // MACD [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // EMA emaFast = ta.ema(close, 9) emaSlow = ta.ema(close, 21) // ATR atr = ta.atr(14) // Fibonacci Seviyeleri lookback = input(100, title="Fibonacci Lookback Period") highPrice = ta.highest(high, lookback) lowPrice = ta.lowest(low, lookback) fiboLevel618 = lowPrice + (highPrice - lowPrice) * 0.618 fiboLevel382 = lowPrice + (highPrice - lowPrice) * 0.382 fiboLevel786 = lowPrice + (highPrice - lowPrice) * 0.786 // Kullanıcı Ayarlı Stop-Loss ve Take-Profit stopLossATR = atr * 1.5 takeProfitATR = atr * 3 // İşlem Koşulları longCondition = (rsi < 55) and (macdLine > signalLine) and (emaFast > emaSlow) and (close >= fiboLevel382 and close <= fiboLevel618) shortCondition = (rsi > 45) and (macdLine < signalLine) and (emaFast < emaSlow) and (close >= fiboLevel618 and close <= fiboLevel786) // İşlem Girişleri if (longCondition) strategy.entry("Long", strategy.long, stop=close - stopLossATR, limit=close + takeProfitATR, comment="LONG SIGNAL") if (shortCondition) strategy.entry("Short", strategy.short, stop=close + stopLossATR, limit=close - takeProfitATR, comment="SHORT SIGNAL") // Bollinger Bandını Çizdir plot(upper, color=color.red, title="Bollinger Upper Band") plot(basis, color=color.blue, title="Bollinger Basis") plot(lower, color=color.green, title="Bollinger Lower Band") // Fibonacci Seviyelerini Çizdir // line.new(x1=bar_index[1], y1=fiboLevel382, x2=bar_index, y2=fiboLevel382, color=color.blue, width=1, style=line.style_dotted) // line.new(x1=bar_index[1], y1=fiboLevel618, x2=bar_index, y2=fiboLevel618, color=color.orange, width=1, style=line.style_dotted) // line.new(x1=bar_index[1], y1=fiboLevel786, x2=bar_index, y2=fiboLevel786, color=color.purple, width=1, style=line.style_dotted) // Göstergeleri Görselleştir plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.orange, title="MACD Signal Line") plot(emaFast, color=color.green, title="EMA Fast (9)") plot(emaSlow, color=color.red, title="EMA Slow (21)") // İşlem İşaretleri plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Long Entry") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Short Entry")