
Chiến lược dừng biến động của đám mây và hệ thống chéo đường trung bình là một chiến lược giao dịch định lượng kết hợp các khái niệm theo dõi xu hướng thích ứng và động lực. Chiến lược này sử dụng chỉ số dừng biến động của hai khung thời gian khác nhau (VStop) để xây dựng một vùng hỗ trợ / kháng cự động và tạo ra tín hiệu giao dịch thông qua sự giao nhau của hai đường. Chiến lược này cũng kết hợp các màu sắc dựa trên chỉ số tương đối mạnh yếu (RSI) để cung cấp thêm các chỉ dẫn về tâm trạng thị trường.
Cốt lõi của chiến lược này là sử dụng hai chỉ số dừng (VStop) có tỷ lệ biến động, dựa trên các chu kỳ và nhân của các chu kỳ và biến động trung bình thực tế khác nhau (ATR). VStop có chu kỳ dài hơn cung cấp hướng xu hướng chính, trong khi VStop có chu kỳ ngắn hơn được sử dụng để bắt biến động giá nhanh hơn. Khu vực giữa hai đường VStop tạo thành một “mây” đại diện cho sự biến động của thị trường hiện tại.
Các tín hiệu giao dịch được tạo ra khi đường VStop ngắn hơn đi qua đường VStop dài hơn. Đi lên được coi là tín hiệu đa, đi xuống được coi là tín hiệu ngắn. Hệ thống giao thoa này được thiết kế để nắm bắt sự thay đổi của xu hướng và các điểm đảo ngược tiềm năng.
Chiến lược cũng kết hợp một tùy chọn màu sắc màu cầu vồng dựa trên RSI, có thể điều chỉnh màu sắc của đường VStop và đám mây theo động lực thị trường, cung cấp thêm thông tin phản hồi trực quan.
Tự thích ứng: Bằng cách sử dụng ATR để tính toán giá trị VStop, chiến lược có thể tự động điều chỉnh để thích ứng với các điều kiện thị trường khác nhau theo biến động của thị trường.
Theo dõi xu hướng và nắm bắt đảo ngược: Kết hợp các khái niệm theo dõi xu hướng và giao thoa đường trung bình để theo dõi xu hướng mạnh mẽ và nắm bắt cơ hội đảo ngược tiềm năng kịp thời.
Hình ảnh trực quan: Hình ảnh đám mây và các màu sắc RSI cung cấp phản hồi trực quan rõ ràng, giúp đánh giá nhanh chóng tình trạng thị trường và cơ hội giao dịch tiềm năng.
Tính linh hoạt: Các tham số chiến lược có thể được điều chỉnh theo các loại giao dịch và khung thời gian khác nhau để tối ưu hóa hiệu suất.
Quản lý rủi ro: VStop line có thể được sử dụng như một mức dừng động để giúp kiểm soát rủi ro cho mỗi giao dịch.
Các tín hiệu giả của thị trường sốc: Trong thị trường ngang hoặc biến động cao, các đường VStop có thể xuyên qua thường xuyên, dẫn đến quá nhiều giao dịch và tổn thất tiềm ẩn.
Sự chậm trễ: Là một hệ thống dựa trên đường trung bình, chiến lược có thể phản ứng chậm trong giai đoạn đầu của xu hướng đảo ngược, dẫn đến sự chậm trễ vào hoặc ra.
Tính nhạy cảm của tham số: Hiệu suất của chiến lược phụ thuộc rất nhiều vào chu kỳ ATR và sự lựa chọn của nhân số, thiết lập tham số không đúng cách có thể dẫn đến hiệu suất kém.
Quá giao dịch: Nếu thiết lập đường VStop quá nhạy cảm, có thể tạo ra quá nhiều tín hiệu giao dịch, làm tăng chi phí giao dịch.
Thiếu cân nhắc cơ bản: Chiến lược dựa hoàn toàn trên các chỉ số kỹ thuật, bỏ qua các yếu tố cơ bản có thể ảnh hưởng đến giá tài sản.
incorporates thêm bộ lọc: Xem xét thêm các chỉ số cường độ xu hướng hoặc bộ lọc tỷ lệ dao động để giảm tín hiệu giả và cải thiện chất lượng giao dịch.
Điều chỉnh tham số động: Thực hiện tối ưu hóa tự động của chu kỳ ATR và nhân để phù hợp với các giai đoạn thị trường khác nhau.
Phân tích nhiều khung thời gian: tích hợp thông tin về xu hướng thị trường trong khung thời gian dài hơn để tăng độ chính xác của quyết định giao dịch.
Tối ưu hóa chiến lược ra ngoài: Phát triển các quy tắc ra ngoài phức tạp hơn, chẳng hạn như các cơ chế thu lợi nhuận một phần dựa trên vStop line.
Tích hợp dữ liệu cơ bản: tính đến các chỉ số kinh tế quan trọng hoặc các sự kiện tin tức để nâng cao tính toàn diện của chiến lược.
Chiến lược này nhằm mục đích nắm bắt sự thay đổi của xu hướng thị trường bằng cách sử dụng các chỉ số VStop trong các khung thời gian khác nhau, đồng thời cung cấp phản hồi trực quan trực quan. Mặc dù chiến lược này thể hiện khả năng thích ứng mạnh mẽ và khả năng lợi nhuận tiềm năng, người dùng vẫn cần thận trọng với hoạt động của nó trong thị trường bất ổn và xem xét các bộ lọc và công nghệ tối ưu hóa bổ sung để tăng cường sự ổn định của nó.
/*backtest
start: 2024-09-01 00:00:00
end: 2024-09-30 23:59:59
period: 3h
basePeriod: 3h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//Credit: This indicator is largely based on the built-in "Volatility Stop" indicator by TradingView
strategy('ATR (VStop) Cloud Strategy', overlay=true)
vstopon = input(true, 'ATR Cloud On?', inline="Vstop0", group='Display')
showlabels = input(title='Labels?', defval=true, inline='Vstop1', group='Display')
rainbowvstop = input(true, 'Rainbow RSI-Based Color Scheme?', inline="Vstop2", group='Display')
color vstopbull = input.color(color.new(color.lime, 0), '', inline='Vstop2', group='Display')
color vstopbear = input.color(color.new(color.fuchsia, 0), '', inline='Vstop2', group='Display')
filltransp = input.int(95, 'Cloud Fill Transparency', inline='Vstop3', group='Display', minval=0, maxval=100)
length2 = input.int(20, "Small VStop", minval = 2, inline='100', group='Volatility Stop')
src2 = input.source(close, "", inline='100', group='Volatility Stop')
factor2 = input.float(1.5, "ATR Multiple", minval = 0.25, step = 0.25, inline='100', group='Volatility Stop')
length = input.int(20, " Big VStop", minval = 2, inline='100', group='Volatility Stop')
src = input.source(close, "", inline='100', group='Volatility Stop')
factor = input.float(3.0, "ATR Multiple", minval = 0.25, step = 0.25, inline='100', group='Volatility Stop')
volStop(src, atrlen, atrfactor) =>
var max = src
var min = src
var uptrend = true
var stop = 0.0
atrM = nz(ta.atr(atrlen) * atrfactor, ta.tr)
max := math.max(max, src)
min := math.min(min, src)
stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
uptrend := src - stop >= 0.0
if uptrend != nz(uptrend[1], true)
max := src
min := src
stop := uptrend ? max - atrM : min + atrM
[stop, uptrend]
[vStop, uptrend] = volStop(src, length, factor)
[vStop2, uptrend2] = volStop(src2, length2, factor2)
vstopseries = math.avg(vStop, vStop2)
// Colors for plot
dncolor = rainbowvstop ? color.red : vstopbear
upcolor = rainbowvstop ? color.green : vstopbull
// Plot volatility stop lines
pv1 = plot(vstopon ? vStop : na, "Volatility Stop", style=plot.style_line, color=uptrend ? upcolor : dncolor, linewidth=2)
pv2 = plot(vstopon ? vStop2 : na, "Volatility Stop", style=plot.style_line, color=uptrend2 ? upcolor : dncolor, linewidth=1)
// Cross conditions
crossUp = ta.crossover(vStop2, vStop)
crossDn = ta.crossunder(vStop2, vStop)
// Labels
plotshape(showlabels and crossUp, title='Cross Long', style=shape.labelup, location=location.belowbar, text='LONG', textcolor=color.white, color=color.teal, size=size.auto)
plotshape(showlabels and crossDn, title='Cross Short', style=shape.labeldown, location=location.abovebar, text='SHORT', textcolor=color.white, color=color.maroon, size=size.auto)
// Strategy entry and exit
if (crossUp)
strategy.entry('Long', strategy.long)
if (crossDn)
strategy.entry('Short', strategy.short)
// Fill between lines
fill(pv1, pv2, color=uptrend ? color.new(upcolor, filltransp) : color.new(dncolor, filltransp))