Chiến lược xu hướng Donchian

Tác giả:ChaoZhang, Ngày: 2023-11-28 15:13:00
Tags:

img

Tổng quan

Chiến lược xu hướng Donchian là một cách tiếp cận theo xu hướng sử dụng chỉ số kênh Donchian để xác định các điểm nhập và thoát tiềm năng trên thị trường.

Để tinh chỉnh thêm các tín hiệu giao dịch, chiến lược này kết hợp hai đường trung bình động MA nhanh (5 giai đoạn) và MA chậm (45 giai đoạn).

Chiến lược logic

Chỉ số cốt lõi của chiến lược này là các kênh Donchian. Các kênh Donchian được vẽ bằng cách lấy mức cao nhất và thấp nhất trong một khoảng thời gian nhất định, với các đường kênh trên và dưới kết nối các mức cao và thấp tương ứng.

Chiến lược sử dụng các kênh Donchian để xác định hướng xu hướng. Cụ thể, giá trên kênh trên cho thấy xu hướng tăng, và chiến lược sẽ xem xét việc thiết lập các vị trí dài vào lần tiếp theo khi giá tiếp cận kênh trên. Ngược lại, giá dưới kênh dưới đại diện cho xu hướng giảm, và chiến lược sẽ xem xét việc xây dựng các vị trí ngắn khi giá tiếp cận kênh dưới lần tiếp theo.

Để lọc các đột phá sai, chiến lược kết hợp trung bình di chuyển nhanh (5 giai đoạn) và trung bình di chuyển chậm (45 giai đoạn) để tạo ra các tín hiệu giao dịch.

Các điểm dừng lỗ được thiết lập dựa trên giá tiếp cận các kênh Donchian một lần nữa sau khi vào.

Phân tích lợi thế

Một lợi thế đáng kể của chiến lược này là nó chỉ đi vào thị trường sau khi một xu hướng được thiết lập vững chắc, do đó có hiệu quả làm giảm tổn thất gây ra bởi mua sai vào các sự phá vỡ sai.

Ngoài ra, khả năng điều chỉnh các thông số kênh Donchian cũng cung cấp tính linh hoạt cho chiến lược này. Chiều dài kênh càng dài, thời gian dữ liệu lịch sử tham khảo càng dài, đánh giá xu hướng càng bảo thủ và xác suất tránh đột phá sai càng cao, nhưng một số cơ hội ngắn hạn có thể bị bỏ lỡ. Chúng ta có thể chọn các thông số kênh dựa trên điều kiện thị trường và sở thích cá nhân.

Việc rút tiền tối đa của chiến lược này cũng được kiểm soát tốt. Nhờ xu hướng theo các tài sản, nó cũng có thể kiểm soát hiệu quả lỗ trong các biến động thị trường lớn.

Phân tích rủi ro

Rủi ro chính của chiến lược này là đánh giá sai về xu hướng, do đó thiết lập các vị trí dài hoặc ngắn vào thời điểm sai. Điều này có thể xảy ra khi giá đã ẩn một sự đảo ngược hoặc giảm lớn hơn. Chúng ta có thể giảm những tình huống như vậy bằng cách điều chỉnh các thông số trung bình động một cách thích hợp.

Một rủi ro tiềm năng khác là giao dịch quá mức trong các thị trường giới hạn phạm vi. Điều này sẽ làm tăng số lượng giao dịch và chi phí hoa hồng. Chúng ta có thể giải quyết điều này bằng cách tăng biên dừng lỗ hoặc kéo dài thời gian giữ phù hợp.

Hướng dẫn tối ưu hóa

Chiến lược này có không gian tối ưu hóa lớn, chủ yếu tập trung vào các khía cạnh sau:

  1. Chúng ta có thể kiểm tra các giá trị tham số khác nhau để tìm ra các tham số tối ưu.

  2. Chúng ta có thể thử nhiều kết hợp hơn để tìm ra một tập hợp phù hợp của các trung bình di chuyển nhanh và chậm.

  3. Chúng ta có thể thử điểm tuyệt đối hoặc dừng ATR.

  4. Chúng ta có thể thêm các chỉ số như RSI, MACD vv để lọc ngoài các tín hiệu giao dịch cơ bản.

Tóm lại

Tóm lại, chiến lược xu hướng Donchian sử dụng các kênh Donchian để xác định hướng xu hướng, được bổ sung bằng các đường trung bình động kép để vào, làm cho nó trở thành một xu hướng ổn định sau chiến lược. Nó chỉ vào thị trường sau khi xu hướng được hình thành rõ ràng, kiểm soát thiệt hại hiệu quả.


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

//@version=5
strategy(title="DON-SS-TREND", overlay=true,default_qty_type = strategy.percent_of_equity,default_qty_value=100,initial_capital=1000,pyramiding=0,commission_value=0.01)//@version=5
length = input.int(42, minval=1)

lower = ta.lowest(length)
upper = ta.highest(length)
basis = math.avg(upper, lower)

updiff = upper - close
downdiff = lower - close

dontrend = updiff + downdiff   
emalength = input.int(45, minval=1)
emax = ta.ema(-dontrend,emalength)
plot(-dontrend, "DON-SS", color=color.blue,style = plot.style_histogram)
plot(emax, "EMA-SS", color=color.black)
emalength1 = input.int(5, minval=1)
emax1 = ta.ema(-dontrend,emalength1)
plot(emax1, "EMA-FF", color=color.black)

/////////////////////// STRATEGY
// Check for Long Entry
longCondition = ta.crossover(emax1,emax)  
if longCondition
    strategy.entry('Long', strategy.long, comment = "BUY")

buyclose = ta.crossunder(emax1,emax)   
// Exit condition with trailing stop and take profit
strategy.close('Long', when=buyclose, comment = "BUY STOP")

// Check for Short Entry
ShortCondition = ta.crossunder(emax1,emax)
if ShortCondition
    strategy.entry('Short', strategy.short, comment = "SELL")

sellclose = ta.crossover(emax1,emax)   
// Exit condition with trailing stop and take profit
strategy.close('Short', when=sellclose, comment = "SELL STOP")


Thêm nữa