Эта стратегия объединяет индикатор 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ı")