Chiến lược kiểm tra lại dải Bollinger dựa trên đường trung bình động cho các nhà giao dịch theo xu hướng


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

Chiến lược kiểm tra lại dải Bollinger dựa trên đường trung bình động cho các nhà giao dịch theo xu hướng

Tổng quan

Ý tưởng chính của chiến lược này là sử dụng đường trung bình di chuyển và dải Brin để đánh giá xu hướng giá và tạo ra tín hiệu giao dịch. Cụ thể, trước tiên tính toán phạm vi biến động thực tế trung bình ATR trong một chu kỳ nhất định, sau đó kết hợp giá cao nhất và giá thấp nhất để có được kênh giới hạn. Nếu giá phá vỡ kênh, hãy để giá đóng cửa bằng giá trong kênh.

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

Chiến lược này đầu tiên tính toán phạm vi biến động ATR, sau đó kết hợp với giá cao nhất và giá thấp nhất, để có được kênh giới hạn. Giá gần sẽ chỉ bị giới hạn trong giá kênh khi giá phá vỡ kênh. Sau đó, giá gần bị giới hạn sẽ tìm kiếm đường trung bình di chuyển, đường trung bình này được gọi là đường trung bình của người giao dịch xu hướng.

Trọng tâm của chiến lược này là định hướng xu hướng theo trung bình của các nhà giao dịch xu hướng, nó thể hiện hướng xu hướng trung và dài hạn. Phương thức của dây đai Brin là lọc một số phá vỡ giả, làm cho tín hiệu giao dịch đáng tin cậy hơn. Toàn bộ chiến lược kết hợp theo dõi xu hướng và đánh giá phá vỡ, tạo thành một hệ thống xu hướng mạnh mẽ hơn.

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

  1. Sử dụng ATR kết hợp với giá cao nhất và thấp nhất để tạo ra một kênh để theo dõi hiệu quả biến động thị trường
  2. Trendy Trader Average Trendy Trendy Trader Average Trendy Trader Average Trendy Trader Average
  3. Brin đã tạo ra một đột phá giả để cải thiện chất lượng tín hiệu.
  4. Toàn bộ hệ thống phản ánh xu hướng mạnh mẽ, có lợi nhuận tốt trong thời gian dài

Rủi ro chiến lược

  1. Trong trường hợp giữ trong thời gian trung bình hoặc dài hạn, có thể gặp phải sự cố bất ngờ gây thiệt hại lớn.
  2. Thiết lập tham số không đúng có thể dẫn đến giao dịch thường xuyên, tăng phí giao dịch và mất điểm trượt
  3. Hiệu ứng có liên quan cao đến thiết lập tham số, cần điều chỉnh để tìm tham số tối ưu

Phản ứng:

  1. Có thể rút ngắn thời gian giữ vị thế một cách thích hợp, dừng lỗ kịp thời
  2. Các tham số tối ưu hóa để tín hiệu có một bộ đệm
  3. Sử dụng dữ liệu lịch sử và tham số tối ưu hóa ổ cứng

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

  1. Nghiên cứu chi tiết hơn về các thiết lập tham số chu kỳ khác nhau cho các thị trường khác nhau
  2. Thử nghiệm có thể thêm các chỉ số khác để lọc các đột phá giả
  3. Cố gắng kết hợp chiến lược dừng lỗ để kiểm soát tổn thất đơn lẻ

Tóm tắt

Chiến lược này nói chung là một hệ thống theo dõi xu hướng mạnh mẽ. Nó có thể đánh giá xu hướng thị trường trên đường dài và trung bình và tạo ra tín hiệu giao dịch kết hợp với dải Brin.

Mã nguồn chiến lược
/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/10/2018
// This is plots the indicator developed by Andrew Abraham 
// in the Trading the Trend article of TASC September 1998  
// It was modified, result values wass averages.
// And draw two bands above and below TT line.
////////////////////////////////////////////////////////////
strategy(title="Trend Trader Bands Backtest", overlay = true)
Length = input(21, minval=1),
LengthMA = input(21, minval=1),
BandStep = input(20),
Multiplier = input(3, minval=1)
reverse = input(false, title="Trade reverse")
avgTR      = wma(atr(1), Length)
highestC   = highest(Length)
lowestC    = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = 0.0
ret :=  iff(close > hiLimit and close > loLimit, hiLimit,
         iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
nResMA = ema(ret, LengthMA)        
pos = 0.0
pos := iff(close < nResMA - BandStep , -1,
       iff(close > nResMA + BandStep, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(nResMA, color= blue , title="Trend Trader AVR")
plot(nResMA+BandStep, color= red , title="Trend Trader UpBand")
plot(nResMA-BandStep, color= green, title="Trend Trader DnBand")