Tài nguyên đang được tải lên... tải...

Chiến lược giao dịch kết hợp SMA và RSI

Tác giả:ChaoZhang, Ngày: 2023-10-08 11:40:49
Tags:

Tổng quan

Chiến lược này dựa trên chỉ số Đường trung bình di chuyển đơn giản (SMA) và Chỉ số sức mạnh tương đối (RSI). Nó đi ngắn khi RSI vượt quá mức nhập khẩu xác định và giá đóng cửa dưới SMA, với việc dừng lỗ hoặc dừng lỗ do RSI kích hoạt. Chiến lược kết hợp các chỉ số theo xu hướng và mua quá mức / bán quá mức, nhằm nắm bắt các cơ hội đảo ngược trong khung thời gian trung hạn.

Chiến lược logic

  1. Sử dụng SMA (200 giai đoạn) để xác định hướng xu hướng tổng thể.

  2. Sử dụng chỉ số RSI (14 giai đoạn) để xác định các điều kiện mua quá mức / bán quá mức.

  3. Sau khi mở vị trí ngắn, đặt dừng lỗ ở mức giá đóng thấp nhất. Nếu RSI vượt trên 54 hoặc dưới 32, đóng vị trí.

  4. Có ba loại dừng lỗ: dừng giá, dừng RSI và dừng lợi nhuận.

Điểm mạnh

  1. Kết hợp các chỉ số theo xu hướng và mua quá mức / bán quá mức cải thiện độ chính xác thời gian cho các mục.

  2. Chế độ dừng lỗ có thể bảo vệ lợi nhuận theo sự thay đổi giá thời gian thực, tránh dừng lỗ cứng.

  3. RSI hai chiều kích hoạt giúp khóa trong lợi nhuận và ngăn ngừa mất mát pullback quá mức.

  4. Sử dụng các chỉ số đơn giản với các tham số cố định giúp dễ dàng thực hiện cho giao dịch trung hạn.

Rủi ro

  1. Các thông số SMA và RSI có thể không phù hợp với tất cả các sản phẩm và khung thời gian, đòi hỏi tối ưu hóa.

  2. Chi phí giao dịch như trượt và hoa hồng bị bỏ qua, ảnh hưởng đến PnL thực tế.

  3. Các yếu tố khác như khối lượng và cấu trúc thị trường không được xem xét, dẫn đến các tín hiệu không đáng tin cậy.

  4. Việc phụ thuộc quá nhiều vào các chỉ số và bỏ qua chính hành động giá có thể bỏ lỡ thời gian đảo ngược.

  5. Phương pháp dừng lỗ tương đối cứng nhắc, không thể thích nghi với những thay đổi lớn trên thị trường.

Cải thiện

  1. Kiểm tra và tối ưu hóa các thông số thời gian SMA và RSI để tìm sự kết hợp tốt nhất.

  2. Xem xét thêm chỉ số khối lượng để tránh phá vỡ sai với khối lượng thấp.

  3. Kết hợp thử nghiệm với các chỉ số khác như MACD, Bollinger Bands v.v.

  4. Thêm các thuật toán học máy, cải thiện độ chính xác tín hiệu bằng cách đào tạo với dữ liệu lịch sử.

  5. Tối ưu hóa dừng lỗ để linh hoạt hơn, thích nghi với những thay đổi của thị trường.

  6. Thêm quản lý rủi ro để kiểm soát số tiền lỗ giao dịch duy nhất.

Kết luận

Chiến lược này tích hợp các điểm mạnh của chỉ số SMA và RSI, lọc ra một số cơ hội giao dịch ồn ào. Logic đơn giản của nó dễ thực hiện nhưng vẫn đòi hỏi tối ưu hóa tham số và quy tắc, cùng với kiểm soát rủi ro thích hợp để hoạt động ổn định trong dài hạn. Kết hợp với các chỉ số hoặc thuật toán khác cũng đáng để khám phá để tăng cường độ bền hơn nữa.


/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 2d
basePeriod: 1d
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/
// © abdllhatn

//@version=5
// strategy("Alpha Short SMA and RSI Strategy", overlay=true, initial_capital=10000, default_qty_value=100)

// Inputs
sma_length = input(200, title="SMA Length")
rsi_length = input(14, title="RSI Length")
rsi_entry = input(51, title="RSI Entry Level")
rsi_stop = input(54, title="RSI Stop Level")
rsi_take_profit = input(32, title="RSI Take Profit Level")

// Indicators
sma_value = ta.sma(close, sma_length)
rsi_value = ta.rsi(close, rsi_length)

var float trailingStop = na
var float lastLow = na

// Conditions
shortCondition = ta.crossover(rsi_value, rsi_entry) and close < sma_value
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    trailingStop := na
    lastLow := na

if (strategy.position_size < 0)
    if (na(lastLow) or close < lastLow)
        lastLow := close
        trailingStop := close

if not na(trailingStop) and close > trailingStop
    strategy.close("Sell")

if (rsi_value >= rsi_stop)
    strategy.close("Sell")

if (rsi_value <= rsi_take_profit)
    strategy.close("Sell")

// Plot
plot(sma_value, color=color.red, linewidth=2)




Thêm nữa