Supertrend kết hợp với Chiến lược giao dịch định lượng RSI

Tác giả:ChaoZhang, Ngày: 2024-01-31 17:19:28
Tags:

img

Tổng quan

Chiến lược được đặt tên là Dual-drive Strategy. Ý tưởng chính là kết hợp Supertrend và RSI, hai chỉ số kỹ thuật mạnh mẽ, để tận dụng tối đa những lợi thế tương ứng của chúng và đạt được hiệu suất giao dịch định lượng tuyệt vời.

Chiến lược logic

Cốt lõi của chiến lược sử dụng hàm Thay đổi để xác định sự thay đổi hướng của chỉ số Supertrend để tạo ra các tín hiệu giao dịch. Nó sẽ tạo ra tín hiệu mua khi Supertrend thay đổi từ trên xuống, và nó sẽ tạo ra tín hiệu bán khi Supertrend biến từ dưới lên.

Đồng thời, chỉ số RSI được giới thiệu để giúp xác định thời điểm đóng các vị trí. Khi chỉ số RSI vượt qua đường mua quá mức, các vị trí dài sẽ được đóng; khi chỉ số RSI vượt qua đường bán quá mức, các vị trí ngắn sẽ được đóng. Bằng cách này, chỉ số RSI giúp xác định các điểm dừng lỗ hợp lý để khóa lợi nhuận.

Phân tích lợi thế

Những lợi thế chính của chiến lược này là:

  1. Supertrend là tốt trong việc xác định sự thay đổi xu hướng thị trường cho các mục dài và ngắn chính xác.

  2. RSI xuất sắc trong việc xác định điểm chuyển đổi quá căng để hỗ trợ thu lợi nhuận hợp lý và dừng lỗ.

  3. Cả hai bổ sung cho nhau với sức mạnh kết hợp để nắm bắt cơ hội tốt hơn và lợi nhuận ổn định hơn.

  4. Logic chiến lược đơn giản và sạch sẽ để dễ dàng hiểu và theo dõi ngay cả cho các nhà đầu tư ít kinh nghiệm hơn.

  5. Thực hiện vững chắc với việc rút tiền có thể kiểm soát được và lợi nhuận ổn định.

Phân tích rủi ro

Mặc dù có những ưu điểm đó, có một số rủi ro với chiến lược hai ổ đĩa:

  1. Các tín hiệu sai có thể xảy ra với Supertrend và RSI dẫn đến tổn thất không cần thiết. Các thông số có thể được điều chỉnh hoặc thêm các chỉ số được đưa vào để xác minh.

  2. Giao dịch hai chiều với rủi ro cao hơn đòi hỏi các quy tắc quản lý tiền tệ và kiểm soát rủi ro nghiêm ngặt hơn.

  3. Dừng lỗ có thể thất bại với biến động giá bất thường bằng cách sử dụng dự phòng để kiểm soát rủi ro.

  4. Supertrend nhạy cảm với các thông số đòi hỏi phải điều chỉnh cho các thị trường khác nhau.

Hướng dẫn tối ưu hóa

Xem xét các rủi ro, tối ưu hóa có thể được thực hiện trong các khía cạnh sau:

  1. Thêm khối lượng, MACD để lọc tín hiệu bổ sung và nhập chính xác hơn.

  2. Thiết lập stop loss động để phản ứng với các sự kiện rủi ro.

  3. Tối ưu hóa các thông số của Supertrend và RSI để phù hợp hơn với các thị trường khác nhau.

  4. giới thiệu máy học cho các thông số và lựa chọn chỉ số.

  5. Áp dụng các công cụ phái sinh như tương lai và quyền chọn để bảo hiểm rủi ro.

  6. Biến đổi quy tắc kích thước vị trí để hạn chế tổn thất và rút tiền.

Tóm lại

Chiến lược Dual-drive kết hợp hiệu quả Supertrend và RSI để nắm bắt xu hướng hiệu quả và kiếm lợi nhuận. So với các chiến lược chỉ số duy nhất, nó cung cấp các tín hiệu đáng tin cậy hơn, rút nhỏ hơn và hiệu suất giao dịch thuật toán ổn định hơn.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © alorse

//@version=5
strategy("Supertrend + RSI Strategy [Alose]", overlay=true )

stGroup = 'Supertrend'
atrPeriod = input(10, "ATR Length", group=stGroup)
factor = input.float(3.0, "Factor", step = 0.01, group=stGroup)

[_, direction] = ta.supertrend(factor, atrPeriod)

// RSI
rsiGroup = 'RSI'
src = input(title='Source', defval=close, group=rsiGroup)
lenRSI = input.int(14, title='Length', minval=1, group=rsiGroup)
RSI = ta.rsi(src, lenRSI)

// Strategy Conditions
stratGroup = 'Strategy'
showLong = input.bool(true, title='Long entries', group=stratGroup)
showShort = input.bool(false, title='Short entries', group=stratGroup)
RSIoverbought = input.int(72, title='Exit Long', minval=1, group=stratGroup, tooltip='The trade will close when the RSI crosses up this point.')
RSIoversold = input.int(28, title='Exit Short', minval=1, group=stratGroup, tooltip='The trade will close when the RSI crosses below this point.')


entryLong = ta.change(direction) < 0
exitLong = RSI > RSIoverbought or ta.change(direction) > 0

entryShort = ta.change(direction) > 0
exitShort = RSI < RSIoversold or ta.change(direction) < 0

if showLong
    strategy.entry("Long", strategy.long, when=entryLong)
    strategy.close("Long", when=exitLong)

if showShort
    strategy.entry("Short", strategy.short, when=entryShort)
    strategy.close("Short", when=exitShort)


Thêm nữa