Chiến lược dài hạn một chiều dựa trên đường trung bình động và RSI


Ngày tạo: 2023-12-18 10:28:10 sửa đổi lần cuối: 2023-12-18 10:28:10
sao chép: 1 Số nhấp chuột: 658
1
tập trung vào
1621
Người theo dõi

Chiến lược dài hạn một chiều dựa trên đường trung bình động và RSI

Tổng quan

Chiến lược này được xây dựng dựa trên bài viết của Enrico Malverti, chủ yếu sử dụng đường trung bình di chuyển đơn giản (SMA) và chỉ số tương đối yếu (RSI) để xác định các tín hiệu đầu vào và vị trí nhiều đầu. Chiến lược chỉ làm nhiều, không làm trống.

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

Tín hiệu đầu vào là mở nhiều vị trí khi đường trung bình SMA có chu kỳ dài trên giá đóng cửa.

Có một số loại tín hiệu cân bằng:

  1. RSI phá vỡ 70 hoặc vượt quá 75 khi nằm yên;
  2. Hạn chế khi giá đóng cửa phá vỡ đường trung bình SMA có chu kỳ ngắn hơn;
  3. Đường trung bình SMA có chu kỳ ngắn hơn khi giá đóng cửa.

Đồng thời vẽ đường trung bình SMA dừng lỗ và đường trung bình SMA dừng.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Dùng một bộ chỉ số đơn giản, dễ hiểu, dễ hiểu và dễ thực hiện.
  2. Chỉ cần làm nhiều hơn để tránh rủi ro thêm của việc thả lỏng.
  3. Có những quy định rõ ràng về lối vào, lối thoát và lối thoát, và có thể kiểm soát rủi ro;
  4. Các tham số khác có thể được điều chỉnh như chu kỳ SMA.

Phân tích rủi ro

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

  1. Những con bóng tâm lý dễ bị ảnh hưởng bởi sự mất mát nhiều lần và không còn tự tin để theo dõi tín hiệu;
  2. Đường trung bình SMA có thể dẫn đến rủi ro do sai vị trí;
  3. Chỉ số RSI dễ bị phân tán, tín hiệu mua quá mức có thể không đáng tin cậy.

Phương pháp tương ứng:

  1. Có một cơ chế theo dõi cố định, không bị ảnh hưởng về mặt tâm lý;
  2. Điều chỉnh các tham số của đường SMA, thời gian tối ưu hóa;
  3. Kết hợp với các chỉ số khác để lọc tín hiệu RSI.

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

Chiến lược này cũng có thể được tối ưu hóa theo các hướng sau:

  1. Thử các thiết lập SMA với các tham số khác nhau;
  2. Thêm các chỉ số khác để lọc tín hiệu vào và ra sân;
  3. Tăng các chỉ số đánh giá xu hướng, phân biệt xu hướng và tổng hợp;
  4. Cố gắng tự điều chỉnh các tham số.

Tóm tắt

Chiến lược tổng thể của chiến lược này rõ ràng và dễ hiểu, sử dụng các chỉ số cơ bản, có khả năng điều khiển mạnh mẽ, phù hợp với hoạt động đường dài trung bình. Tuy nhiên, thiết lập tham số và lọc chỉ số cần được kiểm tra và tối ưu hóa nhiều lần để làm cho chiến lược trở nên ổn định và đáng tin cậy hơn. Chiến lược đơn giản cũng cần nhiều điều chỉnh tối ưu hóa và kết hợp phong phú để tạo ra một hệ thống giao dịch thực sự có thể sử dụng được.

Mã nguồn chiến lược
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version= 4
// form the original idea of Enrico Malverti www.enricomalverti.com , trading system 2015  
// https://sauciusfinance.altervista.org
strategy(title="MAs & RSI strategy long only", overlay = true, max_bars_back=500)

///********FROM EMAS TO SIMPLE MA *****
// NON AGGIUNTO SCHAFF INDICATOR, che serve per discriminare quali titoli scegliere dallo screener (segnale già aperto o il primo o, a parità,
//quello più alto) ==> Tolte le bande di Bollinger (che filtrano "poco")

// INPUTS 
emapf = input(14, title ="Ma periodo veloce",  minval=1, step = 1)
emapl = input(14, title ="Ma periodo lungo",  minval=1, step = 1)
emaps = input(7, title ="Ma periodi stop",  minval=1, step = 1)
rsi_period = input(14, title="RSI period", minval = 1, step = 1) 
// CALCULATIONS
maf = sma(close, emapf)
mal = sma(close, emapl)
// rsi
myrsi = rsi(close, rsi_period)
//ema stop long ed ema stop short
//Ema7 messo da "massimo" a "chiusura" come target per posizioni short. Il limite è, in questo caso, sempre ema20 (più restringente - asimmetria)
// in questo t.s., lo short viene soltanto indicato come "rappresentazione grafica", non agito
mass = sma(close, emaps)
masl = sma(low, emaps)
ma200=sma(close,200)
/// Entry
strategy.entry("Long", true, when = crossover(close,mal))

rsi1 = crossunder(myrsi,70)
rsi2 = myrsi > 75
// previously, 80
st_loss_long = crossunder(close,masl)// **chiusura sotto EMA7**
target_long= crossunder(close,maf) //* Chiusura sotto EMA14*
// exits. *RSI**Long: Target if over bandamax, loss if under bandamin. Viceversa, for short
strategy.close("Long", when = rsi1, comment="crossunder RSI")
strategy.close("Long", when = rsi2, comment ="RSI MAX")
strategy.close("Long", when = st_loss_long, comment = "Stop loss")
strategy.close("Long", when = target_long, comment = "target_long" )

plot(masl, title="ma stop long", color=#363A45, linewidth= 1, style=plot.style_cross)
plot(maf, title="MA FAST", color=#FF0000,  linewidth= 1)
plot(mal, title="MA SLOW", color=#0000FF,  linewidth= 2)
plot(mass, title="ma stop short", color=#787B86,linewidth= 1, style=plot.style_cross)
plot(ma200, title="ma200", color=color.black,  linewidth= 1)