Эта стратегия рассчитывает индикаторы MACD и RSI для выявления направлений тренда и ситуаций перекупа / перепродажи для тренда после торговли. Она подходит для средне- и долгосрочной торговли, эффективно фильтруя ложные прорывы и устанавливая позиции на раннем этапе развития тренда, блокируя прибыль позже с отслеживанием стоп-лосса.
Стратегия в основном использует индикаторы MACD и RSI для генерации торговых сигналов.
RSI означает индекс относительной силы. Он отражает ситуации перекупки/перепродажи, сравнивая средние прибыли и убытки за период. Эта стратегия устанавливает период RSI на 14. RSI выше 70 предполагает перекупленные условия, а ниже 30 перепроданные.
Комбинируя торговые сигналы MACD и фильтры RSI, стратегия длится, когда MACD дает сигналы покупки, а RSI не перекуплен. Она становится короткой, когда MACD продает, а RSI не перепродан.
Кроме того, стратегия проверяет, отличается ли цвет текущей панели от предыдущей, пропуская сигнал, если тот же цвет, чтобы избежать ложного прорыва.
После вхождения стратегия предполагает, что цена закрытия следующей стойки будет выше/ниже цены открытия, чтобы подтвердить тенденцию, закрывая позицию для получения прибыли, если условие выполнено.
К основным рискам этой стратегии относятся:
Неправильное размещение стоп-лосса может привести к преждевременному или слишком слабому прекращению.
Крайние колебания цен могут привести к огромным потерям в краткосрочной перспективе.
Стратегия может быть улучшена в следующих аспектах:
Внедрение динамического стоп-лосса с задержкой
Использование машинного обучения для оптимизации параметров
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h 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) // RSI Filtresi rsiOverbought = rsiValue > 70 rsiOversold = rsiValue < 30 // MACD Sinyalleri buySignalMACD = ta.crossover(macdLine, signalLine) and not rsiOverbought sellSignalMACD = ta.crossunder(macdLine, signalLine) and not rsiOversold // Al-Sat Stratejisi if (buySignalMACD and close[1] != close) // Al sinyali ve bir önceki mumdan farklı renkte ise strategy.entry("Buy", strategy.long) if (sellSignalMACD and close[1] != close) // Sat sinyali ve bir önceki mumdan farklı renkte ise strategy.entry("Sell", strategy.short) // Teyit için bir sonraki mumu bekleme strategy.close("Buy", when=ta.crossover(close, open)) strategy.close("Sell", when=ta.crossunder(close, open)) // Varsayımsal bir sonraki mumun kapanış fiyatını hesapla nextBarClose = close[1] plot(nextBarClose, color=color.blue, linewidth=2, title="Tahmin Edilen Kapanış Fiyatı") // Görselleştirmeyi devre dışı bırakma plot(na) // Al-Sat Etiketleri plotshape(series=buySignalMACD, title="Al Sinyali", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, text="Al") plotshape(series=sellSignalMACD, title="Sat Sinyali", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sat")