RSI và MACD kết hợp với chiến lược giao dịch định lượng hỗ trợ và kháng cự


Ngày tạo: 2024-01-05 16:24:58 sửa đổi lần cuối: 2024-01-05 16:24:58
sao chép: 1 Số nhấp chuột: 697
1
tập trung vào
1166
Người theo dõi

RSI và MACD kết hợp với chiến lược giao dịch định lượng hỗ trợ và kháng cự

Tổng quan

Chiến lược này dựa trên các chỉ số RSI và MACD để xác định tín hiệu giao dịch kết hợp với mặt kháng cự hỗ trợ. Nó được gọi là chiến lược lưỡi nói của con gấu đốm. Chiến lược này sử dụng chỉ số RSI để xác định đà mua quá mức, chỉ số MACD để xác định xu hướng quá mức, và kết hợp giá cao nhất và giá thấp nhất trong 100 chu kỳ để vẽ mặt kháng cự hỗ trợ, tạo ra tín hiệu mua gần hỗ trợ, tạo ra tín hiệu bán gần kháng cự, thuộc loại chiến lược theo dõi xu hướng phổ biến.

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

Chiến lược này chủ yếu dựa trên hai chỉ số RSI và MACD, chỉ số RSI đánh giá tình trạng mua bán quá mức, chỉ số MACD đánh giá tình trạng xu hướng không gian. Đầu tiên, tính giá trị RSI 14 chu kỳ và chỉ định đường mua quá mức là 70, đường bán quá mức là 30.

Ngoài ra, chiến lược này cũng tính toán giá cao nhất và giá thấp nhất trong 100 chu kỳ, như là mức kháng cự hỗ trợ. Khi tạo ra tín hiệu mua, cần có giá gần mức hỗ trợ, tức là giá đóng cửa cao hơn mức hỗ trợ 1% mới thực sự gửi mua; khi tạo ra tín hiệu bán cũng cần giá đóng cửa thấp hơn mức kháng cự 1% mới thực sự gửi đi.

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

Chiến lược này kết hợp phân tích xu hướng và phán đoán mua bán quá mức, tránh các tín hiệu sai gây ra bởi chỉ dựa vào một chỉ số duy nhất. Đồng thời giới thiệu mức kháng cự hỗ trợ như một đợt cản, có thể làm giảm các giao dịch sai gây ra bởi các đợt hồi phục ở vị trí kháng cự hỗ trợ phổ biến. Đường MACD nhanh kết hợp với chỉ số RSI, có thể đánh giá chính xác hơn về tình trạng mua bán quá mức và giá.

Rủi ro chiến lược

Chiến lược này có một số rủi ro:

  1. Trong các trường hợp mạnh, chiến lược có thể bỏ lỡ phần lớn lợi nhuận vì nó có xu hướng chỉ tham gia sau khi kết thúc chu kỳ đảo ngược;

  2. Các tham số RSI và MACD được thiết lập không đúng có thể dẫn đến lỗi tín hiệu giao dịch;

  3. Các thuật toán phát hiện kháng cự hỗ trợ đơn giản, có thể đánh giá cao hoặc thấp điểm kháng cự hỗ trợ thực tế;

  4. Thiếu cơ chế ngăn chặn thiệt hại. Trong trường hợp cực đoan, không thể kiểm soát thiệt hại hiệu quả.

Đối với những rủi ro này, có thể được tối ưu hóa bằng cách giới thiệu MACD thích ứng, tối ưu hóa tham số RSI để nó gần gũi hơn với các đặc điểm của các giống khác nhau; cải thiện thuật toán phán đoán kháng cự hỗ trợ, thêm phán đoán mô hình thị trường.

Hướng tối ưu hóa chiến lược

Chiến lược này có thể được tối ưu hóa từ các khía cạnh sau:

  1. giới thiệu các cơ chế dừng lỗ, chẳng hạn như chỉ số AMO vẽ kết hợp với dừng lỗ di động

  2. Sử dụng MACD tự điều chỉnh để các tham số MACD được tối ưu hóa trong thời gian thực

  3. đưa ra phán đoán phân loại thị trường, xác định các điểm kháng cự được hỗ trợ khoa học hơn

  4. Kết hợp nhiều dữ liệu hơn, xây dựng phán đoán về tình trạng thị trường, sử dụng các tham số khác nhau cho các trạng thái khác nhau

  5. Tối ưu hóa cuối cùng của chiến lược bằng thuật toán học máy

Những cải tiến này có thể làm giảm thêm sự rút lui và tăng sự ổn định chiến lược.

Tóm tắt

Chiến lược này sử dụng tổng hợp các chỉ số RSI và MACD để đánh giá tình trạng quá mua quá bán, giao dịch gần mức hỗ trợ và kháng cự, là một chiến lược theo dõi xu hướng tốt. Đồng thời kết hợp với việc đánh giá kháng cự hỗ trợ để giảm rủi ro. Ưu điểm của chiến lược là tín hiệu chiến lược ổn định, rủi ro có thể kiểm soát được, phù hợp để nắm giữ trong trung và dài hạn.

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

//@version=5
strategy("RSI + MACD with Support and Resistance", shorttitle="RSI_MACD_SR", overlay=true)

// Input for RSI and MACD values
rsiOverbought = input(70, title="RSI Overbought Threshold")
rsiOversold = input(30, title="RSI Oversold Threshold")
macdFastLength = input(12, title="MACD Fast Length")
macdSlowLength = input(26, title="MACD Slow Length")
macdSignalSmoothing = input(9, title="MACD Signal Smoothing")

// Calculating RSI and MACD
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing)

// Support and Resistance
support = ta.lowest(100)
resistance = ta.highest(100)

// Drawing support and resistance lines
// line.new(x1=bar_index[0], y1=support, x2=bar_index[-1], y2=support, color=color.green, width=1)
// line.new(x1=bar_index[0], y1=resistance, x2=bar_index[-1], y2=resistance, color=color.red, width=1)

// Buy Condition: If RSI is oversold and MACD line crosses above the signal line
// Additionally, check if price is near the support line
longCondition = ta.crossover(macdLine, signalLine) and rsiValue < rsiOversold and (close - support) < (close * 0.01)
strategy.entry("Long", strategy.long, when=longCondition, comment="Buy")

// Sell Condition: If RSI is overbought and MACD line crosses below the signal line
// Additionally, check if price is near the resistance line
shortCondition = ta.crossunder(macdLine, signalLine) and rsiValue > rsiOverbought and (resistance - close) < (close * 0.01)
strategy.entry("Short", strategy.short, when=shortCondition, comment="Sell")

// Plot values on the chart for visualization
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")