Chiến lược hỗn hợp RSI giao cắt đường trung bình động tổng hợp vàng


Ngày tạo: 2024-03-01 12:28:38 sửa đổi lần cuối: 2024-03-01 12:28:38
sao chép: 0 Số nhấp chuột: 721
1
tập trung vào
1617
Người theo dõi

Chiến lược hỗn hợp RSI giao cắt đường trung bình động tổng hợp vàng

Tổng quan

Chiến lược này hoạt động hai chiều dài và ngắn trong giao dịch vàng bằng cách kết hợp các chỉ số trung bình di chuyển, các chỉ số tương đối mạnh (RSI) và các hình thức ăn uống. Trong đó, các đường giao dịch 21 ngày, đường 50 ngày và đường 200 ngày được sử dụng làm tín hiệu giao dịch chính, các chỉ số RSI và hình thức ăn uống hỗ trợ các tín hiệu lọc, để tối ưu hóa hơn nữa vào thị trường.

Nguyên tắc chiến lược

Chiến lược này chủ yếu đưa ra quyết định giao dịch thông qua các khía cạnh sau:

  1. Đường trung bình di chuyển chéo

Sử dụng đường 21 ngày và đường 200 ngày là chỉ số chính để xác định xu hướng đảo ngược. Khi đường 21 ngày vượt qua đường 200 ngày, nó là tín hiệu bullish, và khi đường 21 ngày vượt qua đường 200 ngày, nó là tín hiệu bearish. Ngoài ra, kết hợp với đường 50 ngày là tín hiệu nhảy vọt.

  1. Chỉ số RSI hỗ trợ

Thiết lập đường mua và bán của chỉ số RSI, khi RSI cao hơn 70 là mua quá mức, khi RSI thấp hơn 30 là bán quá mức. RSI cần ở trong khu vực không mua quá mức khi có tín hiệu tăng giá và RSI cần ở trong khu vực không bán quá mức khi có tín hiệu giảm giá, tránh mua cao và bán thấp.

  1. Chứng nhận hình thức nuốt

Cần có một candle để xác nhận sự chuyển hướng của xu hướng.

Khi ba điều kiện trên được đáp ứng cùng một lúc, tín hiệu giao dịch và đặt hàng được tạo ra, do đó, một bộ Filters nghiêm ngặt hơn được hình thành.

Lợi thế chiến lược

Ưu điểm lớn nhất của chiến lược này là sử dụng nhiều tham số và chỉ số để đưa ra phán đoán tổng hợp, lọc các tín hiệu sai tốt hơn, có thể làm giảm tổn thất dừng không cần thiết. Ưu điểm cụ thể được thể hiện trong các khía cạnh sau:

  1. Chiến lược trung bình di chuyển tự nó có một mức độ ổn định.

  2. RSI được thiết lập để tránh mua cao và bán thấp.

  3. Sự gia nhập của hình thức ăn uống có thể xác nhận thêm về khả năng đảo ngược xu hướng.

  4. Lượng lỗ hổng dừng thấp có thể kiểm soát rủi ro hiệu quả.

Rủi ro chiến lược

Mặc dù chiến lược này làm tốt trong việc lọc tín hiệu và kiểm soát rủi ro, bất kỳ chiến lược nào cũng có một số điểm yếu và rủi ro.

  1. Thiết lập tham số phức tạp hơn và có thể cần nhiều thử nghiệm để tìm ra sự kết hợp tham số tốt nhất.

  2. Có thể bạn sẽ bỏ lỡ một số cơ hội tốt.

  3. Trong những trường hợp khắc nghiệt, có thể có sự chậm trễ ở mức độ nào đó.

  4. Việc hoạt động lâu dài có ổn định hay không vẫn chưa được xác nhận.

Đối với các rủi ro trên, chúng ta có thể cải thiện và tối ưu hóa bằng cách điều chỉnh tham số, tối ưu hóa logic mã, kết hợp với các chỉ số khác.

Hướng tối ưu hóa

