Chiến lược giao dịch dựa trên Dải Bollinger và tỷ lệ thoái lui Fibonacci


Ngày tạo: 2023-09-27 16:52:05 sửa đổi lần cuối: 2023-09-27 16:52:05
sao chép: 0 Số nhấp chuột: 1125
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này sử dụng các vùng Brin để xác định các kênh giá và kết hợp với tỷ lệ Fibonacci để xác định mức kháng cự hỗ trợ, để thực hiện giao dịch tự động. Chiến lược này xác định các đợt phá vỡ và theo dõi các điểm rút lui của vùng Brin, để mua hoặc bán các thao tác trong khu vực có khả năng quay trở lại cao.

Nguyên tắc chiến lược

  1. Tính toán đường ray trung tâm, đường ray trên và đường ray dưới trong băng tần Brin

    • Sử dụng SMA và ATR để tính toán đường trung tâm, đường lên và đường xuống

    • Thường xuyên mở rộng và thu hẹp theo biến động thị trường

  2. Tính toán Fibonacci Trở lại so với giá tương ứng

    • Lấy ATR và số Fibonacci nhân với tỷ lệ rút lui

    • Tính toán nhiều lần rút lui Fibonacci dựa trên quỹ đạo trung tâm

  3. Giá giám sát phá vỡ băng tần Brin

    • Cân nhắc làm nhiều hơn khi giá tăng

    • Hãy cân nhắc việc thả lỗ khi giá phá vỡ đường mòn

  4. Thiết lập trạm dừng và dừng lỗ gần điểm rút Fibonacci

    • Giá quay trở lại Fibonacci khi nhập cảnh

    • Thiết lập dừng lỗ ở phía bên kia của khu vực rút lui

Phân tích lợi thế

  • Brin Belt có thể xác định rõ phạm vi biến động và xu hướng của thị trường

  • Fibonacci rút lui hơn nắm giữ vùng kháng cự quan trọng

  • Kết hợp các tín hiệu chỉ số có thể thực hiện giao dịch tự động

  • Quay trở lại để tăng tỷ lệ thành công và tránh những cú đánh bại.

  • Có thể điều chỉnh các tham số để thích ứng với các chu kỳ và giống khác nhau

Phân tích rủi ro

  • Blinking có thể là một sự phá vỡ giả tạo, tạo ra tín hiệu sai

  • Không thể dự đoán chính xác khi nào giá sẽ quay trở lại mức Fibonacci.

  • Chọn điểm dừng không đúng có thể làm tăng lỗ

  • Quá lớn hay quá nhỏ sẽ ảnh hưởng đến hiệu quả của chiến lược

  • Chiến lược thất bại khi tham số không hợp lý hoặc thị trường tiếp tục theo hướng

  • Tối ưu hóa logic phán quyết của Brin, xem xét nhiều hơn các chỉ số năng lượng, điều chỉnh khu vực rút lui động và hơn thế nữa

Hướng tối ưu hóa

  • Tối ưu hóa các tham số Brin để đánh giá tốt hơn về xu hướng và kháng cự hỗ trợ

  • Tăng cường hiệu quả của tín hiệu đột phá

  • Sử dụng sự trợ giúp của máy học để xác định xác suất hồi phục

  • Kết hợp nhiều chỉ số kỹ thuật để xác nhận tín hiệu giao dịch

  • Chọn các tham số hợp lý dựa trên đặc điểm của giống và thời gian giao dịch

  • Điều chỉnh cường độ khu vực rút lui kịp thời để thích ứng với sự biến động của sự thay đổi

Tóm tắt

Chiến lược này tích hợp các lợi thế của các chỉ số tỷ lệ rút lui của Fibonacci và Fibonacci, xác định hướng xu hướng và đưa vào các điểm điều chỉnh với xác suất cao. Có thể làm giảm hiệu quả nâng cao rủi ro bằng cách tối ưu hóa tham số, tăng chỉ số xác minh, điều chỉnh khu vực rút lui động.

Mã nguồn chiến lược
/*backtest
start: 2023-08-27 00:00:00
end: 2023-09-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle="BBands Fibo", title="Bollinger Bands Fibonacci Ratios", overlay=true)

length      =   input(20, minval=1, type=input.integer, title="Length")
src         =   input(close, title="Source")
offset      =   input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
fibo1       =   input(defval=1.618, title="Fibonacci Ratio 1")
fibo2       =   input(defval=2.618, title="Fibonacci Ratio 2")
fibo3       =   input(defval=4.236, title="Fibonacci Ratio 3")

fiboBuyReverse = input(false, title = "Use Reverse Buy?")
fiboBuy       =   input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Buy")
fiboSellReverse = input(false, title = "Use Reverse Sell?")
fiboSell       =   input(options = ["Fibo 1", "Fibo 2", "Fibo 3"],defval = "Fibo 1", title="Fibonacci Sell")

sma = sma(src, length)
atr = atr(length)

ratio1 = atr * fibo1
ratio2 = atr * fibo2
ratio3 = atr * fibo3

upper3 = sma + ratio3
upper2 = sma + ratio2
upper1 = sma + ratio1

lower1 = sma - ratio1
lower2 = sma - ratio2
lower3 = sma - ratio3

plot(sma, style=0, title="Basis", color=color.orange, linewidth=2, offset = offset)

upp3 = plot(upper3, transp=90, title="Upper 3", color=color.teal, offset = offset)
upp2 = plot(upper2, transp=60, title="Upper 2", color=color.teal, offset = offset)
upp1 = plot(upper1, transp=30, title="Upper 1", color=color.teal, offset = offset)

low1 = plot(lower1, transp=30, title="Lower 1", color=color.teal, offset = offset)
low2 = plot(lower2, transp=60, title="Lower 2", color=color.teal, offset = offset)
low3 = plot(lower3, transp=90, title="Lower 3", color=color.teal, offset = offset)

fill(upp3, low3, title = "Background", color=color.new(color.teal, 95))

targetBuy = fiboBuy == "Fibo 1" ? upper1 : fiboBuy == "Fibo 2" ? upper2 : upper3
targetBuy := fiboBuyReverse == false ? targetBuy : fiboBuy == "Fibo 1" ? lower1 : fiboBuy == "Fibo 2" ? lower2 : lower3
buy = low < targetBuy and high > targetBuy

targetSell = fiboSell == "Fibo 1" ? lower1 : fiboSell == "Fibo 2" ? lower2 : lower3
targetSell := fiboSellReverse == false ? targetSell : fiboSell == "Fibo 1" ? upper1 : fiboSell == "Fibo 2" ? upper2 : upper3
sell = low < targetSell and high > targetSell

strategy.entry("Buy", true, when = buy)
strategy.entry("Sell", false, when = sell)