
Chiến lược này kết hợp các chỉ số Bollinger Bands và Aroon để kiếm lợi nhuận từ sự phá hoại của thị trường xung động. Chiến lược này hoạt động tốt trong thị trường xu hướng xung động, có thể tham gia kịp thời sau khi phá vỡ xung động và đặt các điều kiện dừng lỗ và rút khỏi vị trí khi thích hợp.
Chiến lược này chủ yếu sử dụng hai chỉ số để xác định cơ hội giao dịch và điểm thoát.
Băng Burin gồm các đường trung, đường trên và đường dưới. Đường trung là đường trung bình di chuyển đơn giản của giá đóng cửa trong n ngày, đường trên là đường trung + k lần chênh lệch chuẩn, đường dưới là đường trung - k lần chênh lệch chuẩn.
Sau đó là chỉ số Aroon. Chỉ số Aroon phản ánh sự tương đối mạnh mẽ của giá đạt đến mức cao nhất và thấp nhất trong n ngày. Chỉ số Aroon có thể đánh giá xu hướng và cơ hội.
Kết hợp hai chỉ số này, chiến lược này mua khi đường chính Aroon Up vượt quá ngưỡng giá khi xảy ra đột phá ở vùng Brin. Hạ khi đường dừng bị kích hoạt hoặc đường chính Aroon Up thấp hơn giá thiết lập.
Tích hợp nhiều chỉ số để cải thiện độ chính xác của quyết định. Chỉ số duy nhất dễ bị ảnh hưởng bởi tiếng ồn thị trường, chiến lược này có thể lọc các tín hiệu giả thông qua sự kết hợp của các chỉ số Brin và Aroon.
Bắt kịp thời các điểm đảo ngược xu hướng. Băng Brin có khả năng nhận biết xu hướng mạnh mẽ, có thể phát hiện ra các điểm cơ hội phá vỡ đường trung tâm trong thời gian ngắn. Chỉ số Aroon đánh giá xu hướng dài hạn, tránh mở nhiều lần trong tình huống bất ổn.
Kiểm soát rủi ro tại vị trí. Chiến lược dừng lỗ và đường chính của chỉ số Aroon Down kiểm soát rủi ro giảm. Ngoài ra, một số giao dịch vị trí cũng kiểm soát tổn thất đơn lẻ.
Phương pháp này hoạt động tốt hơn so với chiến lược theo dõi xu hướng trong các tình huống xung đột.
Bắt buộc có lỗi. Bắt buộc sẽ bị mất hiệu lực khi sự kiện bất ngờ của thị trường gây ra biến động lớn.
Cài đặt tham số Aroon cần được tối ưu hóa. Các thị trường khác nhau cần điều chỉnh tham số Aroon để đạt được hiệu quả tối ưu.
Hạn chế quá nhỏ dễ bị kích hoạt lại. Cần mở rộng phạm vi hẹp một cách thích hợp, tránh dây dừng bị kích hoạt lại sau khi được kích hoạt.
Cần tránh sử dụng trong xu hướng mạnh. Chiến lược này áp dụng cho thị trường chấn động, hoạt động kém trong thị trường xu hướng mạnh, nên chú ý tránh.
Tối ưu hóa tham số Brin, sử dụng tham số Brin thích ứng. Cho phép tham số Brin được điều chỉnh theo thay đổi của thị trường, tăng tính linh hoạt của chỉ số.
Cài đặt động để tối ưu hóa tham số Aroon. Các tham số tối ưu hóa động có thể được nghiên cứu khi các tham số Aroon cần được điều chỉnh cho các loại tiền tệ và chu kỳ giao dịch khác nhau.
Thêm bộ lọc cho các chỉ số khác, chẳng hạn như chỉ số RSI, để tránh quá mua quá bán. Điều này có thể làm tăng thêm độ chính xác của quyết định chiến lược.
Sử dụng phương pháp học máy để tối ưu hóa điểm dừng. Bằng cách đào tạo thuật toán, có thể có được cách dừng tối ưu hơn, giảm tối đa khả năng dừng lại được kích hoạt lại.
Chỉ số tích hợp năng lượng, tránh phá vỡ giả. Ví dụ như chỉ số năng lượng OBV, có thể tránh tín hiệu phá vỡ giả xảy ra ở vùng Brin.
Chiến lược này nói chung là một chiến lược giao dịch kiểu xung đột điển hình. Nó kết hợp với chỉ số Brin và chỉ số Aroon để xác định cơ hội giao dịch, có thể nắm bắt hiệu quả các biến động ngắn hạn của thị trường.
/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-28 21:00:00
period: 1m
basePeriod: 1m
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/
// © relevantLeader16058
//@version=4
// strategy(shorttitle='Bollinger bands And Aroon Scalping',title='Bollinger bands And Aroon Scalping (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
// BB inputs and calculations
lengthBB = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthBB)
dev = mult * stdev(src, lengthBB)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
lengthAr = input(288, minval=1)
AroonUP = 100 * (highestbars(high, lengthAr+1) + lengthAr)/lengthAr
AroonDown = 100 * (lowestbars(low, lengthAr+1) + lengthAr)/lengthAr
Confirmation = input(90, "Aroon Confirmation")
Stop = input(70, "Aroon Stop")
Bullish = crossunder (close, basis)
Bearish = crossunder (close, upper)
//Entry
strategy.entry(id="long", long = true, when = Bullish and AroonUP > Confirmation and window())
//Exit
strategy.close("long", when = Bearish or AroonUP < Stop and window())