VSTOCHASTIC RSI EMA CROSSOVER kết hợp với VMACD WAVEFINDER STRATEGY

Tác giả:ChaoZhang, Ngày: 2023-11-21 17:12:06
Tags:

img

Tổng quan

Đây là một chiến lược kết hợp Stochastic RSI, EMA crossover và VMACD để xác định các điểm đảo ngược thị trường và hoạt động tốt nhất khi đảo ngược xu hướng giảm sắp xảy ra. Nó sẽ tạo ra tín hiệu mua khi các điều kiện được đáp ứng.

Chiến lược logic

Chiến lược chủ yếu dựa trên sự kết hợp của các chỉ số sau:

  1. Stochastic RSI: Để xác định các điều kiện mua quá mức và bán quá mức
  2. EMA Crossover giữa Fast EMA và Slow EMA: Để xác định hướng xu hướng và khả năng đảo ngược
  3. VMACD: Để xác nhận tín hiệu đảo ngược

Khi chỉ số RSI Stochastic bật khỏi vùng bán quá mức, EMA nhanh vượt qua trên EMA chậm, và đồng thời VMACD bắt đầu tăng, một tín hiệu mua được tạo ra. Ngoài ra, nếu giá ngắn hạn vượt qua SMA 10 giai đoạn, nó cũng phục vụ như một tín hiệu phụ để mua.

Chiến lược theo dõi sự thay đổi của các chỉ số này trong thời gian thực, và tính toán SMA, EMA và các thông tin khác trong một khoảng thời gian xem lại cố định. Khi các điều kiện mua được kích hoạt, nó sẽ mua và mở vị trí với một số lượng hợp đồng cố định. Sau đó nếu các điều kiện dừng lỗ được kích hoạt, chẳng hạn như 5% rút hoặc giá dưới đường SMA, các vị trí sẽ được đóng cửa để dừng lỗ.

Phân tích lợi thế

Chiến lược kết hợp nhiều chỉ số và có khả năng xác định hiệu quả các cơ hội đảo ngược thị trường.

  1. Stochastic RSI mạnh mẽ trong việc nắm bắt các điều kiện mua quá mức và bán quá mức
  2. EMA crossover có độ chính xác cao trong việc xác định tín hiệu đảo ngược
  3. VMACD giúp lọc các tín hiệu giả hiệu quả
  4. Kết hợp nhiều chỉ số cải thiện chất lượng tín hiệu
  5. Sử dụng SMA ngắn hạn như một phương pháp dừng lỗ là hợp lý

Tóm lại, chiến lược này có thể nắm bắt hiệu quả các tín hiệu đảo ngược, thiết lập các vị trí dài sau khi giảm một mức độ nhất định và do đó kiếm lợi nhuận.

Phân tích rủi ro

Mặc dù có một số lợi thế, cũng có những rủi ro cần lưu ý cho chiến lược này:

  1. Thị trường có thể không đảo ngược và tiếp tục giảm - rủi ro có hệ thống
  2. Khả năng của nhiều chỉ số kích hoạt mua cùng nhau là không cao - một số tín hiệu
  3. SMA dừng lỗ có thể quá chủ quan và dẫn đến kiểm soát rút vốn tầm thường
  4. Không tính đến môi trường thị trường biến động cao

Một số cách để giảm thiểu rủi ro:

  1. Thêm nhiều chỉ số đảo ngược để có hiệu ứng kết hợp tốt hơn
  2. Sử dụng lệnh dừng lỗ theo thời gian kết hợp với lệnh dừng lỗ dựa trên số tiền
  3. Đánh giá các điều kiện thị trường và tránh nắm giữ các vị trí trong môi trường bất ổn
  4. Tối ưu hóa logic stop loss để ngăn chặn stop loss quá mạnh bị dừng

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

Các lĩnh vực chính có thể được tối ưu hóa cho chiến lược:

  1. Thêm thêm các chỉ số để tạo thành một cụm chỉ số, cải thiện chất lượng tín hiệu
  2. Chọn các tham số tối ưu dựa trên các đặc điểm của các loại tài sản khác nhau
  3. Kết hợp các mô hình học máy để ước tính xác suất đảo ngược dựa trên dữ liệu lịch sử
  4. Thêm trượt khi backtesting để làm cho kết quả gần với hiệu suất trực tiếp
  5. Cải thiện phương pháp dừng lỗ để trở nên mượt mà và hợp lý hơn
  6. Phát hiện các điều kiện xu hướng để phân biệt môi trường dao động và xu hướng trước khi nhập vị trí mù quáng

Kết luận

Nhìn chung, VRSI-EMA Crossover với Chiến lược VMACD Wavefinder khá có khả năng nắm bắt các cơ hội đảo ngược xu hướng giảm. Nó tạo ra tín hiệu mua hiệu quả bằng cách kết hợp nhiều chỉ số để xác định thời gian tối ưu cho sự đảo ngược. Tuy nhiên, vẫn còn một số lĩnh vực để cải thiện. Nếu tối ưu hóa hơn nữa, hiệu suất của chiến lược trong giao dịch trực tiếp có thể thậm chí còn tốt hơn. Nó đại diện cho một ví dụ điển hình về một chiến lược định lượng dựa trên sự hợp nhất của nhiều chỉ số.


/*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"}]
*/

//@version=3
strategy("Wavefinder+", overlay=true)
length = input(20)
confirmBars = input(2)
price = close

slow = input(12, "Short period")
fast = input(26, "Long period")
signal = input(9, "Smoothing period")


maFast = ema( volume * close, fast ) / ema( volume, fast ) 
maSlow = ema( volume * close, slow ) / ema( volume, slow ) 
da = maSlow - maFast 
maSignal = ema( da, signal ) 
dm=da-maSignal


source = close
lengthRSI = input(14, minval=8), lengthStoch = input(14, minval=5)
smoothK = input(3,minval=3), smoothD = input(3,minval=3)
OverSold = input(25), OverBought = input(75)
rsi1 = rsi(source, lengthRSI)
rsi2= rsi(low, 20)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
k1= sma(stoch(rsi2, rsi2, rsi2, lengthStoch), smoothK)
d1= sma(k1, smoothD)
delta=k-d1
ma = ema(low, length)
ema5= ema(price,20)
sma= sma(price,10)
bcond = price < ma
lcond = price> ema5
bcount = 0
lcount= 0
bcount := bcond ? nz(bcount[1]) + 1 : 0
lcount := lcond ? nz(lcount[1]) + 1 : 0

if (lcount>1 and change(k)>3 and k>d and k<55 and rising(dm,1)) or ( k[1]-k[2]<-2 and k-k[1]>5 and k>35 and k<80) or (ma-sma>0.05*sma and rising(sma,3) and rising(dm,2)) 
    strategy.entry("Long", strategy.long, qty=10000/close)

if (bcount == confirmBars)
    strategy.close("Long")
if close<0.99*sma
    strategy.close("Long")

plot(0.99*sma)
plot(ma)

//hline(OverSold,color=blue)
//hline(OverBought,color=blue)

//plot(d, color=red)
//plot(k, color=green,title="k-line")
    
//(close-close[3]<-0.05*close[3]) or (close-close[2]<-0.05*close[2]) or (close-close[2]<-0.05*close[2]) or (close-close[4]<-0.05*close[4]) or
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Thêm nữa