Chiến lược giao dịch đột phá biến động nhằm mục đích nắm bắt sự đột phá giá do biến động thị trường gia tăng. Chiến lược sử dụng chỉ số Average True Range (ATR) để đo biến động của tài sản trong một khoảng thời gian nhất định.
Chiến lược này đầu tiên tính toán ATR trong một khoảng thời gian được chọn. Sau đó nó sử dụng ATR để tính toán mức đột phá trên và dưới. Khi giá đóng phá trên mức trên, một tín hiệu dài được tạo ra. Khi giá đóng phá dưới mức dưới, một tín hiệu ngắn được tạo ra. Để xác nhận thêm các tín hiệu, thanh hiện tại cần phải đóng cho phần cơ thể của nó.
Khi giá đóng phá vỡ các mức trên hoặc dưới, khu vực phá vỡ được lấp đầy với một màu cho thấy hướng phá vỡ.
Khi một tín hiệu dài được tạo ra và không có vị trí hiện tại, chiến lược sẽ dài. Khi một tín hiệu ngắn được tạo ra và không có vị trí hiện tại, chiến lược sẽ ngắn.
Trong trường hợp giao dịch được đặt ở mức 20 bar, mỗi giao dịch sẽ trải dài khoảng 100 bar, nắm bắt nhiều biến động.
Giảm giá trị Length cho phép nhắm mục tiêu các biến động giá ngắn hạn và có khả năng tăng tần suất giao dịch. Không có mối tương quan chặt chẽ giữa đầu vào Length và chiều dài giao dịch trung bình. Các giá trị Length tối ưu phải được tìm thấy thông qua thử nghiệm.
Chiến lược này tận dụng các nguyên tắc đột phá để bắt được những động thái quan trọng phát sinh từ sự biến động của thị trường. Chỉ số ATR tính toán mức đột phá một cách năng động thay vì sử dụng các tham số cố định.
Sử dụng thanh rắn đóng để xác nhận các tín hiệu lọc ra các đột phá sai.
Nhập độ dài cung cấp tính linh hoạt để tối ưu hóa chiến lược cho các điều kiện thị trường cụ thể.
Giao dịch đột phá mang lại rủi ro bị dừng lại.
Các tín hiệu đột phá có thể tạo ra các tín hiệu sai dẫn đến giao dịch quá mức. Các giá trị chiều dài có thể được điều chỉnh để lọc ra các tín hiệu sai.
Tối ưu hóa tham số đòi hỏi đủ dữ liệu giao dịch.
Bollinger Bands có thể được giới thiệu trong thời gian ATR để tính mức đột phá mới.
Xu hướng có thể được theo dõi thêm sau khi phá vỡ thay vì dừng ngay lập tức.
Các thông số khác nhau hoặc tránh giao dịch hoàn toàn có thể được xem xét trong các thị trường giới hạn phạm vi để ngăn chặn whipsaws.
Chiến lược giao dịch đột phá biến động (Volatility Breakout Trading Strategy) tận dụng sự biến động tăng lên của thị trường để đi vào xu hướng khi giá đột phá đáng kể. Chỉ số ATR định mức đột phá và thanh rắn lọc các đột phá sai.
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ //@version=5 strategy("Volatility Breakout Strategy [Angel Algo]", overlay = true) // Inputs length = input(title="Length", defval=20) // Calculate the average true range (ATR) atr = ta.atr(length) // Plot the ATR on the chart plot(atr, color=color.blue, linewidth=2, title="ATR") // Calculate the upper and lower breakouts upper_breakout = high + atr lower_breakout = low - atr // Plot the upper and lower breakouts on the chart ul = plot(upper_breakout[1], color = color.new(color.green, 100), linewidth=2, title="Upper Breakout Level") ll = plot(lower_breakout[1], color = color.new(color.red, 100), linewidth=2, title="Lower Breakout Level") // Create the signals long_entry = ta.crossover(close, upper_breakout[1]) and barstate.isconfirmed short_entry = ta.crossunder(close, lower_breakout[1]) and barstate.isconfirmed active_signal_color =ta.barssince(long_entry) < ta.barssince(short_entry) ? color.new(color.green,85) : color.new(color.red,85) // Plot the signals on the chart plotshape(long_entry and ta.barssince(long_entry[1]) > ta.barssince(short_entry[1]), location=location.belowbar, style=shape.triangleup, color=color.green, size=size.normal, text = "Bullish breakout", textcolor = color.green) plotshape(short_entry and ta.barssince(long_entry[1]) < ta.barssince(short_entry[1]), location=location.abovebar, style=shape.triangledown, color=color.red, size=size.normal,text = "Bearish breakout", textcolor = color.red) // Fill the space between the upper and lower levels with the color that indicates the latest signal direction fill(ul,ll, color=active_signal_color) long_condition = long_entry and strategy.position_size <= 0 and barstate.isconfirmed short_condition = short_entry and strategy.position_size >= 0 and barstate.isconfirmed if long_condition strategy.entry("Volatility Breakout Long", strategy.long) if short_condition strategy.entry("Volatility Breakout Short", strategy.short)