Chiến lược phá vỡ băng tần kép là một chiến lược theo dõi xu hướng. Nó sử dụng đường ray lên xuống của băng tần để xác định xu hướng giá, và thiết lập vị trí đa đầu khi giá phá vỡ băng tần bên trong và đóng cửa khi giá rơi xuống băng tần bên ngoài.
Chiến lược này đầu tiên tính toán đường trung bình và chênh lệch tiêu chuẩn trong khoảng thời gian được chỉ định, xây dựng một dải sóng đôi bằng cách điều chỉnh giá trị chênh lệch tiêu chuẩn. Dải sóng bên trong được tạo thành từ đường trung bình dương tính với một chênh lệch tiêu chuẩn, và dải sóng bên ngoài được tạo thành từ đường trung bình dương tính với 1,5 chênh lệch tiêu chuẩn.
Khi giá phá vỡ đường đua nội bộ, cho rằng thị trường bắt đầu thị trường bò, do đó làm nhiều; khi giá rơi xuống đường đua nội bộ, cho rằng thị trường bắt đầu thị trường gấu, do đó làm trống.
Điều kiện dừng sau khi tăng là giá giảm xuống đường ray bên ngoài. Điều kiện dừng sau khi giảm là giá phá vỡ đường ray bên ngoài.
Chiến lược này đồng thời thiết lập các cơ chế thoát như dừng, dừng lỗ và theo dõi lỗ.
Chiến lược phá vỡ băng tần có những lợi thế sau:
Chiến lược phá vỡ băng tần đôi cũng có một số rủi ro:
Đối với các rủi ro trên, các tham số có thể được điều chỉnh thích hợp, hoặc kết hợp với các chỉ số khác để lọc, hoặc giám sát bằng tay hiệu quả của đột phá, giảm nguy cơ.
Chiến lược phá vỡ băng tần đôi có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược phá vỡ băng tần đôi là một chiến lược theo dõi xu hướng điển hình hơn bằng cách đánh giá sự thay đổi vị trí của giá so với băng tần, và tạo tín hiệu giao dịch khi được chọn. Chiến lược này sử dụng khu vực lợi nhuận của băng tần đôi và thiết lập cơ chế thoát hiểm khoa học để kiểm soát rủi ro, có thể đạt được hiệu quả tốt hơn khi các tham số được tối ưu hóa và kiểm soát rủi ro.
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("BB Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=100, overlay=true)
l=input(title="length",defval=100)
pbin=input(type=float,step=.1,defval=.25)
pbout=input(type=float,step=.1,defval=1.5)
ma=sma(close,l)
sin=stdev(ma,l)*pbin
sout=stdev(ma,l)*pbout
inu=sin+ma
inb=-sin+ma
outu=sout+ma
outb=-sout+ma
plot(inu,color=lime)
plot(inb,color=lime)
plot(outu,color=red)
plot(outb,color=yellow)
inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0)
inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)
useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na
useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na
useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na
useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na
longCondition = close>inu and rising(outu,1)
exitlong = (open[1]>outu and close<outu) or crossunder(close,ma)
shortCondition = close<inb and falling(outb,1)
exitshort = (open[1]<outb and close>outb) or crossover(close,ma)
strategy.entry(id = "Long", long=true, when = longCondition)
strategy.close(id = "Long", when = exitlong)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong)
strategy.entry(id = "Short", long=false, when = shortCondition)
strategy.close(id = "Short", when = exitshort)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)