
이 전략은 지수 이동 평균 (EMA), 이동 평균 동향 분산 (MACD) 및 상대적으로 강한 지표 (RSI) 를 결합한 다차원 정량 거래 시스템입니다. 트렌드 추적, 동력 확인 및 초과 거래 판단을 결합하여 3 차원의 기술 지표를 구축하여 완전한 거래 의사 결정 프레임 워크를 구축합니다. 전략의 핵심은 EMA 쌍동선의 교차로로 시장 추세를 포착하는 것과 동시에 MACD 동력 지표와 결합하여 트렌드 강도를 확인하고 RSI 지표를 사용하여 극한 시장 조건을 교차하여 거래의 정확성과 안정성을 향상시킵니다.
이 전략은 3가지 신호 확인 메커니즘을 사용합니다.
다중 신호 조합은 거래 조건을 구성합니다:
이 전략은 여러 기술 지표의 연동 작동을 통해 포괄적인 거래 의사 결정 시스템을 구축한다. 전략은 추세 시장에서 우수한 성능을 발휘하고, RSI 필터링 메커니즘을 통해 위험을 효과적으로 제어하고, 중기 및 장기 트렌드 추적 시스템의 기본 프레임 워크로 적합하다. 그러나 이동 평균 유형의 지표의 후진적 특성을 고려하여 실제 응용에서 시장 환경 분석을 결합하고, 동적 매개 변수 최적화 및 포지션 관리와 같은 방법으로 추가 최적화를 수행하는 것이 좋습니다.
/*backtest
start: 2024-02-08 00:00:00
end: 2025-02-06 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA12 + EMA26 + MACD + RSI Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200)
// EMA calculations
ema12 = ta.ema(close, 12)
ema26 = ta.ema(close, 26)
// MACD calculations
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// RSI calculation
rsi = ta.rsi(close, 14)
// Plot EMAs
plot(ema12, color=color.blue, title="EMA 12")
plot(ema26, color=color.red, title="EMA 26")
// Plot MACD Histogram
hline(0, "Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")
// Plot RSI
hline(30, "RSI 30", color=color.orange)
hline(70, "RSI 70", color=color.orange)
plot(rsi, color=color.purple, title="RSI")
// Buy condition: EMA12 crosses above EMA26, MACD crosses above signal, RSI below 70
buyCondition = ta.crossover(ema12, ema26) and ta.crossover(macdLine, signalLine) and rsi < 70
// Sell condition: EMA12 crosses below EMA26, MACD crosses below signal, RSI above 30
sellCondition = ta.crossunder(ema12, ema26) and ta.crossunder(macdLine, signalLine) and rsi > 30
// Plot buy/sell signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute trades
if (buyCondition)
strategy.entry("Long", strategy.long)
if (sellCondition)
strategy.close("Long")