Chiến lược giao dịch định lượng kết hợp đường trung bình động chéo kép và chỉ báo RSI


Ngày tạo: 2023-11-21 12:09:50 sửa đổi lần cuối: 2023-11-21 12:09:50
sao chép: 0 Số nhấp chuột: 669
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch định lượng kết hợp đường trung bình động chéo kép và chỉ báo RSI

Tổng quan

Chiến lược này được sử dụng để xác định hướng xu hướng bằng cách kết hợp hai đường ngang và chỉ số RSI để xác định hướng xu hướng và mua quá mức khi mua đủ điều kiện mua và bán khi bán đủ điều kiện. Chiến lược này nhằm sử dụng đường ngang để xác định hướng xu hướng, đồng thời sử dụng chỉ số RSI để tránh mua quá mức ở trên cùng của thị trường và làm trống ở dưới cùng của thị trường, để có được lợi nhuận tốt hơn.

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

Khi đường trung bình 9 chu kỳ nhanh vượt qua đường trung bình 50 chu kỳ chậm, biểu thị xu hướng tăng ngắn hạn chồng lên xu hướng tăng dài hạn, thuộc loại tín hiệu đa đầu điển hình. Trong khi đó, nếu chỉ số RSI lớn hơn 5 điểm của chu kỳ trước và nhỏ hơn 70, nó cho thấy ở khu vực trước khi mua quá mức, thì đây là thời điểm thích hợp hơn.

Khi đường trung bình 9 chu kỳ nhanh vượt qua đường trung bình 50 chu kỳ chậm, nó cho thấy bạn đang ở thị trường trống và cần đặt cược bằng phẳng.

Phân tích lợi thế

  • Sử dụng giao điểm hai đường bằng nhau để đánh giá xu hướng lớn và tránh bị lừa dối bởi các đột phá giả
  • Chỉ số RSI tránh sai lầm khi thị trường thay đổi
  • Có thể điều chỉnh chu kỳ trung bình linh hoạt để phù hợp với các giống và chiều thời gian khác nhau
  • Chiến lược giảm lỗ có thể kiểm soát được

Phân tích rủi ro

  • Quyết định của họ có thể không hiệu quả và có thể gây thiệt hại.
  • RSI không được thiết lập đúng có thể khiến bạn bỏ lỡ thời điểm tốt nhất
  • Cần quan tâm đến việc khối lượng giao dịch có hỗ trợ giá cả hay không
  • Những hành vi phi lý do gây ra bởi sự kiện đột ngột cần sự can thiệp của tay.

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

  • Tối ưu hóa các tham số RSI để có kết quả tốt nhất
  • Phòng tránh các tín hiệu giả mạo kết hợp với chỉ số khối lượng giao dịch
  • Các tham số đường trung bình tốt nhất cho các thử nghiệm theo các giống và chiều thời gian khác nhau
  • Giảm lỗ hổng thích hợp để tránh bị mắc kẹt

Tóm tắt

Chiến lược này có thể sử dụng hiệu quả các xu hướng đường dài và trung bình để thu được lợi nhuận ổn định bằng cách xác định định hướng và tránh theo dõi RSI bằng cách đánh giá hai đường trung bình. Tuy nhiên, cũng cần phải cảnh giác về sự chậm trễ của tín hiệu đường trung bình và điều chỉnh các tham số RSI, đồng thời chú ý đến mối quan hệ giữa giá và khối lượng giao dịch.

Mã nguồn chiến lược
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © joshuajcoop01

//@version=5
strategy("Bitpanda Coinrule Template",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0


// RSI
length = input(14)
vrsi = ta.rsi(close, length)

// Moving  Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)


increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
    strategy.entry("Long", strategy.long)


// Moving  Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)


condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)

strategy.close('Long', when = condition and timePeriod)