Chiến lược này đầu tiên lấy chỉ số William VIX bằng cách tính toán chênh lệch giữa giá cao nhất và giá thấp nhất trong một chu kỳ nhất định và chia cho giá cao nhất. Sau đó, kết hợp nguyên tắc chênh lệch tiêu chuẩn của băng Brin, thiết lập đường lên và đường xuống.
Chiến lược này chủ yếu sử dụng chỉ số William VIX để xác định sự biến động và rủi ro của thị trường, đồng thời hỗ trợ DEMA để xác định xu hướng giá.
Đầu tiên, công thức tính toán của chỉ số William VIX là:
WVF = ((Highest(close, n) - Low) / (Highest(close, n))) * 100
Trong đó n là số chu kỳ của tham số. Chỉ số này phản ánh sự biến động giữa giá cao nhất và giá thấp nhất trong một chu kỳ nhất định.
Trên cơ sở đó, chiến lược này sử dụng ý tưởng của Brin. Đặt đường lên là đường trung + n lần chênh lệch chuẩn, đường xuống là đường trung - n lần chênh lệch chuẩn. Khi giá gần đường lên, thể hiện sự dao động mở rộng, làm nhiều cơ hội; Khi giá gần đường xuống, thể hiện sự co lại của biến động, làm cơ hội trống.
Ngoài ra, chiến lược này cũng đặt phạm vi dừng dựa trên nguyên tắc phần trăm trong một chu kỳ nhất định. Ví dụ: 90 điểm là 90% giá gần đây trong chu kỳ thống kê. Khi giá vượt quá mức này, nó cho thấy sự biến động đã tương đối lớn và có thể xem xét dừng.
Trong chiến lược giao dịch cụ thể, kết hợp xu hướng phán đoán của chỉ số DEMA. Chỉ làm nhiều khi giá vượt qua đường ray trên và thấp hơn DEMA; chỉ làm trống khi giá vượt qua đường ray dưới và cao hơn DEMA.
Chiến lược này kết hợp các chỉ số William VIX để đánh giá sự biến động, Brinband dựa trên nguyên tắc chênh lệch tiêu chuẩn và chỉ số DEMA để đánh giá xu hướng, có tính tổng hợp mạnh mẽ, có thể nắm bắt tốt hơn hai yếu tố lớn của thị trường: rủi ro và xu hướng.
Cụ thể, chỉ số William VIX và Brin mang theo một cặp đường ray xuống, có thể đánh giá rủi ro biến động; chỉ số DEMA có thể đánh giá hướng xu hướng giá; thiết lập phạm vi chặn có thể khóa lợi nhuận và từ chối tham lam quá mức.
Vì vậy, chiến lược này làm rất tốt trong việc nắm bắt cả rủi ro và xu hướng, không chỉ có thể chọn thời điểm tốt hơn để vào, mà còn có thể tránh rủi ro đảo ngược khi đã có lợi nhuận tốt hơn bằng cách dừng phạm vi, có thể nói là một chiến lược bảo thủ ổn định.
Rủi ro lớn nhất của chiến lược này là các chỉ số biến động và các chỉ số xu hướng có thể có sự khác biệt. Ví dụ, khi chỉ số William VIX cho thấy sự biến động tăng lên, giá gần Bollinger Bands lên đường hoặc xuống đường, phán quyết của chỉ số DEMA và nó không nhất quán. Ví dụ, khi chỉ số biến động cho thấy nhiều cơ hội, nhưng DEMA cho thấy xu hướng giảm.
Ngoài ra, thiết lập phạm vi dừng quá bảo thủ cũng ảnh hưởng đến khả năng lợi nhuận của chiến lược. Nếu thiết lập tham số phân vị quá thấp, rất khó để kích hoạt dừng, do đó không thể khóa lợi nhuận.
Có thể xem xét thiết lập tham số phạm vi dừng là tham số có thể điều chỉnh, có thể được điều chỉnh trong các môi trường thị trường khác nhau. Cụ thể, trong tình huống biến động, bạn có thể tăng tham số phân số một cách thích hợp, mở rộng phạm vi dừng; nhưng trong tình huống có xu hướng rõ ràng, bạn nên giảm tham số phân số, dừng kịp thời.
Ngoài ra, bạn cũng có thể xem xét thêm các chỉ số khác để đánh giá xu hướng, tạm thời xây dựng kho khi chỉ số DEMA ban đầu và chỉ số mới không phù hợp, để tránh tổn thất do tín hiệu sai.
Chiến lược tổng hợp sử dụng các chỉ số biến động, nguyên tắc chênh lệch chuẩn, phán đoán xu hướng và suy nghĩ dừng, có thể đáp ứng tốt với rủi ro và thay đổi xu hướng của thị trường. Nó ổn định và bảo thủ, phù hợp với việc nắm giữ dài hạn. Bằng cách tối ưu hóa tham số, bạn có thể tăng thêm sự ổn định và khả năng sinh lợi của chiến lược.
/*backtest
start: 2023-12-23 00:00:00
end: 2024-01-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("VIX and DEMA", overlay=false)
pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bolinger Band Length")
multupper = input(2.0 , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
multlow = input(2.0,minval=1,maxval=5,title="BB STD LOW")
lb = input(50 , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
pl = input(1.01, title="Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99%")
hp = input(false, title="Show High Range - Based on Percentile and LookBack Period?")
sd = input(false, title="Show Standard Deviation Line?")
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDevupper = multupper * stdev(wvf, bbl)
sDevlow = multlow *stdev(wvf,bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDevlow
upperBand = midLine + sDevupper
rangeHigh = (highest(wvf, lb)) * ph
rangeLow = (lowest(wvf, lb)) * pl
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray
price=close
plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(hp and rangeLow ? rangeLow : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(wvf, title="Williams Vix Fix", style=histogram, linewidth = 4, color=col)
plot(sd and upperBand ? upperBand : na, title="Upper Band", style=line, linewidth = 3, color=aqua)
yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
lengthema = input(50, minval=1)
src = input(close, title="Source")
e1 = ema(src, lengthema)
e2 = ema(e1, lengthema)
dema = 2 * e1 - e2
plot(dema, color=green)
if ((crossunder(wvf,upperBand) ) and (price<dema) )
strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND", comment="AL")
else
strategy.cancel(id="MMAL")
if ((( (wvf<lowerBand) ) and (price>dema) ) )
strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND", comment="SAT")
else
strategy.cancel(id="MMSAT")