Chiến lược Mô hình dao động hai theo dõi là một chiến lược giao dịch định lượng dựa trên các Dải Bollinger và chỉ số EMA. Nó cố gắng nắm bắt biến động giá ngắn hạn thông qua việc xác định các mô hình dao động dựa trên Dải Bollinger và EMA.
Chiến lược này sử dụng cả Bollinger Bands và EMA như các chỉ số kỹ thuật. Bollinger Bands chứa các dải trên, giữa và dưới để đánh giá xem giá có dao động hay không. EMA là một chỉ số theo xu hướng để xác định xu hướng giá.
Đầu tiên, dải giữa của Bollinger Bands được tính bằng đường trung bình di chuyển đơn giản của giá trong n ngày, trong đó n mặc định đến 20 ngày. Dải trên và dưới là dải giữa cộng/từ hai độ lệch chuẩn. Sau đó EMA 9 ngày được tính.
Khi giá vượt qua EMA, đó là tín hiệu mua. Khi giá vượt qua dưới EMA, đó là tín hiệu bán. Vì vậy, EMA như một đường trung bình di chuyển nhanh nắm bắt xu hướng ngắn hạn, trong khi dải giữa như một đường trung bình di chuyển chậm lọc một số tín hiệu sai.
Bằng cách theo dõi các băng tần kép của đường giữa EMA và Bollinger Bands, chiến lược nhằm mục đích nắm bắt các dao động giá ngắn hạn. Nó mua khi EMA vượt qua đường giữa và bán khi EMA vượt qua đường giữa.
Chiến lược hai đường dẫn có những lợi thế sau:
Sử dụng EMA và Bollinger Bands đường dây giữa hai đường, nó có thể đánh giá cả xu hướng và dao động, và chính xác hơn nắm bắt biến động giá ngắn hạn.
EMA như MA nhanh và băng tần giữa như MA chậm làm việc cùng nhau để lọc hiệu quả các tín hiệu sai và cải thiện chất lượng tín hiệu.
Các thông số chỉ số có thể điều chỉnh. Giá trị n và độ lệch chuẩn Bollinger Bands có thể được điều chỉnh theo điều kiện thị trường để thích nghi tốt hơn.
Logic chiến lược đơn giản và rõ ràng, rất phù hợp với các thị trường dao động ngắn hạn.
Nó có thể được tối ưu hóa bằng cách điều chỉnh các tham số và kết hợp các bộ lọc khác để cải thiện sự ổn định hơn nữa.
Chiến lược này cũng có một số rủi ro tiềm ẩn:
Bollinger Bands các dải trên và dưới có thể tạo thành hỗ trợ và kháng cự dễ dàng, kích hoạt dừng lỗ sớm.
Sự khác biệt có thể xảy ra giữa EMA và dải giữa khi chúng vượt qua, tạo ra các tín hiệu không chính xác.
Trong các thị trường có xu hướng mạnh, EMA có thể hình thành đáy W và đỉnh M, bỏ lỡ xu hướng.
Các tín hiệu giao dịch sẽ giảm đáng kể khi dao động suy yếu, không thể duy trì lợi nhuận.
Việc điều chỉnh tham số không đầy đủ có thể dẫn đến quá mức giao dịch hoặc bỏ lỡ cơ hội.
Chi phí giao dịch làm xói mòn lợi nhuận thực tế, vị trí cần kiểm soát.
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Thêm âm lượng để lọc tín hiệu chéo chất lượng thấp.
Kết hợp RSI để tránh mua / bán ở mức mua quá mức / bán quá mức.
Sử dụng ATR để thiết lập stop loss hợp lý hơn và lấy lợi nhuận.
Thêm phán đoán xu hướng để tránh các tín hiệu sai trong thị trường xu hướng.
Tối ưu hóa các tham số như thời gian EMA và cài đặt Bollinger Bands để phù hợp với môi trường thị trường khác nhau.
Sử dụng máy học để tối ưu hóa các tham số cho độ bền.
Sử dụng giao dịch thuật toán với các quy tắc vào và ra nghiêm ngặt để giảm thiểu sự can thiệp của con người.
Chiến lược mô hình dao động hai đường theo dõi giá bằng cách sử dụng hai băng tần EMA và đường giữa Bollinger Bands. Nó mua khi EMA vượt qua trên băng tần giữa, và bán khi EMA vượt qua dưới băng tần giữa, để nắm bắt sự dao động giá ngắn hạn. Chiến lược ngắn hạn đơn giản này có lợi thế lọc tín hiệu sai và đánh giá xu hướng, nhưng cũng có một số rủi ro. Bằng cách tối ưu hóa liên tục các thông số, quy tắc nhập / xuất vv, nó có thể trở nên mạnh mẽ hơn và áp dụng cho nhiều môi trường thị trường hơn, làm cho nó trở thành một cách tiếp cận chiến lược đáng giá để học hỏi và áp dụng.
/*backtest start: 2022-11-07 00:00:00 end: 2023-11-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle="BBXEMA", title="Bollinger Bands Cross EMA", default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=true) length = input(20, minval=1) lengthEMA = input(9) src = input(close, title="Source") srcEMA = input(close, title="Source EMA") //mult = input(2.0, minval=0.001, maxval=50) // === INPUT BACKTEST RANGE === FromYear = input(defval = 2019, title = "From Year", minval = 2009) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2009) ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true basis = sma(src, length) EMA = ema(srcEMA,lengthEMA) //dev = mult * stdev(src, length) //upper = basis + dev //lower = basis - dev Buy = crossover(EMA,basis) Sell = crossunder(EMA,basis) bb = plot(basis, color=color.red) signal = plot(EMA, color=color.green) //p1 = plot(upper, color=color.blue) //p2 = plot(lower, color=color.blue) //fill(p1, p2) strategy.entry("Buy",true,when=window() and Buy) strategy.close_all(when=window() and Sell)