Chiến lược theo dõi xu hướng lưới trung bình động Bollinger Band nâng cao


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

Chiến lược theo dõi xu hướng lưới trung bình động Bollinger Band nâng cao

Tổng quan

Chiến lược này được gọi là chiến lược theo dõi xu hướng lưới trục trục cao cấp. Nó là một chiến lược sử dụng trục trục trục trục trục trục trục trục để xác định xu hướng và thiết lập theo dõi lưới theo hướng xu hướng.

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

Ý tưởng chính của chiến lược này là:

  1. Sử dụng dải Brin để đánh giá phạm vi biến động thị trường hiện tại. Dải Brin trung bình là đường trung bình di chuyển đơn giản n ngày, dải rộng là ATR trung bình n ngày.

  2. Bốn đường bên ngoài của vùng Brin đều là các đường biến động thực tế trung bình kỳ lạ. Chiến lược xây dựng vị trí giữ khi phá vỡ các đường cấp khác nhau.

  3. Đường trung bình EMA nhanh chóng đánh giá xu hướng của chu kỳ lớn. Khi chu kỳ lớn có nhiều đầu, chỉ làm nhiều đầu, đầu trống ngược lại.

  4. Trong xu hướng theo dõi vị trí xây dựng, xuất hiện đường K hình kim khi vị trí dừng.

Cụ thể, chiến lược này bao gồm các phần chính như:

  1. Xác định tham số băng tần Brinh, đường trung tâm của Brinh là đường trung bình SMA n ngày, băng tần Brinh là ATR n ngày. Trong chiến lược, chiều dài Brinh là 20

  2. Bốn đường mở rộng ngoài Brin được thiết lập, với độ dao động thực tế trung bình lần lượt là 1.236 lần, 2.382 lần, 3.618 lần và 4.236 lần.

  3. Thiết lập đường trung bình EMA nhanh chậm để xác định xu hướng chu kỳ lớn, đường nhanh dài 25 ngày, đường chậm dài 200 ngày.

  4. Trong một chu kỳ lớn, khi giá phá vỡ bốn đường trung bình bên dưới, các nhà đầu tư liên tục tạo ra các vị trí nhiều đầu.

  5. Khi có một đường K hình kim hoặc giá vượt qua đường trung bình chu kỳ lớn một lần nữa, hãy coi đó là tín hiệu kết thúc hình kim, dừng vị trí bằng phẳng.

Đây là những nguyên tắc kỹ thuật chính của chiến lược này. Xác định phạm vi biến động hiện tại thông qua các băng tần Brin, theo dõi việc tạo vị trí theo xu hướng chu kỳ lớn, và cuối cùng đạt được hiệu quả của việc giữ vị trí có xác suất cao.

Phân tích lợi thế chiến lược

Chiến lược này có một số ưu điểm:

  1. Tận dụng đầy đủ các đặc điểm của xu hướng, định hướng xu hướng của chu kỳ lớn, đặt hàng theo hướng xu hướng, có thể giảm hoạt động đảo ngược không cần thiết.

  2. Sử dụng nhiều cấp Brinline, có thể đánh giá rõ hơn các khu vực hiện tại biến động, có lợi cho việc nắm bắt hầu hết các tình huống.

  3. Phương pháp giữ vị trí lưới có thể phân phối rủi ro cho mỗi đơn vị tiền một cách đồng đều, do đó mang lại lợi nhuận ổn định.

  4. Sử dụng đường K hình kim hiệu quả, tín hiệu được cân bằng, có thể nhanh chóng dừng.

  5. Chiến lược tổng thể thực hiện sự ba chiều của phán đoán xu hướng, nắm giữ lưới, và tín hiệu cụ thể, là một chiến lược định lượng hoàn chỉnh tương đối trưởng thành.

Phân tích rủi ro chiến lược

Chiến lược này cũng có một số rủi ro:

  1. Khả năng nhận định sai lầm của xu hướng chu kỳ lớn. Đường trung bình chậm có một xác suất sai sót nhất định, có thể dẫn đến hoạt động đảo ngược không cần thiết.

  2. Tỷ lệ thất bại của đường bạch tuộc. Đường bạch tuộc không thể dự đoán 100% đường dẫn của giá.

  3. Tín hiệu K-line được phát ra muộn và không thể dừng lại kịp thời.

  4. Trong quá trình điều chỉnh, có thể có quá nhiều sự chồng chéo.

Các giải pháp tương ứng là:

  1. Điều chỉnh các tham số đường trung bình một cách chậm để giảm tỷ lệ sai sót.

  2. Chuyển đổi tham số Brinline để làm cho Brinline càng gần với hầu hết các biến động.

  3. Thử nghiệm các tín hiệu dừng hình thức cụ thể nhạy cảm hơn.

  4. Tăng khoảng cách, kiểm soát quy mô.

Hướng tối ưu hóa chiến lược

Chiến lược này có thể được tối ưu hóa theo các hướng sau:

  1. Kiểm tra các tham số đường trung bình khác nhau để tối ưu hóa xu hướng chu kỳ lớn. Ví dụ: kiểm tra các chỉ số khác như EMA, RSI.

  2. Kiểm tra các tham số ATR khác nhau để tối ưu hóa thiết lập chiều rộng đường Boolin. Làm cho dải Boolin gần hơn với biến động thực tế.

  3. Kiểm tra các tín hiệu dừng hiệu quả khác. Ví dụ: SAR, đường cân bằng Kallmann.

  4. Tối ưu hóa khoảng cách lưới. Làm cho các khu vực dao động được phân chia đồng đều hơn, giảm việc xây dựng nhà kho lặp lại.

  5. Tăng cơ chế ngăn chặn thiệt hại.

