Chiến lược giao dịch đảo ngược đột phá dải Bollinger


Ngày tạo: 2024-03-08 14:08:53 sửa đổi lần cuối: 2024-03-08 14:08:53
sao chép: 2 Số nhấp chuột: 654
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch đảo ngược đột phá dải Bollinger

Tổng quan

Chiến lược này dựa trên các chỉ số Bollinger Bands, và ý tưởng chính là chờ đợi giá vượt qua Bollinger Bands để quay trở lại bên trong Bollinger Bands, sau đó xây dựng một vị trí giống với hướng phá vỡ tại điểm quay trở lại. Chiến lược này sử dụng đặc điểm của giá thường xuyên đảo ngược ở khu vực cực đoan để nắm bắt các điểm biến đổi của thị trường bằng cách kết hợp các điều kiện phá vỡ và quay trở lại Bollinger Bands, với hy vọng có tỷ lệ thắng cao hơn.

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

  1. Tính trung tâm, trên và dưới của dải Brin. Trung tâm là trung bình di chuyển, trên và dưới là trung tâm cộng trừ một số chênh lệch chuẩn.
  2. Xác định liệu giá có phá vỡ đường đua lên hoặc xuống của Brin. Nếu giá đóng cửa vượt qua đường đua lên, thì được coi là phá vỡ lên; Nếu giá đóng cửa rơi xuống đường đua, thì được coi là phá vỡ xuống.
  3. Nếu xảy ra đột phá lên, hãy ghi giá cao nhất của đường K là đỉnh. Nếu xảy ra đột phá xuống, hãy ghi giá thấp nhất của đường K là đỉnh. đỉnh được sử dụng để xác định sau đó liệu giá có quay trở lại hay không.
  4. Sau khi phá vỡ, chờ đợi giá quay trở lại bên trong vùng Brin. Nếu giá đóng cửa tại thời điểm này nằm giữa đường ray trên và đường ray dưới, giá được coi là đã quay trở lại.
  5. Trong một đợt quay trở lại, nếu một đường K trước đó là một đường phá vỡ[1]and inside), thì mở đa đầu; nếu đường K trước là breakdown[1]Và bên trong), thì mở đầu rỗng.
  6. Quản lý vị trí: Nếu nhiều người nắm giữ vị trí, giá đóng cửa trên đường trung đạo, thì bằng phẳng; Nếu người nắm giữ vị trí trống, giá đóng cửa dưới đường trung đạo, thì bằng phẳng.

Phân tích lợi thế

  1. Brin có khả năng thích ứng mạnh mẽ, có thể điều chỉnh động theo biến động giá, rất hữu ích để nắm bắt xu hướng và biến động.
  2. So với chiến lược đột phá đơn thuần của Brin, điều kiện trở lại được tăng lên, có thể tránh theo đuổi cao và giảm xuống một cách nhất định, nâng cao chất lượng ra sân.
  3. Các điều kiện giao dịch bằng phẳng được sử dụng để tham khảo, đơn giản và dễ sử dụng để bảo vệ lợi nhuận tốt hơn.
  4. Bạn có thể tùy chỉnh các tham số của băng Brin, chẳng hạn như chiều dài, độ lệch nhân và nhiều hơn nữa.

Phân tích rủi ro

  1. Chọn không đúng các tham số của vòng Brin có thể dẫn đến việc chơi quá sớm hoặc quá muộn, ảnh hưởng đến hiệu suất chiến lược. Điều này có thể được giảm bớt bằng cách tối ưu hóa các tham số.
  2. Giá có thể bị giảm thường xuyên khi giá dao động gần vùng Brin, làm tăng chi phí giao dịch.
  3. Nếu xu hướng mạnh, giá sẽ không quay trở lại bên trong vùng Brin trong một thời gian dài và có thể mất lợi nhuận theo xu hướng.
  4. Chỉ sử dụng chỉ số Brin có thể không hiệu quả đối với một số giống hoặc trong một số trường hợp, cần phải kết hợp với các tín hiệu khác.

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

  1. Có thể xem xét thêm các điều kiện lọc, chẳng hạn như giá sẽ hoạt động ở trên đường Brin một thời gian và phá vỡ một cách đáng tin cậy hơn, hoặc các chỉ số đánh giá xu hướng như góc MA, ADX được sử dụng để đánh giá hỗ trợ.
  2. Trong trường hợp xảy ra động đất, bạn có thể tăng giá giới hạn và đồng hồ để tránh đặt hàng mù quáng.
  3. Trong trường hợp không có tiền, bạn có thể kết hợp ATR hoặc đường trung bình để kiểm soát thời gian ra sân.
  4. Tối ưu hóa tham số và phân tích đặc điểm cho các chỉ số và chu kỳ khác nhau, chọn chỉ số và chu kỳ giao dịch phù hợp.
  5. Bạn có thể xem xét thêm quản lý vị trí, như tăng vị trí khi tỷ lệ biến động thu hẹp và giảm vị trí khi tỷ lệ biến động tăng lên.

Tóm tắt

Chiến lược giao dịch quay trở lại đột phá của Brin là một chiến lược giao dịch định lượng đơn giản và thực tế. Nó sử dụng phản ứng của giá đối với tình huống cực đoan, xây dựng điều kiện mở lỗ bằng công cụ Brin, có thể bắt đầu và kết thúc xu hướng, kiểm soát giao dịch thường xuyên.

Mã nguồn chiến lược
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-27 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(shorttitle="BB", title="Bollinger Bands", overlay=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(1.7, minval=0.001, maxval=50, title="StdDev")

ma(source, length, _type) =>
    switch _type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))

break_up = close > upper
break_down = close < lower
inside = close > lower and close < upper

sell_condition = break_up[1] and inside
buy_condition = break_down[1] and inside

// Conditions to close trades
close_sell_condition = close > basis
close_buy_condition = close < basis

trade_condition = sell_condition or buy_condition

// Tracking the high of the breakout candle
var float peak = na

if (not trade_condition)
    peak := close
if (break_up and peak < high)
    peak := high
if (break_down and peak > low)
    peak := low

// Entering positions
if (buy_condition)
    strategy.entry("Buy", strategy.long)
if (sell_condition)
    strategy.entry("Sell", strategy.short)

// Exiting positions when close crosses the basis
if (strategy.position_size > 0 and close_sell_condition) // If in a long position and close crosses above basis
    strategy.close("Buy")
if (strategy.position_size < 0 and close_buy_condition) // If in a short position and close crosses below basis
    strategy.close("Sell")