Chiến lược giao dịch BB Keltner Squeeze đánh giá xu hướng đảo ngược bằng cách kết hợp sự nén của vùng Brin và kênh Kelt, thuộc chiến lược giao dịch ngắn. Chiến lược này dựa trên vùng Brin, hỗ trợ với kênh Kelt để xác minh tín hiệu giao dịch. Nếu giá phá vỡ vùng Brin trên đường ray hoặc xuống đường ray, nếu có sự nén với kênh Kelt, đánh giá xu hướng đảo ngược và tạo tín hiệu giao dịch.
Chiến lược này dựa trên các nguyên tắc sau:
Phạm vi biến động của giá sử dụng dải Brin. Dải Brin bao gồm đường lên, đường giữa và đường xuống, có thể xác định liệu giá có ở trong mô hình biến động hay không.
Ứng dụng kênh Celtic để xác minh tín hiệu Brin. Các kênh Celtic cũng có thể xác định phạm vi biến động của giá. Khi giá gần với đường băng Brin lên hoặc xuống đường, nếu có sự nén với kênh Celtic, cho thấy sự biến động tăng lên, có thể xảy ra đảo ngược.
Đánh giá tín hiệu giao dịch dựa trên tình trạng nén của vùng Brin và Celtic Channel. Nếu giá phá vỡ vùng Brin lên đường, khi đó Celtic Channel thu hẹp và thấp hơn vùng Brin lên đường, tạo ra nén, hãy nhìn cao hơn; Nếu giá rơi xuống vùng Brin xuống đường, trong khi Celtic Channel thu hẹp và cao hơn vùng Brin xuống đường, tạo ra nén, hãy nhìn xuống.
Sử dụng đường trung bình để xác định xu hướng. đường trung bình của Brin đại diện cho đường trung bình, nếu giá trên đường trung bình, hãy xem nhiều tín hiệu, nếu giá dưới đường trung bình, hãy xem tín hiệu.
Trong trường hợp nén, nếu chiều ngang của đường thẳng phù hợp với tín hiệu giao dịch, vị trí mở sẽ được làm trống nhiều hơn; nếu chiều ngang của đường thẳng không phù hợp với hướng mở vị trí trước đó, vị trí được làm trống.
Chiến lược này tận dụng tối đa tính bổ sung của các chỉ số Brin Belt và Celtic Channel để xác định điểm đảo ngược giá bằng cách nén, thuộc chiến lược giao dịch quay trở lại trung bình điển hình.
Chiến lược này có những lợi thế chính như sau:
Kết hợp hai chỉ số làm tăng độ tin cậy của tín hiệu. Chỉ số đơn dễ bị ảnh hưởng bởi đột phá giả, và chiến lược này được xác minh bằng cách nén băng Brin và kênh Celtic, có thể lọc tín hiệu giả.
Chỉ số đánh giá xu hướng rõ ràng. đường trục trung tâm đại diện cho hướng đồng tuyến, có thể đánh giá trực quan xu hướng hiện tại, tránh mất hướng xu hướng.
Logic mở khoan linh hoạt. Quyết định mở kho và đóng khoan dựa trên sự phù hợp của tín hiệu đồng bằng và nén, tránh hoạt động ngược.
Thích hợp cho giao dịch ngắn hạn. Chiến lược này chủ yếu xác định các đột phá và nén giá ngắn hạn, phù hợp với lợi nhuận ngắn hạn, có cơ hội giao dịch tần suất cao hơn.
Hiển thị trực quan. Bằng cách đánh dấu các vùng nén bằng màu sắc khác nhau, đường trung tâm và hướng hình trụ MACD, tạo ra hiệu ứng hình ảnh rõ ràng.
Dễ thực hiện và sao chép. Chiến lược này đơn giản và trực tiếp, logic giao dịch và cài đặt tham số của nó dễ hiểu, dễ thực hiện hoặc sao chép trên nền tảng.
Chiến lược này cũng có những rủi ro chính như:
Rủi ro rút lui: Nếu giá di chuyển lâu dài, tín hiệu nén sẽ phát ra và sẽ tạo ra một loạt các giao dịch và rút lui.
Rủi ro phá vỡ giá thất bại. Sau khi giá phá vỡ Bollinger Bands xuống đường, có thể là một phá vỡ giả ngắn hạn, dẫn đến thất bại trong giao dịch.
Rủi ro tối ưu hóa tham số. Thiết lập tham số của Brin và Celtic sẽ ảnh hưởng đến kết quả giao dịch, cần được thử nghiệm nhiều lần để tối ưu hóa, nếu không có thể không đạt được hiệu quả tối ưu.
Rủi ro của thị trường đa đầu. Trong thị trường lạc quan dài hạn, chiến lược này có thể tạo ra quá nhiều tín hiệu lạc quan dẫn đến tổn thất.
Chiến lược này theo đuổi giao dịch ngắn hạn, thường xuyên mở lỗ, tăng phí giao dịch và mất điểm trượt.
Rủi ro thất bại của chỉ số. Trong trường hợp thị trường cực đoan, các chỉ số của chiến lược cũng có thể thất bại và không thể tạo ra tín hiệu hiệu quả.
Những rủi ro này cần phải được kiểm soát thông qua quản lý giao dịch, chẳng hạn như thiết lập dừng lỗ, điều chỉnh quy mô vị trí, tham số tối ưu hóa, v.v.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Kết hợp các chỉ số khác để tạo ra tín hiệu giao dịch mạnh hơn. Bạn có thể xem xét thêm các chỉ số xu hướng, chấn động khác để xác minh thêm tín hiệu giao dịch và tăng tỷ lệ chiến thắng.
Thêm chiến lược dừng lỗ, kiểm soát tổn thất đơn. Có thể thiết lập dừng di chuyển hoặc dừng trục để hạn chế tổn thất đơn, do đó giảm Drawdown.
Tối ưu hóa các tham số của Brin Belt và Celtic Channel. Bằng cách thử nghiệm để tìm ra sự kết hợp tốt nhất của các tham số để cải thiện hiệu quả giao dịch đối với một giống cụ thể.
Điều chỉnh quy mô vị trí tùy theo tình hình thị trường. Khi có xu hướng rõ ràng, vị trí có thể được tăng lên một cách thích hợp; Khi thu hồi, vị trí được giảm xuống.
Sử dụng công nghệ học máy để tối ưu hóa tham số, tinh chế tín hiệu, v.v. để làm cho chiến lược có thể thích ứng hơn.
Phân biệt thị trường đa đầu và thị trường trống, tùy thuộc vào tình huống, chọn xem nhiều hơn. Bạn có thể tham gia vào phán đoán xu hướng dài hạn, giảm giao dịch đảo ngược khi hướng lớn được xác định.
Kết hợp với các chỉ số giá cả và các chỉ số khác để áp dụng, phong phú hơn các chiến lược. Có thể hình thành một cách toàn diện hơn để đánh giá xu hướng đảo ngược.
Bằng cách tối ưu hóa và cải tiến liên tục, chiến lược này có thể được xây dựng thành một chiến lược giao dịch ngắn hạn ổn định và đáng tin cậy, có thể duy trì lợi nhuận trong các điều kiện thị trường khác nhau.
BB Keltner Squeeze chiến lược để nắm bắt cơ hội đảo ngược giá bằng cách thắt chặt các đường Brin và Kelt. Nó tích hợp hai chỉ số hình thành tín hiệu giao dịch, sử dụng phương hướng phán đoán đường cân bằng, để dự đoán đảo ngược bằng cách nén. Chiến lược này phù hợp với giao dịch ngắn, có thể truy cập vào các cơ hội giao dịch thường xuyên.
/*backtest
start: 2023-09-17 00:00:00
end: 2023-09-24 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("BB Keltner Squeeze Strategy", overlay=true, initial_capital=10000, currency='USD')
length = input(title="Length", type=input.integer, defval=20, minval=0)
src = input(close, title="Source")
bband(length, mult) =>
sma(close, length) + mult * stdev(close, length)
keltner(length, mult) =>
ema(close, length) + mult * ema(tr, length)
//BB
B2mult = input(2.0, minval=0.001, maxval=50, title="Band 1 StDev")
B2basis = sma(src, length)
B2dev = B2mult * stdev(src, length)
B2upper = B2basis + B2dev
B2lower = B2basis - B2dev
plot(B2basis, color=color.blue)
p1 = plot(B2upper, color=#00ffff, linewidth=2, title="Band 2SD upper")
p2 = plot(B2lower, color=#00ffff, linewidth=2, title="Band 2SD lower")
//Keltner
useTrueRange = input(true)
Kmult = input(1.5, title="Keltner Range")
Kma = ema(src, length)
Krange = useTrueRange ? tr : high - low
Krangema = ema(Krange, length)
Kupper = Kma + Krangema * Kmult
Klower = Kma - Krangema * Kmult
p5 = plot(Kupper, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner upper")
p6 = plot(Klower, color=color.yellow, linewidth=2, style=plot.style_circles, title="Keltner lower")
e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length)
osc = linreg(close - e1 / 2, length, 0)
diff = bband(length, 2) - keltner(length, 1)
osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc :
osc[0] >= 0 ? #009b9b : #ff9bff
mid_color = diff >= 0 ? color.green : color.red
fromYear = year > 2014
toYear = year < 2016
direction = 0
squeeze = Kupper > B2upper
midc = 0
midc := squeeze ? 0 : close > B2basis ? 1 : 2
midcolor = midc == 0 ? #666666 : midc == 1 ? #00ff00 : #ff0000
direction := midc[1]
plot(B2basis, color=midcolor, linewidth=4, title="BB Mid")
bgcolor(midc == 0 ? #333333 : #000000, transp=75)
if direction == 0
if midc[1] == 0 and midc == 1
strategy.entry("LONG", strategy.long)
direction := 1
else if midc[1] == 0 and midc == 2
strategy.entry("SHORT", strategy.short)
direction := 2
else if direction != midc
strategy.close_all()
direction := 0