Chiến lược này kết hợp chỉ số MACD và chỉ số RSI để thực hiện một cơ chế xác nhận kép cho các tín hiệu nhập cảnh, cân bằng lợi nhuận và kiểm soát rủi ro, nhằm mục đích lợi nhuận ổn định trong trung hạn đến dài hạn.
Chiến lược này chủ yếu sử dụng chỉ số MACD để xác định xu hướng thị trường và các điểm nhập cảnh. Một đường chéo MACD trên đường tín hiệu được coi là tín hiệu mua, trong khi một đường chéo MACD dưới đường tín hiệu là tín hiệu bán. Ngoài ra, khu vực mua quá mức của chỉ số RSI được sử dụng để lọc các đột phá sai. Chiến lược chỉ phát ra tín hiệu mua khi tín hiệu mua MACD xảy ra và chỉ số RSI chưa bước vào vùng mua quá mức. Phán quyết của tín hiệu bán tương tự.
Để đảm bảo độ tin cậy của tín hiệu giao dịch, chiến lược này cũng kết hợp phân tích khối lượng. Chỉ khi khối lượng lớn hơn khối lượng trung bình 20 ngày, chiến lược sẽ phát ra tín hiệu giao dịch. Điều này tránh các tín hiệu sai khi thị trường không có khối lượng giao dịch đủ.
Cuối cùng, chiến lược này cũng sử dụng hướng của các thân nến như một cách để theo dõi dừng và xác nhận. Khi hướng của thân nến thay đổi, nó đóng vị trí hiện tại. Điều này khóa lợi nhuận và ngăn chặn việc thu lại lợi nhuận.
Nhìn chung, chiến lược này cân bằng sự ổn định và lợi nhuận. MACD đánh giá xu hướng chính, RSI và khối lượng cung cấp lọc kép để cải thiện chất lượng tín hiệu, theo dõi nến dừng kiểm soát rủi ro. Chiến lược có thể được cải thiện hơn nữa thông qua tối ưu hóa tham số và kết hợp các chỉ số kỹ thuật bổ sung.
/*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ı")