Tóm tắt

Chiến lược này kết hợp các phương tiện kỹ thuật như đường băng tròn, chỉ số đường thẳng, hình dạng đường K cụ thể. Trong giả định của xu hướng chu kỳ lớn, chiến lược lưới lưới tròn tròn được xây dựng theo kiểu theo dõi xu hướng. So với phá vỡ băng tròn truyền thống, chiến lược này kết hợp với phán đoán đặc điểm xu hướng, có thể giảm bớt việc xây dựng vị trí ngược không cần thiết, trong khi cách giữ vị trí lưới làm cho mỗi đơn vị tài chính rủi ro phân tán, do đó mang lại lợi nhuận ổn định.

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

//@version=5
strategy("fib trend grid@Aa", overlay=true)

//回测时间
useDateFilter=input.bool(true,title = "启用回测时间范围限定(backtest)", group = "回测范围(backtest)")
backtesStarDate=input(timestamp("1 Jan 2015"),title = "开始时间(Start)", group = "回测范围(backtest)")
backtestEndDate=input(timestamp("1 Jan 2040"),title = "结束时间(finish)",group = "回测范围(backtest)")
inTradeWindow=true


//入场位 entry
bolllen=input.int(defval=20,minval=1,title="布林长度,(boll length)",group = "入场位(entry)")
sma=ta.sma(close,bolllen)
avg=ta.atr(bolllen)
fib1=input(defval=1.236,title="Fib 1",group = "入场位(entry)")
fib2=input(defval=2.382,title="Fib 2",group = "入场位(entry)")
fib3=input(defval=3.618,title="fib 3",group = "入场位(entry)")
fib4=input(defval=4.236,title="Fib 4",group = "入场位(entry)")
r1=avg*fib1
r2=avg*fib2
r3=avg*fib3
r4=avg*fib4
top4=sma+r4
top3=sma+r3
top2=sma+r2
top1=sma+r1
bott1=sma-r1
bott2=sma-r2
bott3=sma-r3
bott4=sma-r4



//趋势 plot

t4=plot(top4,title="卖 (sell)4",color=color.rgb(244, 9, 9))
t3=plot(top3,title = "卖(sell) 3",color=color.rgb(211, 8, 8))
t2=plot(top2,title="卖 (sell)2",color=color.rgb(146, 13, 13))
t1=plot(top1,title="卖(sell) 1",color=color.rgb(100, 3, 3))

b1=plot(bott1,title="买(buy1)1",color=color.rgb(4, 81, 40))
b2=plot(bott2,title="买(buy)2",color=color.rgb(15, 117, 46))
b3=plot(bott3,title = "买(buy)3",color =color.rgb(8, 176, 42) )
b4=plot(bott4,title="买(buy)4",color=color.rgb(15, 226, 103))
plot(sma,style=plot.style_cross,title="SMA",color=color.rgb(47, 16, 225))

//趋势
LengthF=input(defval = 25,title = "快线长度(fastlength)")
LengthS=input(defval=200,title = "慢线长度(slowlength)")
emaF=ta.ema(close,LengthF)
smaS=ta.sma(close,LengthS)
longTrend=emaF>smaS
longb=ta.crossover(emaF,smaS)
bgcolor(longb ? color.new(color.green,40):na,title = "多头强势(bull trend)")
shortTrend=smaS>emaF
shortb=ta.crossunder(emaF,smaS)
bgcolor(shortb ? color.new(#951313, 40):na,title = "空头强势(bear trend)")

//pinbar
bullPinBar = ((close > open) and ((open - low) > 0.6* (high - low))) or ((close < open) and ((close - low) > 0.9 * (high - low)))
//plotshape(bullPinBar  , text ="pinbar", textcolor=color.rgb(9, 168, 144),location=location.belowbar, color=color.rgb(29, 103, 67), size=size.tiny)
bearPinBar = ((close > open) and ((high - close) > 0.7 * (high - low))) or ((close < open) and ((high - open) > 0.7 * (high - low)))
//plotshape(bearPinBar  , text ="pinbar", textcolor=color.rgb(219, 12, 12),location=location.abovebar, color=color.rgb(146, 7, 7), size=size.tiny)

buy1=ta.crossunder(close,bott1) and longTrend and close>ta.ema(close,100)
buy2=ta.crossunder(close,bott2) and longTrend 
buy3=ta.crossunder(close,bott3) and longTrend 
buy4=ta.crossunder(close,bott4) and longTrend 
buyclose=bearPinBar or ta.crossunder(close,smaS)




if buy2 or buy3 or buy4 or buy1 and inTradeWindow
    strategy.order("多(buy)",strategy.long)

if buyclose  and inTradeWindow
    strategy.close("多(buy)")

sell1=ta.crossover(close,top1) and shortTrend and close<ta.ema(close,200)
sell2=ta.crossover(close,top2) and shortTrend and close<ta.ema(close,200)
sell3=ta.crossover(close,top3) and shortTrend and close<ta.ema(close,200)
sell4=ta.crossover(close,top4) and shortTrend and close<ta.ema(close,200)
sellclose=bullPinBar or ta.crossover(close,ta.sma(close,220))

if  sell1 or sell2 or sell3 or sell4 and inTradeWindow
    strategy.order("空(sell)",strategy.short)

if sellclose  and inTradeWindow
    strategy.close("空(sell)")