이 전략은 MACD 및 복수 기간 EMA 지표에 기반한 양적 거래 시스템이다. MACD의 트렌드 추종 특성을 여러 EMA 라인의 지원 및 저항 기능과 결합하여 완전한 거래 결정 시스템을 만듭니다. 이 시스템은 신호 생성뿐만 아니라 실시간 알림을 포함하여 거래자가 시장 기회를 적시에 포착하는 데 도움이됩니다.
핵심 논리는 두 가지 주요 기술 지표에 기반하고 있습니다. 첫째는 빠른 라인 (12 기간) 과 느린 라인 (26 기간) 으로 구성된 MACD 지표입니다. 이 지표는 크로스오버를 통해 거래 신호를 생성합니다. MACD 라인이 신호 라인 위에 넘어가면 구매 신호가 생성되고 신호 라인 아래에 넘어가면 판매 신호가 생성됩니다. 둘째, 전략은 5 개의 다른 기간 EMA (10/20/50/100/200) 를 트렌드 확인 및 지원 / 저항 레벨의 참조로 통합합니다. 이 다 기간 EMA 디자인은 거래자가 현재 시장 트렌드 환경을 더 잘 이해하는 데 도움이됩니다.
이 전략은 MACD와 다기 EMA 지표를 결합하여 비교적 완전한 거래 시스템을 구축합니다. 그것의 강점은 명확한 신호, 풍부한 분석 차원 및 좋은 시각화입니다. 그러나, 그것은 또한 지연 및 잘못된 신호와 같은 고유한 위험을 가지고 있습니다. 변동성 필터링 및 볼륨 확인과 같은 최적화 조치를 추가함으로써 전략의 안정성과 신뢰성을 더욱 향상시킬 수 있습니다. 이 전략은 중장기 거래자에게 적합하며, 특히 명확한 트렌드 시장 환경에서 우수합니다.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("REEL TIME MACD Strategy with Alerts and EMAs", overlay=true) // --- Custom Indicator: MACD --- fastLength = input(12, title="MACD Fast Length") slowLength = input(26, title="MACD Slow Length") signalSmoothing = input(9, title="MACD Signal Smoothing") src = close [macdLine, signalLine, _] = ta.macd(src, fastLength, slowLength, signalSmoothing) histogram = macdLine - signalLine // Plot MACD components plot(macdLine, color=color.blue, linewidth=2, title="MACD Line") plot(signalLine, color=color.orange, linewidth=2, title="Signal Line") plot(histogram, style=plot.style_histogram, color=(histogram >= 0 ? color.green : color.red), title="Histogram") // --- Custom Indicator: EMAs --- ema10 = ta.ema(src, 10) ema20 = ta.ema(src, 20) ema50 = ta.ema(src, 50) ema100 = ta.ema(src, 100) ema200 = ta.ema(src, 200) // Plot EMAs on the chart plot(ema10, color=color.green, linewidth=1, title="EMA 10") plot(ema20, color=color.blue, linewidth=1, title="EMA 20") plot(ema50, color=color.purple, linewidth=1, title="EMA 50") plot(ema100, color=color.orange, linewidth=1, title="EMA 100") plot(ema200, color=color.red, linewidth=1, title="EMA 200") // --- Strategy: Buy and Sell conditions (MACD) --- buyCondition = ta.crossover(macdLine, signalLine) // Buy when MACD crosses above signal line sellCondition = ta.crossunder(macdLine, signalLine) // Sell when MACD crosses below signal line // Execute strategy based on buy/sell conditions if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // --- Alerts --- alertcondition(buyCondition, title="MACD Buy Alert", message="MACD XUP - Buy") alertcondition(sellCondition, title="MACD Sell Alert", message="MACD XDN - Sell") // Optional: Visualization for Buy/Sell signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY") plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")