
Chiến lược này là một hệ thống giao dịch định lượng kết hợp nhiều chỉ báo kỹ thuật. Nó chủ yếu sử dụng đường trung bình động EMA để đánh giá xu hướng thị trường, kết hợp chỉ báo động lượng MACD để nắm bắt cơ hội đảo ngược xu hướng và sử dụng chỉ báo RSI để đưa ra phán đoán mua quá mức và bán quá mức. Việc sử dụng phối hợp nhiều chỉ số có thể lọc hiệu quả các tín hiệu sai và cải thiện tỷ lệ giao dịch thành công.
Logic cốt lõi của chiến lược bao gồm những phần chính sau:
Chiến lược này xây dựng một hệ thống giao dịch tương đối hoàn chỉnh thông qua sự phối hợp của nhiều chỉ báo kỹ thuật. Ưu điểm của chiến lược này là độ tin cậy tín hiệu cao và kiểm soát rủi ro hoàn hảo, nhưng cũng có một số vấn đề về độ trễ và độ nhạy của tham số. Thông qua các hướng tối ưu hóa được đề xuất, đặc biệt là việc đưa vào các tham số thích ứng và quản lý vị thế động, tính ổn định và lợi nhuận của chiến lược có thể được cải thiện hơn nữa. Chiến lược này phù hợp để sử dụng trong môi trường thị trường có xu hướng rõ ràng và nhà đầu tư cần điều chỉnh các thông số cài đặt dựa trên các đặc điểm cụ thể của thị trường.
/*backtest
start: 2025-01-09 00:00:00
end: 2025-01-16 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("RSI ve EMA Tabanlı Alım-Satım Stratejisi", overlay=false)
// EMA Hesaplamaları
ema_short = ta.ema(close, 50) // EMA 50
ema_long = ta.ema(close, 200) // EMA 200
// MACD Hesaplamaları
[macd, signal, _] = ta.macd(close, 12, 26, 9)
// RSI Hesaplamaları
rsi = ta.rsi(close, 14)
// Alım Sinyali Koşulları
macd_condition = (macd < 0) and (macd > nz(macd[1])) and (nz(macd[1]) < nz(macd[2]))
buy_signal = (ema_short > ema_long) and macd_condition
// Satım Sinyali Koşulları
sell_signal = (rsi[1] > 70) and (rsi <= 70) // RSI 70'i yukarıdan aşağıya kırdı
// Stop Loss Koşulu
stop_loss = ema_short < ema_long
// İşlem ve Etiketler
if buy_signal
strategy.entry("Buy", strategy.long)
label.new(bar_index, high, "AL", style=label.style_label_up, color=color.green, textcolor=color.white)
if sell_signal
strategy.close("Buy", comment="SAT")
label.new(bar_index, high, "SAT", style=label.style_label_down, color=color.red, textcolor=color.white)
if stop_loss
strategy.close("Buy", comment="STOP LOSS")
label.new(bar_index, low, "STOP LOSS", style=label.style_label_down, color=color.orange, textcolor=color.white)
// Grafik Üzerine Çizgiler ve Göstergeler
plot(ema_short, color=color.blue, title="EMA 50")
plot(ema_long, color=color.red, title="EMA 200")
plot(rsi, color=color.orange, title="RSI 14")
hline(70, "RSI 70", color=color.red)
hline(30, "RSI 30", color=color.green)