Xu hướng sau chiến lược giao dịch trung bình động

Tác giả:ChaoZhang, Ngày: 2024-01-05 13:48:07
Tags:

img

Tổng quan

Chiến lược này là một xu hướng sau chiến lược giao dịch trung bình động. Nó sử dụng trung bình động của giá cao nhất và thấp nhất với các thiết lập tham số khác nhau để xác định xu hướng thị trường và tạo ra tín hiệu giao dịch tại các điểm chuyển đổi. Nó đi dài khi giá vượt qua đường trung bình động theo dõi tăng và đi ngắn khi giá vượt qua đường theo dõi giảm. Chiến lược cũng sử dụng ATR để đặt mức dừng lỗ và lấy lợi nhuận.

Chiến lược logic

Chiến lược sử dụng các đường trung bình động đơn giản của giá cao nhất và thấp nhất với các thông số khác nhau để xác định xu hướng thị trường.

  1. Hệ thống h1 và l1 theo dõi xu hướng từ phía trên. h1 là trung bình động đơn giản của giá cao nhất, đóng vai trò là dải trên của xu hướng; l1 được xây dựng bởi h1 trừ giá trị ATR, đóng vai trò là dải dưới. Một tín hiệu dài được tạo ra khi giá phá vỡ trên h1, và một tín hiệu gần được tạo ra khi giá giảm xuống dưới l1.

  2. Hệ thống h2 và l2 theo dõi xu hướng giảm. h2 là trung bình động đơn giản của giá thấp nhất, đóng vai trò là dải dưới; l2 được xây dựng bởi h2 cộng với giá trị ATR, đóng vai trò là dải trên.

Các hệ thống hai băng tần có thể xác định chính xác hơn các bước ngoặt xu hướng và lọc ra một số giao dịch ồn ào. Trong khi đó, giá trị ATR được sử dụng để thiết lập dừng lỗ và lấy mức lợi nhuận để kiểm soát tỷ lệ rủi ro-lợi nhuận cho mỗi giao dịch.

Phân tích lợi thế

Những lợi thế chính của chiến lược này bao gồm:

  1. Hệ thống hai băng tần lọc tiếng ồn và xác định các bước ngoặt chính xác hơn.
  2. ATR theo dõi biến động một cách năng động, cho phép kiểm soát dừng lỗ hiệu quả cho mỗi giao dịch.
  3. Logic là đơn giản và dễ hiểu, phù hợp cho người mới bắt đầu học.
  4. Các thông số có thể được điều chỉnh linh hoạt để thích nghi với môi trường thị trường khác nhau.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro liên quan đến chiến lược này:

  1. Các tín hiệu đột phá từ các dải có thể bị chậm lại, bỏ lỡ cơ hội ở giai đoạn xu hướng ban đầu.
  2. Theo dõi đường trung bình động có khả năng yếu hơn trong việc bắt được xu hướng cong.
  3. Chi phí giao dịch không được xem xét. Chúng có thể cao với giao dịch tần số cao.

Giải pháp:

  1. Giảm thời gian trung bình di chuyển cho các tín hiệu nhạy cảm hơn.
  2. Kết hợp các chỉ số khác như MACD để xác định các loại xu hướng, tránh giao dịch quá mức trong các vùng dao động.
  3. Điều chỉnh kích thước vị trí để giảm tần suất giao dịch.

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

Chiến lược có thể được tối ưu hóa từ các khía cạnh sau:

  1. Sử dụng thuật toán học máy để tự động điều chỉnh các thông số để thích nghi với thị trường thay đổi.
  2. Bao gồm khối lượng giao dịch để tránh sự phá vỡ sai.
  3. Thêm các quy tắc định kích thước vị trí vi mô để liên kết kích thước vị trí với sức mạnh xu hướng.
  4. Tối ưu hóa các cơ chế dừng lỗ với các điểm dừng kéo dài v.v.

Kết luận

Tóm lại, đây là một chiến lược theo xu hướng đơn giản và thực tế. Triết lý cốt lõi là xác định các điểm chuyển đổi xu hướng và kiểm soát mỗi lỗ thương mại thông qua lọc hai băng tần và dừng ATR năng động. Nó có giá trị thực tế rõ ràng và cũng có nhiều phòng tối ưu hóa. Hiệu suất tốt hơn có thể đạt được thông qua điều chỉnh tham số, kết hợp các chỉ số khác v.v.


/*backtest
start: 2023-12-05 00:00:00
end: 2024-01-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("I Like Winners And Love Loosers!", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

highest_length = input(200, type=input.integer, minval=1, title="Highest Length")
highest_average = input(10, type=input.integer, minval=1, title="Highest Average Length")

lowest_length = input(200, type=input.integer, minval=1, title="Lowest Length")
lowest_average = input(10, type=input.integer, minval=1, title="Lowest Average Length")

atr_length = input(14, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(2, type=input.integer, minval=1, title="ATR Multiplier")
a = atr(atr_length) * atr_multiplier

h1 = sma(highest(high, highest_length), highest_average)
l1 = h1 - a

h2 = sma(lowest(low, lowest_length), lowest_average)
l2 = h2 + a

buy1_signal = crossover(close, h1)
sell1_signal = crossunder(close, l1)
strategy.entry("Buy", strategy.long, when=buy1_signal)
strategy.close("Buy", when=sell1_signal)

buy2_signal = crossunder(close, h2)
sell2_signal = crossover(close, l2)
strategy.entry("Sell", strategy.short, when=buy2_signal)
strategy.close("Sell", when=sell2_signal)

y1 = plot(h1, title="H1", color=color.green, transp=50, linewidth=2)
y2 = plot(l1, title="L1", color=color.red, transp=50, linewidth=2)
y3 = plot(h2, title="H2", color=color.green, transp=50, linewidth=2)
y4 = plot(l2, title="L2", color=color.red, transp=50, linewidth=2)

fill(y1,y2,color=color.green)
fill(y3,y4,color=color.red)


Thêm nữa