Chiến lược đột phá dải BB MACD

MACD EMA BB SMA
Ngày tạo: 2024-04-25 17:16:28 sửa đổi lần cuối: 2024-04-25 17:16:28
sao chép: 0 Số nhấp chuột: 1022
1
tập trung vào
1617
Người theo dõi

Chiến lược đột phá dải BB MACD

Tổng quan

Chiến lược phá vỡ dải MACD BB là một chiến lược giao dịch dựa trên chỉ số MACD và chỉ số Bollinger Bands. Chiến lược này sử dụng chỉ số MACD để nắm bắt xu hướng ngắn hạn của thị trường và đồng thời sử dụng chỉ số Bollinger Bands để xác định khu vực mua và bán quá mức của thị trường.

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

Các nguyên tắc của chiến lược phá vỡ dải MACD BB như sau:

  1. Tính toán chỉ số MACD: Tính toán chỉ số MACD bằng cách sử dụng đường trung bình di chuyển nhanh (EMA) và đường trung bình di chuyển chậm (EMA).
  2. Tính toán dải Brin: Sử dụng đường trung bình di chuyển đơn giản của chỉ số MACD (SMA) và chênh lệch tiêu chuẩn để tính toán dải Brin trên đường và dưới đường.
  3. Tín hiệu đa đầu: Chiến lược mở nhiều lệnh khi chỉ số MACD phá vỡ đường dẫn của Brin.
  4. Tín hiệu trống: Chiến lược mở thẻ trống khi chỉ số MACD phá vỡ đường dẫn xuống của Brin.
  5. Stop Loss: Chiến lược có thể đặt Stop Loss và Stop Loss phần trăm để quản lý rủi ro giao dịch.

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

  1. Thu hẹp xu hướng: Chỉ số MACD có thể nắm bắt hiệu quả xu hướng ngắn hạn của thị trường, cho phép chiến lược giao dịch trong giai đoạn đầu của xu hướng.
  2. Tính năng biến động: Chỉ số Bollinger Bands tính đến sự biến động của giá, giúp chiến lược tránh các tín hiệu giao dịch sai khi thị trường biến động.
  3. Tính linh hoạt của tham số: Các tham số của chiến lược, chẳng hạn như chu kỳ đường nhanh và chậm của MACD, chu kỳ của Brin và số lần chênh lệch chuẩn, có thể được điều chỉnh tối ưu hóa theo đặc điểm của thị trường.

Rủi ro chiến lược

  1. Mức độ rủi ro: Chiến lược giao dịch ở giai đoạn đầu của xu hướng có thể có nguy cơ rút lui lớn hơn.
  2. Giao dịch thường xuyên: Nếu các tham số được thiết lập không đúng cách, chiến lược có thể tạo ra quá nhiều tín hiệu giao dịch, dẫn đến giao dịch thường xuyên và chi phí giao dịch cao.
  3. Tối ưu hóa tham số: Hiệu suất của chiến lược phụ thuộc vào sự lựa chọn tham số, tham số không phù hợp có thể dẫn đến hiệu suất chiến lược kém.

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

  1. Xác nhận xu hướng: Sau khi tạo ra tín hiệu giao dịch, có thể kết hợp với các chỉ số khác hoặc hành vi giá để xác nhận tính hiệu quả của xu hướng, để lọc ra một số tín hiệu sai.
  2. Hạn chế động lực: Điều chỉnh vị trí dừng động theo biến động thị trường hoặc hành vi giá để kiểm soát rủi ro tốt hơn.
  3. Tự điều chỉnh tham số: Điều chỉnh tùy chỉnh tham số chiến lược để phù hợp với các điều kiện thị trường khác nhau thông qua học máy hoặc thuật toán tối ưu hóa.

Tóm tắt

Chiến lược phá vỡ dải MACD BB bằng cách kết hợp chỉ số MACD và chỉ số Bollinger Bands để giao dịch trong giai đoạn đầu của sự hình thành xu hướng. Ưu điểm của chiến lược là có thể nắm bắt xu hướng ngắn hạn và tính đến biến động giá, nhưng cũng phải đối mặt với rủi ro độ lớn, giao dịch thường xuyên và thách thức tối ưu hóa tham số.

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

//@version=5
//AK MACD BB 
strategy("AK MACD BB strategy", overlay = true)

// Inputs for TP and SL
tp_percent = input.float(1.0, title="Take Profit %") / 100
sl_percent = input.float(1.0, title="Stop Loss %") / 100

length = input.int(10, minval=1, title="BB Periods")
dev = input.float(1, minval=0.0001, title="Deviations")

//MACD
fastLength = input.int(12, minval=1, title="fastLength") 
slowLength=input.int(26,minval=1)
signalLength=input.int(9,minval=1)
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)
macd = fastMA - slowMA

//BollingerBands

Std = ta.stdev(macd, length)
Upper = (Std * dev + (ta.sma(macd, length)))
Lower = ((ta.sma(macd, length)) - (Std * dev))


Band1 = plot(Upper, color=color.gray, style=plot.style_line, linewidth=2,title="Upper Band")
Band2 = plot(Lower, color=color.gray, style=plot.style_line, linewidth=2,title="lower Band")
fill(Band1, Band2, color=color.blue, transp=75,title="Fill")

mc = macd >= Upper ? color.lime:color.red

// Indicator

plot(macd, color=mc, style =plot.style_circles,linewidth = 3, title="macd")
zeroline = 0 
plot(zeroline,color= color.orange,linewidth= 2,title="Zeroline")

//buy
barcolor(macd >Upper ? color.yellow:na)
//short
barcolor(macd <Lower ? color.aqua:na)
if macd > Upper
    strategy.entry("Long", strategy.long)
    // strategy.exit("Long TP/SL", "Long", limit=close * (1 + tp_percent), stop=close * (1 - sl_percent), comment = "Long Exit" )

if macd < Lower
    strategy.entry("Short", strategy.short)
    // strategy.exit("Short TP/SL", "Short", limit=close * (1 - tp_percent), stop=close * (1 + sl_percent), comment = "Short Exit")