Chiến lược này tính toán các chỉ số MACD và RSI để xác định hướng xu hướng và tình huống mua quá mức / bán quá mức cho xu hướng sau giao dịch. Nó phù hợp với giao dịch trung hạn đến dài hạn, lọc ra các đột phá sai hiệu quả và thiết lập các vị trí tại sự phát triển xu hướng sớm, khóa lợi nhuận sau đó với việc dừng lỗ.
MACD viết tắt của Moving Average Convergence Divergence. Nó bao gồm đường DIFF, đường DEA và biểu đồ. Trong chiến lược này, DIFF là sự khác biệt giữa EMA 5 ngày và EMA 13 ngày của giá đóng cửa, trong khi DEA là EMA 5 ngày của DIFF. Các tín hiệu mua và bán được tạo ra khi DIFF vượt trên và dưới DEA tương ứng.
Bằng cách kết hợp các tín hiệu giao dịch MACD và bộ lọc RSI, chiến lược sẽ dài khi MACD cung cấp tín hiệu mua và RSI không bị mua quá mức.
Ngoài ra, chiến lược kiểm tra xem màu của thanh hiện tại có khác với màu trước không, bỏ qua tín hiệu nếu cùng màu để tránh đột phá sai.
Những rủi ro chính của chiến lược này bao gồm:
Các thiết lập bộ lọc RSI không phù hợp có thể gây ra việc bỏ lỡ giao dịch.
Giải pháp: Điều chỉnh dựa trên biến động thị trường và sở thích rủi ro cá nhân.
Giải pháp: Bảo hiểm bằng quyền chọn hoặc các công cụ khác.
Chiến lược có thể được cải thiện trong các khía cạnh sau:
Cải thiện bộ lọc RSI để hiệu quả hơn
Bao gồm hợp đồng tương lai chỉ số chứng khoán, tùy chọn phòng ngừa rủi ro
Chiến lược này kết hợp MACD và RSI để xác định xu hướng, lọc mua quá mức / bán quá mức và ngăn chặn lỗ, kiểm soát hiệu quả rủi ro giao dịch.
/*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")