Chiến lược giao dịch hồi quy cân bằng dựa trên phương pháp tỷ lệ vàng của dải Bollinger


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

Chiến lược giao dịch hồi quy cân bằng dựa trên phương pháp tỷ lệ vàng của dải Bollinger

Tổng quan

Chiến lược này sử dụng đường phân chia vàng của Brin, kết hợp với phán đoán hình dạng đường bằng để thực hiện giao dịch trở lại. Khi giá chạm vào đường phân chia vàng của Brin, nó được coi là tín hiệu mua, sử dụng tính năng trở lại cân bằng của giá để kiếm lợi nhuận.

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

  1. Tính toán đường ray giữa, đường ray trên và đường ray dưới phân chia vàng của băng Brim
  • Trung đạo: trung bình chuyển động trọng lượng của chu kỳ nvwma
  • Đường lên: đường trung tâm + chênh lệch chuẩn của chu kỳ k * n
  • Vàng chia dưới đường ray: đường trung tâm - chênh lệch tiêu chuẩn 0.618 * n chu kỳ
  1. Hình thức phán đoán
  • Đường trung bình 50 ngày trên đường trung bình 200 ngày, phù hợp với xu hướng tăng
  • Giá chạm hoặc thấp hơn đường phân chia vàng, như một tín hiệu mua
  1. Thôi đi.
  • Giá trên đà Brin lên đường, cho rằng giá đã rời khỏi đường ray xuống và quay trở lại, lúc này là Hạ.
  1. Hạn chế thiệt hại
  • Thiết lập tỷ lệ dừng cố định, chẳng hạn như 5%

Lợi thế chiến lược

  1. Sử dụng vWMA thay vì SMA như một đường trung tâm của BRI, có thể phản ánh tốt hơn xu hướng di chuyển của giá cả

  2. Sự phân chia vàng là vùng hỗ trợ / kháng cự quan trọng, cung cấp cơ sở cho sự trở lại

  3. Đường trung bình đa đầu, đảm bảo xu hướng lớn lên

  4. Đặt dừng lỗ để đảm bảo kiểm soát lỗ đơn

Rủi ro chiến lược

  1. Dòng phân chia vàng không phải là một sự hỗ trợ chắc chắn, giá có thể giảm ngay lập tức

  2. Lệnh dừng cố định có thể quá ngẫu nhiên, nên xem xét điều chỉnh theo biến động thị trường

  3. Một chuỗi đa đầu trung bình cũng có thể là một đột phá giả, nên kết hợp với nhiều chỉ số hơn để đánh giá

  4. Độ dài quay trở lại không chắc chắn, cần thiết lập điểm dừng hợp lý

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

  1. Có thể thử nghiệm các kết hợp các tham số khác nhau như chu kỳ băng tần Brin, số lần chênh lệch tiêu chuẩn, tỷ lệ dừng cố định

  2. Có thể thêm nhiều chỉ số để đánh giá xu hướng thị trường và xác suất trở lại, như MACD, KD và nhiều hơn nữa

  3. Có thể xem xét dừng động, dừng theo ATR hoặc dừng theo dõi

  4. Có thể tối ưu hóa các chiến lược ngăn chặn, như di chuyển ngăn chặn, ngăn chặn hàng loạt

Tóm tắt

Chiến lược này sử dụng đường phân chia vàng của Brin để giao dịch quay trở lại cân bằng, có các ưu điểm như logic giao dịch rõ ràng, thiết lập tham số đơn giản, có thể kiểm soát được. Nhưng cũng có một số rủi ro, cần thử nghiệm và tối ưu hóa thêm, thêm nhiều công cụ đánh giá chỉ số kỹ thuật và dừng / dừng để áp dụng thực tế. Nhìn chung, chiến lược này cung cấp một cách suy nghĩ để sử dụng quy tắc phân chia vàng để giao dịch định lượng, đáng để khám phá thêm.

Mã nguồn chiến lược
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
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/
// © mohanee

//@version=4

strategy(title="Bollinger Band with Fib Golden Ratio (0.618)",  shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  

length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)

stopLoss=input(5,title="Stop Loss",minval=1)

basis = vwma(src1, length)
dev = mult * stdev(src1, length)

//dev3 = mult3 * stdev(src, length)

upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)

//lower_618_dev3= basis - (0.618*dev3)



plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles,  linewidth=2)

plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")

//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")

ema200=ema(close,200)
ema50=ema(close,50)

plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)


longCondition= ema50 > ema200

strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618  or  low <= lower_618)  )

strategy.close(id="BB_Fib618",  comment="points="+tostring(close - strategy.position_avg_price,  "###.##") , when = strategy.position_size >= 1  and crossover(close,upper_618 )) 

//stoploss exit
stopLossVal = strategy.position_size>=1 ?  strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price,  "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )