Chiến lược tìm sóng với sự giao thoa VRSI-EMA và sự hợp nhất VMACD


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

Chiến lược tìm sóng với sự giao thoa VRSI-EMA và sự hợp nhất VMACD

Tổng quan

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

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

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

  1. RSI ngẫu nhiên (Random Index Smooth Moving Average): được sử dụng để xác định quá mua quá bán
  2. EMA (trung bình di chuyển chỉ số) giao thoa của đường nhanh và đường chậm: đánh giá xu hướng và khả năng đảo ngược
  3. VMACD (MACD): được sử dụng để xác nhận tín hiệu đảo ngược

Một tín hiệu mua sẽ được tạo ra khi RSI ngẫu nhiên bật lên từ khu vực bán tháo và đi qua đường chậm trên đường nhanh EM và VMACD cũng bắt đầu tăng. Ngoài ra, một tín hiệu mua sẽ được tạo ra như là tín hiệu hỗ trợ nếu giá ngắn hạn phá vỡ SMA 10 chu kỳ.

Chiến lược này sẽ 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 các thông tin như SMA, EMA sau một khoảng thời gian nhất định. Khi kích hoạt điều kiện mua, giao dịch mua sẽ được mở bằng số lượng hợp đồng cố định. Sau đó, nếu kích hoạt điều kiện dừng lỗ, chẳng hạn như rút lại 5% hoặc nằm bên dưới đường SMA, giao dịch sẽ bị dừng.

Phân tích lợi thế

Chiến lược này kết hợp nhiều chỉ số để xác định hiệu quả cơ hội đảo ngược thị trường. Những ưu điểm chính là:

  1. RSI ngẫu nhiên có khả năng nhận diện quá mua quá bán
  2. Đánh giá chéo của EMA về tín hiệu đảo ngược chính xác
  3. VMACD có hiệu quả trong việc lọc các tín hiệu giả
  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 thức 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, tạo ra các vị trí nhiều đầu sau khi giảm xuống một mức độ nhất định, từ đó tạo ra lợi nhuận.

Phân tích rủi ro

Mặc dù chiến lược này có một số ưu điểm, nhưng cũng có một số rủi ro cần lưu ý, bao gồm:

  1. Rủi ro hệ thống rằng thị trường có thể không đảo ngược và tiếp tục giảm
  2. Tín hiệu được tạo ra ít hơn khi nhiều chỉ số không có khả năng kích hoạt điều kiện mua cùng một lúc
  3. Hạn chế SMA có thể quá chủ quan, hiệu quả kiểm soát thu hồi chung
  4. Không tính đến sự biến động lớn của thị trường

Đối với các rủi ro trên, có thể tối ưu hóa thêm bằng cách:

  1. Thêm một số chỉ số đảo ngược khác để tăng hiệu quả
  2. Phương pháp kết hợp thời gian và số tiền
  3. Xác định tình trạng thị trường, tránh đặt cược trong tình trạng biến động
  4. Tối ưu hóa logic dừng lỗ để ngăn chặn các lỗ hổng dừng quá mạnh

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

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

  1. Thêm nhiều chỉ số, tạo ra các cụm chỉ số, cải thiện chất lượng tín hiệu
  2. Lựa chọn các tham số tốt nhất dựa trên các đặc điểm của loại tài sản lớn, tối ưu hóa tham số
  3. Tăng các thuật toán học máy để đánh giá xác suất đảo ngược dựa trên dữ liệu lịch sử
  4. Thêm điểm trượt trong lần đo lại để kết quả gần hơn với giao dịch thực tế
  5. Tối ưu hóa chiến lược dừng lỗ, làm cho nó trở nên mượt mà và hợp lý hơn
  6. Phát hiện trạng thái xu hướng, phân biệt giữa biến động và xu hướng, tránh đặt cược mù quáng

Tóm tắt

Chiến lược tìm kiếm sóng kết hợp VRSI-EMA và VMACD là một chiến lược tốt để xác định cơ hội đảo ngược giảm giá. Nó kết hợp nhiều chỉ số để tạo ra tín hiệu mua, có thể xác định hiệu quả thời gian đảo ngược.

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

//@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)