Chiến lược giao dịch tần số cao dựa trên dải Bollinger

Tác giả:ChaoZhang, Ngày: 2023-12-21 15:37:07
Tags:

img

Tổng quan

Chiến lược này thực hiện một chiến lược giao dịch tần số cao dựa trên chỉ số Bollinger Bands. Nó xác định các dải Bollinger trên và dưới bằng cách tính lệch chuẩn và trung bình động của giá. Khi giá chạm vào dải giữa, các giao dịch dài hoặc ngắn được thực hiện. Mỗi giao dịch đầu tư toàn bộ vốn với phạm vi lợi nhuận 0,5%.

Chiến lược logic

Chiến lược này sử dụng chỉ số Bollinger Bands để xác định giá đã đạt mức mua quá mức hoặc bán quá mức. Các dải bao gồm dải trên, dải dưới và dải giữa. Dải giữa là một đường trung bình di chuyển đơn giản của giá n ngày. Dải trên là dải giữa cộng với k lần độ lệch chuẩn n ngày của giá. Dải dưới là dải giữa trừ k lần độ lệch chuẩn. k thường được đặt là 2. Khi giá đến dải trên, nó chỉ ra mua quá mức. Khi giá đến dải dưới, nó chỉ ra bán quá mức.

Chiến lược này thiết lập thời gian Bollinger là 20 ngày và k là 2. Khi giá chạm vào dải giữa, nó báo hiệu giá quay trở lại từ các khu vực cực đoan, tạo ra tín hiệu giao dịch.

Khi nhập vào các vị trí, tất cả vốn được đầu tư (bao gồm vốn chủ sở hữu và lợi nhuận / lỗ thay đổi). Một phạm vi lợi nhuận lấy 0,5% sau đó được thiết lập. Khi giá vượt quá 0,5%, các vị trí được đóng để kiếm lợi nhuận.

Phân tích lợi thế

Những lợi thế của chiến lược này là:

  1. Sử dụng Bollinger Bands để xác định tín hiệu giao dịch hiệu quả hơn trong việc phát hiện cực đoan hơn so với các đường trung bình động đơn giản.

  2. Cách tiếp cận tần số cao nhanh chóng đạt được lợi nhuận trong các chu kỳ giao dịch ngắn.

  3. Đầu tư toàn bộ vốn tối đa hóa lợi nhuận tiềm năng.

  4. Thiết lập phạm vi lợi nhuận có hiệu quả quản lý rủi ro và khóa lợi nhuận.

Phân tích rủi ro

Một số rủi ro cũng tồn tại:

  1. Bollinger Bands rất nhạy cảm với các thông số đầu vào.

  2. Giao dịch tần số cao đòi hỏi giao dịch không phí, nếu không phí sẽ làm xói mòn lợi nhuận.

  3. Đầu tư toàn bộ vốn là rủi ro, sự kiện thiên nga đen có thể gây ra tổn thất lớn.

  4. Một phạm vi lợi nhuận chặt chẽ làm tăng tần suất giao dịch và sự phức tạp của hoạt động.

Giải pháp:

  1. Tối ưu hóa các thông số Bollinger để tìm các thiết lập lý tưởng.

  2. Sử dụng sàn giao dịch không phí như Binance Spot.

  3. Đặt dừng lỗ để giới hạn lỗ tối đa.

  4. Mở rộng phạm vi lợi nhuận để giảm tần suất giao dịch.

Tối ưu hóa

Chiến lược này có thể được cải thiện bằng cách:

  1. Thêm các chỉ số khối lượng như On Balance Volume để lọc giả mạo.

  2. Tối ưu hóa các thông số Bollinger để tìm kết hợp tốt nhất.

  3. Sử dụng phạm vi dừng lỗ thích nghi và lấy lợi nhuận. Ví dụ, mở rộng phạm vi khi giao dịch hoặc thắng tích lũy.

  4. Kết hợp các mô hình học máy để dự đoán tín hiệu mua / bán.

  5. Tránh giao dịch xung quanh các sự kiện lớn như báo cáo thu nhập dựa trên các nguyên tắc cơ bản.

Kết luận

Đây là một chiến lược tần số cao sử dụng Bollinger Bands để tạo tín hiệu, kích thước vị trí đầy đủ và lợi nhuận nhỏ. Nó có lợi thế về lợi nhuận nhưng cũng có những điểm yếu như độ nhạy cảm của tham số và kiểm soát rủi ro. Những cải tiến hơn nữa có thể đến từ việc tăng cường các chỉ số, dừng thích nghi, học máy và nhiều hơn nữa để làm cho chiến lược mạnh mẽ hơn.


/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia Bollinger Bands", shorttitle="BB Strategy", overlay=true)

// Parámetros de las Bandas de Bollinger
length = input(20, title="Longitud")
mult = input(2.0, title="Multiplicador")

// Calcula las Bandas de Bollinger
basis = ta.sma(close, length)
upper_band = basis + mult * ta.stdev(close, length)
lower_band = basis - mult * ta.stdev(close, length)

// Condiciones para realizar operaciones
price_touches_basis_up = ta.crossover(close, basis)
price_touches_basis_down = ta.crossunder(close, basis)

// Monto inicial de inversión
monto_inicial = 10

// Lógica de la estrategia
if (price_touches_basis_up)
    qty = strategy.equity + strategy.netprofit // Invertir el total del capital más las ganancias en cada operación
    direction = close > basis ? strategy.long : strategy.short
    strategy.entry("Operacion", direction, qty = 1)

// Lógica para cerrar la operación con un movimiento del 0.5% (take profit)
target_profit = 0.005 // Actualizado a 0.5%

if (strategy.position_size != 0)
    direction = strategy.position_size > 0 ? strategy.long : strategy.short
    strategy.exit("Take Profit/Close", from_entry = "Operacion", profit = close * (1 + target_profit))

// Dibuja las Bandas de Bollinger en el gráfico
plot(upper_band, color=color.blue, title="Upper Band")
plot(lower_band, color=color.red, title="Lower Band")
plot(basis, color=color.green, title="Basis")

// Muestra el monto inicial de inversión en la barra del título
var label lbl = label.new(na, na, "")
label.set_text(lbl, "Monto Inicial: $" + str.tostring(monto_inicial, "#.########"))
label.set_xy(lbl, bar_index, low)
label.set_color(lbl, color.new(color.blue, 0))


Thêm nữa