이 전략은 MACD 지표와 RSI 지표를 결합하여 중장기간에 안정적인 수익을 목표로 수익성과 위험 통제를 균형있게 하는 입시 신호에 대한 이중 확인 메커니즘을 구현합니다.
이 전략은 주로 MACD 지표를 사용하여 시장 추세와 입점 지점을 결정합니다. 신호 라인의 위의 MACD 라인 크로스오버는 구매 신호로 간주되며 신호 라인의 아래에 있는 MACD 라인 크로스오버는 판매 신호로 간주됩니다. 또한, RSI 지표의 과잉 구매 영역은 거짓 브레이크오프를 필터링하는 데 사용됩니다. 이 전략은 MACD 구매 신호가 발생하고 RSI 지표가 과잉 구매 구역에 진입하지 않았을 때만 구매 신호를 발산합니다. 판매 신호의 판단은 비슷합니다.
거래 신호의 신뢰성을 보장하기 위해, 이 전략은 또한 거래량 분석을 포함합니다. 거래량이 20일 평균 거래량보다 크면만 전략이 거래 신호를 발행합니다. 이것은 시장이 거래량이 충분하지 않을 때 잘못된 신호를 피합니다.
마지막으로, 전략은 또한 촛불 몸의 방향을 추적 및 확인하는 방법으로 사용합니다. 촛불 몸의 방향이 변경되면 현재 포지션을 닫습니다. 이것은 이익을 잠그고 수익 재발전을 방지합니다.
전체적으로 이 전략은 안정성과 수익성을 균형 잡는다. MACD는 주요 트렌드를 판단하고, RSI와 볼륨은 신호 품질을 향상시키기 위해 이중 필터링을 제공하며, 촛불 추적은 위험을 통제한다. 전략은 매개 변수 최적화와 추가적인 기술적 인 지표를 통합함으로써 더욱 향상될 수 있다. 특히 과도한 복잡성을 피하고 단순성과 안정성을 유지하는 것이 매우 중요하다.
/*backtest start: 2024-02-01 00:00:00 end: 2024-02-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Al-Sat Sinyali ve Teyidi", overlay=true) // MACD (Hareketli Ortalama Yakınsaklık Sapma) [macdLine, signalLine, _] = ta.macd(close, 5, 13, 5) // RSI (Göreceli Güç Endeksi) rsiValue = ta.rsi(close, 14) // Hacim volumeAverage = ta.sma(volume, 20) // RSI ve MACD Filtreleri rsiOverbought = rsiValue > 70 rsiOversold = rsiValue < 30 macdBuySignal = ta.crossover(macdLine, signalLine) and not rsiOverbought macdSellSignal = ta.crossunder(macdLine, signalLine) and not rsiOversold // Al-Sat Stratejisi shouldBuy = ta.crossover(close, open) and not ta.crossover(close[1], open[1]) and macdBuySignal and volume > volumeAverage shouldSell = ta.crossunder(close, open) and not ta.crossunder(close[1], open[1]) and macdSellSignal and volume > volumeAverage strategy.entry("Buy", strategy.long, when=shouldBuy) strategy.entry("Sell", strategy.short, when=shouldSell) // Teyit için bir sonraki mumu bekleme strategy.close("Buy", when=ta.crossover(close, open)) strategy.close("Sell", when=ta.crossunder(close, open)) // Görselleştirmeyi devre dışı bırakma plot(na) // Al-Sat Etiketleri plotshape(series=shouldBuy, title="Al Sinyali", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, text="Al") plotshape(series=shouldSell, title="Sat Sinyali", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sat") // Varsayımsal bir sonraki mumun kapanış fiyatını hesapla nextBarClose = close[1] plot(nextBarClose, color=color.blue, linewidth=2, title="Tahmin Edilen Kapanış Fiyatı")