Chiến lược này nhằm mục đích dự đoán tỷ lệ biến động của thị trường VIX thông qua công thức sửa chữa Williams VIX, kết hợp Stochastic RSI với chỉ số cân bằng đa luồng. Bằng cách nắm bắt sự khác biệt đa đầu ẩn để định vị đáy thị trường, xác định chính xác vị trí của điểm đảo ngược thị trường.
Chiến lược này chủ yếu dựa trên công thức sửa chữa Williams VIX và sử dụng kết hợp Stochastic RSI với chỉ số RSI.
Đầu tiên, tính giá trị VIX của chu kỳ hiện tại thông qua công thức sửa chữa Williams VIX. Công thức này đo lường tỷ lệ biến động và chỉ số hoảng loạn của thị trường bằng cách tính tỷ lệ giá cao nhất so với giá thấp nhất. Ở đây, chúng ta đặt đường ray lên và xuống của Brin Belt, khi giá trị VIX cao hơn đường ray lên, thị trường biến động tăng lên, nhà đầu tư hoảng loạn; khi thấp hơn đường ray xuống, thị trường ổn định.
Thứ hai, chiến lược sử dụng Stochastic RSI kết hợp với chỉ số RSI. RSI được sử dụng để xác định trạng thái trống rỗng, Stoch RSI kết hợp với đường K và đường D để xác định điểm đảo chiều của chỉ số RSI.
Cuối cùng, chiến lược tổng hợp cả hai, lấy tín hiệu mua quá mức của Stoch RSI làm cơ sở bán, và lấy giá VIX thấp hơn đường ray của Bollinger Bands làm cơ sở mua, để nắm bắt điểm đảo chiều của thị trường.
Lợi thế lớn nhất của chiến lược này là có thể kết hợp lợi thế của hai chỉ số khác nhau.
Hình thức sửa chữa Williams VIX có thể phản ánh hiệu quả cảm xúc hoảng loạn của thị trường, điều chỉnh động lực lên xuống của Brin có thể thích nghi với các chu kỳ khác nhau; Chỉ số RSI Stochastic thực hiện phán đoán về điểm đảo ngược RSI thông qua giao thoa của đường K, D, tránh gây ra phán đoán sai.
Kết hợp cả hai, có thể xác định chính xác hơn điểm đảo chiều của thị trường, đồng thời có thể sử dụng Stoch RSI để xác định vị trí điểm vào cụ thể, tránh nhầm lẫn khi chỉ số hoảng loạn thị trường phát ra tín hiệu bán.
Chiến lược này cũng có một số rủi ro:
Công thức sửa chữa Williams VIX không thể phản ánh hoàn toàn cảm xúc hoảng loạn của thị trường, và việc đặt các tham số Brin không đúng có thể dẫn đến tín hiệu sai.
Stoch RSI phản hồi tín hiệu cũng có thể sai và cần kết hợp các chỉ số khác để xác minh.
Chiến lược này khá thận trọng, và nếu không theo dõi nhanh chóng, có thể sẽ làm mất cơ hội.
Chiến lược rút lui có thể lớn hơn, cần thiết để quản lý vị trí một cách thận trọng.
Điều này đòi hỏi chúng ta phải thiết lập các tham số hợp lý khi sử dụng chiến lược này và xác minh bằng các chỉ số khác, đồng thời kiểm soát quy mô vị trí để tránh rủi ro.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Tối ưu hóa các tham số của công thức Williams VIX để nó có thể phản ánh chính xác hơn mức độ hoảng loạn của thị trường.
Tối ưu hóa các tham số của Stoch RSI, tìm kiếm các kết hợp K, D-line cycle phù hợp hơn, cải thiện độ chính xác quay ngược.
Tăng cơ chế quản lý vị trí, chẳng hạn như thiết lập lệnh dừng lỗ, hoặc điều chỉnh vị trí theo động lực của tỷ lệ rút / tỷ lệ lợi nhuận.
Kết hợp với các chỉ số khác, như MACD, KD, để thực hiện xác minh đa chỉ số, giảm nguy cơ sai lầm.
Tăng các thuật toán học máy, sử dụng mô hình đào tạo dữ liệu lớn, tự động tối ưu hóa tham số, tăng sự ổn định của chiến lược.
Bằng cách tối ưu hóa các điểm trên, chiến lược này có thể cải thiện đáng kể hiệu quả và ổn định trong chiến đấu.
Chiến lược sửa chữa Williams VIX thực hiện định vị hiệu quả đối với đáy thị trường bằng cách nắm bắt sự hoảng loạn và chuyển đổi ổn định của thị trường và sử dụng Stoch RSI để đánh giá thời điểm tham gia cụ thể. Lợi thế của chiến lược nằm ở việc sử dụng các chỉ số kết hợp, nhưng cũng có một số rủi ro. Chúng ta có thể tăng cường hiệu quả của chiến lược bằng cách tối ưu hóa tham số và xác minh đa chỉ số, làm cho nó trở thành một công cụ hiệu quả để định vị thị trường đảo ngược.
/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Divergence and Hidden Divergence correlating with the Money Flow Index
strategy("Vix FIX / StochRSI Strategy", pyramiding=9, initial_capital=10000, default_qty_type=strategy.percent_of_equity,overlay=false)
///////////// Stochastic Slow
Stochlength = input(14, minval=1, title="lookback length of Stochastic")
StochOverBought = input(80, title="Stochastic overbought condition")
StochOverSold = input(20, title="Stochastic oversold condition")
smoothK = input(3, title="smoothing of Stochastic %K ")
smoothD = input(3, title="moving average of Stochastic %K")
k = sma(stoch(close, high, low, Stochlength), smoothK)
d = sma(k, smoothD)
///////////// RSI
RSIlength = input( 14, minval=1 , title="lookback length of RSI")
RSIOverBought = input( 70 , title="RSI overbought condition")
RSIOverSold = input( 30 , title="RSI oversold condition")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)
///////////// Double strategy: RSI strategy + Stochastic strategy
pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bolinger Band Length")
mult = input(2.0 , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50 , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
new = input(false, title="-------Text Plots Below Use Original Criteria-------" )
sbc = input(false, title="Show Text Plot if WVF WAS True and IS Now False")
sbcc = input(false, title="Show Text Plot if WVF IS True")
new2 = input(false, title="-------Text Plots Below Use FILTERED Criteria-------" )
sbcFilt = input(true, title="Show Text Plot For Filtered Entry")
sbcAggr = input(true, title="Show Text Plot For AGGRESSIVE Filtered Entry")
ltLB = input(40, minval=25, maxval=99, title="Long-Term Look Back Current Bar Has To Close Below This Value OR Medium Term--Default=40")
mtLB = input(14, minval=10, maxval=20, title="Medium-Term Look Back Current Bar Has To Close Below This Value OR Long Term--Default=14")
str = input(3, minval=1, maxval=9, title="Entry Price Action Strength--Close > X Bars Back---Default=3")
//Alerts Instructions and Options Below...Inputs Tab
new4 = input(false, title="-------------------------Turn On/Off ALERTS Below---------------------" )
new5 = input(false, title="----To Activate Alerts You HAVE To Check The Boxes Below For Any Alert Criteria You Want----")
sa1 = input(false, title="Show Alert WVF = True?")
sa2 = input(false, title="Show Alert WVF Was True Now False?")
sa3 = input(false, title="Show Alert WVF Filtered?")
sa4 = input(false, title="Show Alert WVF AGGRESSIVE Filter?")
//Williams Vix Fix Formula
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph
//Filtered Bar Criteria
upRange = low > low[1] and close > high[1]
upRange_Aggr = close > close[1] and close > open[1]
//Filtered Criteria
filtered = ((wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh))
filtered_Aggr = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and not (wvf < upperBand and wvf < rangeHigh)
//Alerts Criteria
alert1 = wvf >= upperBand or wvf >= rangeHigh ? 1 : 0
alert2 = (wvf[1] >= upperBand[1] or wvf[1] >= rangeHigh[1]) and (wvf < upperBand and wvf < rangeHigh) ? 1 : 0
alert3 = upRange and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered ? 1 : 0
alert4 = upRange_Aggr and close > close[str] and (close < close[ltLB] or close < close[mtLB]) and filtered_Aggr ? 1 : 0
//Coloring Criteria of Williams Vix Fix
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray
isOverBought = (crossover(k,d) and k > StochOverBought) ? 1 : 0
isOverBoughtv2 = k > StochOverBought ? 1 : 0
filteredAlert = alert3 ? 1 : 0
aggressiveAlert = alert4 ? 1 : 0
plot(isOverBought, "Overbought / Crossover", style=line, color=red)
plot(filteredAlert, "Filtered Alert", style=line, color=fuchsia)
plot(aggressiveAlert, "Aggressive Alert", style=line, color=orange)
if (filteredAlert or aggressiveAlert)
strategy.entry("Long", strategy.long)
if (isOverBought)
strategy.close("Long")