
Chiến lược này thực hiện một chiến lược giao dịch định lượng dựa trên theo dõi xu hướng bằng cách kết hợp hai chỉ số kỹ thuật là chỉ số tương đối mạnh (RSI) và chỉ số di chuyển trung bình (EMA). Chiến lược này chủ yếu áp dụng cho thị trường xu hướng, thu lợi nhuận bằng cách theo dõi xu hướng khi xác định giá có thể đảo ngược.
Hình ảnh:
Chúng tôi có thể nhập học nhiều hơn nếu chúng tôi đáp ứng được cả hai điều kiện trên.
Mỗi giao dịch, chúng tôi giới hạn mức lỗ tối đa là 3% giá trị tài khoản ròng. Đặt điểm dừng lỗ cần kết hợp các đặc điểm của thị trường.
Kích thước nắm giữ khi nhập: Lãi suất lỗ tối đa / (giá nhập - giá Stop Loss) = Kích thước nắm giữ
Điều này có thể kiểm soát rủi ro của một giao dịch.
Các tín hiệu cân bằng có thể xảy ra trong các trường hợp sau:
Chúng tôi sẽ ra đi ngay khi đáp ứng các điều kiện trên.
Chiến lược này kết hợp các ưu điểm của theo dõi xu hướng và giao dịch đảo ngược. Bằng cách xác định định hướng của xu hướng lớn, sau đó vào thời điểm đảo ngược ở khu vực bán tháo, bạn có thể theo dõi xu hướng và có cơ hội đảo ngược, tăng cường sự ổn định của chiến lược. Đồng thời, các tham số của chỉ số RSI có thể được điều chỉnh, có thể được tối ưu hóa cho các thị trường khác nhau, có khả năng thích ứng mạnh mẽ.
Kiểm soát rủi ro: Giới hạn tổn thất tối đa cho mỗi giao dịch, có thể kiểm soát rủi ro của mỗi giao dịch một cách hiệu quả, bảo vệ tiền tài khoản.
Chiến lược này chủ yếu phù hợp với thị trường có xu hướng rõ ràng, nếu gặp phải thị trường biến động phức tạp, việc sử dụng EMA để xác định hiệu quả xu hướng có thể bị giảm giá. Ngoài ra, chỉ số RSI có độ trễ nhất định, cần được phân tích kết hợp với động thái thực tế của giá.
Cài đặt điểm dừng là rất quan trọng đối với chiến lược lỗ hổng, cần phải được thiết lập dựa trên các thử nghiệm thận trọng của các thị trường khác nhau. Nếu điểm dừng được thiết lập quá lớn, tổn thất đơn lẻ có thể mở rộng; Nếu điểm dừng quá nhỏ, có thể bị cản trở bởi tiếng ồn thị trường.
Bạn có thể thử tối ưu hóa các tham số của RSI để phù hợp với nhiều môi trường thị trường hơn. Bạn có thể thử nghiệm các tỷ lệ kích thước nắm giữ khác nhau để tìm thiết lập tối ưu. Bạn có thể thử nghiệm thêm các chỉ số kỹ thuật khác để xây dựng một hệ thống nhập cảnh và xuất cảnh vững chắc hơn.
Chiến lược này tích hợp các ưu điểm của theo dõi xu hướng và giao dịch đảo ngược, đồng thời đánh giá xu hướng lớn và tham gia thị trường tại các điểm đảo ngược có thể. Sử dụng tối ưu hóa các tham số chỉ số như RSI, có thể thích ứng với nhiều môi trường thị trường. Mỗi giao dịch có thể kiểm soát rủi ro, phù hợp với hoạt động ổn định trong trung và dài hạn.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Stratégie RSI et EMA avec Gestion du Risque", overlay=true)
// Paramètres de la stratégie
rsiLength = input(14, "Longueur du RSI")
rsiOverbought = input(70, "Niveau de Surachat RSI")
rsiOversold = input(30, "Niveau de Survente RSI")
// Calcul du RSI
rsiValue = rsi(close, rsiLength)
// Paramètres des EMA
ema20 = ema(close, 20)
ema50 = ema(close, 50)
ema200 = ema(close, 200)
// Paramètre du risque par trade
riskPerTrade = input(0.03, "Risque par Trade (3%)")
// Distance du stop-loss en pips (à ajuster selon votre stratégie)
stopLossPips = input(1, "Distance du Stop-Loss en pips")
// Calcul de la taille de position et du stop-loss
calculatePositionSize(entryPrice, stopLossPips) =>
stopLossPrice = entryPrice - stopLossPips * syminfo.mintick
riskPerTradeValue = strategy.equity * riskPerTrade
positionSize = riskPerTradeValue / (entryPrice - stopLossPrice)
positionSize
// Conditions d'entrée
longCondition = (rsiValue < rsiOversold) and (close > ema20 or close > ema50 or close > ema200)
if longCondition
strategy.entry("Long", strategy.long, qty=1)
// Conditions de sortie
exitCondition = (rsiValue > rsiOverbought) or (close < ema20 or close < ema50 or close < ema200)
if exitCondition
strategy.close("Long")
// Affichage des EMA et RSI sur le graphique
plot(ema20, color=color.red)
plot(ema50, color=color.green)
plot(ema200, color=color.blue)
hline(rsiOverbought, "Niveau de Surachat RSI", color=color.red)
hline(rsiOversold, "Niveau de Survente RSI", color=color.blue)
plot(rsiValue, "RSI", color=color.purple)