
Chiến lược này thực hiện giao dịch theo dõi xu hướng bằng cách tính toán các chỉ số MACD và RSI, kết hợp xu hướng và lọc mua bán quá mức. Chiến lược này phù hợp với giao dịch đường dài trung bình, có thể lọc hiệu quả các đợt phá vỡ giả, xác nhận hướng xu hướng, thiết lập vị trí khi xu hướng phát triển, sau đó sử dụng phương pháp theo dõi dừng lỗ để khóa lợi nhuận.
Chiến lược này chủ yếu dựa trên hai chỉ số MACD và RSI để tạo tín hiệu giao dịch.
MACD là chỉ số chênh lệch đường trung bình di chuyển, nó bao gồm chênh lệch giá trị ((DIF), đường tín hiệu ((DEA) và lệch cột. Trong chiến lược này, DIFF là chênh lệch giá trị của đường trung bình di chuyển chỉ số 5 ngày và đường trung bình di chuyển chỉ số 13 ngày, DEA là đường trung bình di chuyển chỉ số 5 ngày của DIFF. Khi DIFF vượt qua DEA, nó tạo ra tín hiệu mua và khi vượt qua DEA, nó tạo ra tín hiệu bán.
RSI là chỉ số tương đối mạnh yếu, nó so sánh tỷ lệ giữa số ngày tăng trung bình và số ngày giảm trung bình trong một khoảng thời gian để xác định thị trường đã mua quá mức hoặc bán quá mức. Trong chiến lược này, chu kỳ RSI được thiết lập là 14. RSI lớn hơn 70 là vùng mua quá mức và nhỏ hơn 30 là vùng bán quá mức.
Kết hợp tín hiệu giao dịch MACD và tín hiệu lọc RSI, làm thêm khi MACD tạo ra tín hiệu mua và RSI không đi vào vùng mua quá mức; làm trống khi MACD tạo ra tín hiệu bán và RSI không đi vào vùng bán quá mức.
Ngoài ra, chiến lược này cũng sẽ đánh giá xem dòng K hiện tại có khác màu với dòng K trước đó hay không, và nếu giống nhau, hãy bỏ qua tín hiệu giao dịch. Thiết kế này chủ yếu là để lọc các đột phá giả.
Sau khi đưa vào thị trường, chiến lược sẽ đánh giá xem giá đóng cửa của dòng K tiếp theo có cao hơn / thấp hơn giá mở cửa hay không, và nếu điều kiện được đáp ứng, chứng minh xu hướng đã được xác nhận, tại thời điểm này vị trí đóng cửa.
Chiến lược này có những rủi ro:
Các tín hiệu giao dịch MACD có thể tạo ra nhiều tiếng ồn, dẫn đến giao dịch quá thường xuyên. Giải pháp là điều chỉnh các tham số của MACD một cách thích hợp, làm mịn đường cong.
Thiết lập bộ lọc RSI không đúng có thể dẫn đến cơ hội giao dịch bị bỏ lỡ. Giải pháp là thử các tham số RSI phù hợp hơn.
Các thiết lập dừng theo dõi không đúng có thể dừng quá sớm hoặc dừng quá lớn. Giải pháp là điều chỉnh mức dừng tùy theo biến động của thị trường và sở thích rủi ro cá nhân.
Sự biến động mạnh mẽ của giá trong thời gian ngắn có thể dẫn đến tổn thất lớn. Giải pháp là sử dụng quyền chọn hoặc các công cụ tài chính khác để tránh rủi ro.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Tối ưu hóa tham số MACD, làm mịn đường cong MACD, giảm tín hiệu nhiễu
Tối ưu hóa hoặc cải thiện bộ lọc RSI để cải thiện hiệu quả FILTER
Thử các tín hiệu xác nhận chỉ số khác như KD, Blink và các dấu hiệu khác.
Tối ưu hóa chiến lược dừng lỗ, thực hiện động theo dõi dừng lỗ
Tối ưu hóa tham số bằng cách sử dụng các phương pháp học máy
Bảo vệ thời hạn bằng cách kết hợp các công cụ như chỉ số cổ phiếu, tương lai, quyền chọn
Chiến lược này sử dụng các chỉ số MACD và RSI để đánh giá xu hướng, kiểm soát rủi ro giao dịch hiệu quả. Chiến lược này có thể tối ưu hóa không gian lớn, có thể đạt được hiệu quả giao dịch tốt hơn thông qua điều chỉnh tham số, giới thiệu các chỉ số mới.
/*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")