Chiến lược này đã làm tốt trong việc đánh giá tổng hợp các chỉ số, nhưng vẫn có chỗ cho tối ưu hóa. Các hướng tối ưu hóa chính bao gồm:

  1. Điều chỉnh tham số để tìm kiếm sự kết hợp tốt nhất. Bạn có thể tìm thấy một tập hợp các tham số tốt hơn bằng cách kiểm tra lại dữ liệu lịch sử nhiều hơn, so sánh ảnh hưởng của các tham số khác nhau đến kết quả.

  2. Kết hợp với các chỉ số khác để hỗ trợ. Các chỉ số như MACD, KD cũng có thể hỗ trợ xác định thời gian biến đổi xu hướng. Việc đưa ra các chỉ số khác một cách thích hợp có thể tạo ra một hệ thống chỉ số mạnh hơn.

  3. Tối ưu hóa và cải thiện cơ chế dừng lỗ. Các mức dừng lỗ hiện có nhỏ hơn, có thể kiểm tra thêm liệu các mức dừng khác nhau có thể giảm bớt việc chuyển vị trí không cần thiết hay không.

  4. Kiểm tra dữ liệu trong một khoảng thời gian dài hơn, xác nhận hiệu quả lâu dài của chiến lược. Kiểm tra sự ổn định của chiến lược thông qua nhiều năm và phản hồi về tình hình thị trường.

Tóm tắt

Chiến lược tổng hợp sử dụng nhiều công cụ phân tích kỹ thuật như trung bình di chuyển, chỉ số RSI và hình thức nuốt để thực hiện các hoạt động hai chiều dài và ngắn trong giao dịch vàng. Bằng cách đặt tham số và lọc tín hiệu, một hệ thống chiến lược nghiêm ngặt đã được hình thành, kiểm soát rủi ro ở một mức độ nhất định. Tuy nhiên, không có chiến lược nào hoàn hảo 100%, chiến lược này vẫn có nhiều không gian và hướng tối ưu hóa.

Mã nguồn chiến lược
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Gold Trading with Simons Strategy", overlay=true)

// Parameters
length21 = input(21, minval=1, title="Length for 21 MA")
length50 = input(50, minval=1, title="Length for 50 MA")
length200 = input(200, minval=1, title="Length for 200 MA")
rsiLength = input(14, minval=1, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
takeProfitPercent = input(4, title="Take Profit %")
stopLossPercent = input(1, title="Stop Loss %")

// Moving Averages
ma21 = sma(close, length21)
ma50 = sma(close, length50)
ma200 = sma(close, length200)

// RSI
rsi = rsi(close, rsiLength)

// Engulfing Pattern
isBullishCandle(c) => close[c] > open[c]
isBearishCandle(c) => close[c] < open[c]

bearishEngulfing = isBullishCandle(1) and isBearishCandle(0) and close < open[1] and open > close[1]
bullishEngulfing = isBearishCandle(1) and isBullishCandle(0) and close > open[1] and open < close[1]

// Calculate Take Profit and Stop Loss Levels
takeProfitLevel(entryPrice) => entryPrice * (1 + takeProfitPercent / 100)
stopLossLevel(entryPrice) => entryPrice * (1 - stopLossPercent / 100)

// Entry Conditions
longCondition = crossover(ma21, ma200) and close > ma21 and close > ma50 and rsi < rsiOverbought and bullishEngulfing
shortCondition = crossunder(ma21, ma200) and close < ma21 and close < ma50 and rsi > rsiOversold and bearishEngulfing

// Entry
if (longCondition)
    entryPrice = close
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", "Long", limit=takeProfitLevel(entryPrice))
    strategy.exit("Stop Loss", "Long", stop=stopLossLevel(entryPrice))
if (shortCondition)
    entryPrice = close
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit", "Short", limit=takeProfitLevel(entryPrice))
    strategy.exit("Stop Loss", "Short", stop=stopLossLevel(entryPrice))

// Plotting
plot(ma21, color=color.blue, title="21 MA")
plot(ma50, color=color.orange, title="50 MA")
plot(ma200, color=color.red, title="200 MA")
hline(rsiOverbought, "RSI Overbought", color=color.green)
hline(rsiOversold, "RSI Oversold", color=color.red)
plot(rsi, "RSI", color=color.purple)