Đâ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 chủ yếu dựa trên sự kết hợp của các chỉ số sau:
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ỗ.
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.
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.
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:
Một số cách để giảm thiểu rủi ro:
Các lĩnh vực chính có thể được tối ưu hóa cho chiến lược:
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)