Chiến lược chuyển đổi trung bình động của MACD

Tác giả:ChaoZhang, Ngày: 2023-12-08 15:29:41
Tags:

img

Tổng quan

Chiến lược chuyển đổi giá trung bình MACD tính toán các đường DIFF và DEA của chỉ số MACD để xác định xem xu hướng thị trường có đảo ngược hay không, do đó tạo ra các tín hiệu giao dịch. Nó sẽ dài khi DIFF vượt qua DEA và ngắn khi DIFF vượt qua dưới DEA. Chiến lược cũng kết hợp các bộ lọc EMA giá để tránh đột phá sai.

Chiến lược logic

Chiến lược này chủ yếu dựa trên các đường DIFF và DEA của chỉ số MACD. MACD viết tắt của Moving Average Convergence Divergence, bao gồm các đường DIFF, DEA và MACD. Trong số đó, DIFF đại diện cho sự khác biệt giữa EMA ngắn hạn và EMA dài hạn, DEA là EMA của DIFF được sử dụng để xác minh tín hiệu DIFF, và MACD đại diện cho sự khác biệt giữa DIFF và DEA, được sử dụng để xác định sự khác biệt.

Khi DIFF phá vỡ trên DEA, điều đó có nghĩa là trung bình di chuyển ngắn hạn bắt đầu tăng cường và thị trường trở nên tăng trưởng. Khi DIFF phá vỡ dưới DEA, nó cho thấy trung bình di chuyển ngắn hạn trở nên yếu và thị trường trở nên giảm. Do đó, chiến lược này sẽ dài khi DIFF vượt qua DEA và ngắn khi vượt qua dưới.

Ngoài ra, chiến lược này kết hợp các bộ lọc EMA giá để tránh đột phá sai. Nó chỉ đi dài khi DIFF phá vỡ trên DEA và giá dưới giá dài trước đó, và chỉ đi ngắn khi DIFF phá vỡ dưới DEA và giá trên giá ngắn trước đó.

Phân tích lợi thế

Chiến lược chuyển đổi trung bình động MACD Bull Bear kết hợp các bộ lọc MACD và EMA giá để tránh các tín hiệu sai được tạo ra bởi MACD, do đó cải thiện hiệu suất giao dịch.

Những lợi thế chính bao gồm:

  1. Sử dụng MACD để xác định các điểm đảo ngược xu hướng và nắm bắt các điểm chuyển đổi
  2. Kết hợp các bộ lọc EMA giá để giảm cơ hội thoát sai
  3. Sản xuất tín hiệu nhanh thích hợp cho giao dịch ngắn hạn
  4. Xu hướng thực hiện theo để nắm bắt lợi nhuận xu hướng trung hạn
  5. Phù hợp với hầu hết các nhà giao dịch mô hình suy nghĩ về giao dịch tại các điểm chuyển đổi

Phân tích rủi ro

Chiến lược chuyển đổi giá trung bình động MACD Bull Bear cũng có một số rủi ro:

  1. MACD có xu hướng tạo ra các tín hiệu sai, đòi hỏi bộ lọc giá EMA nhưng cũng sẽ bỏ lỡ một số động thái
  2. Cần phải theo dõi chặt chẽ các đường DIFF và DEA, điều chỉnh tham số không đúng sẽ làm tăng tín hiệu sai
  3. Breakout tín hiệu chỉ xem xét 1 bar, với nguy cơ bị chém
  4. Chiến lược chủ yếu dựa trên DIFF / DEA chéo cho tín hiệu, có thể tăng tần suất giao dịch nếu tín hiệu quá thường xuyên

Các cách chính để tối ưu hóa rủi ro là:

  1. Điều chỉnh các thông số MACD để giảm tín hiệu sai
  2. Tăng cường độ lọc để giảm sự xuất hiện của whipsaw
  3. Thêm các bộ lọc trên vị trí giữ để hạn chế tần suất giao dịch

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

Chiến lược chuyển đổi trung bình động MACD Bull Bear có thể được tối ưu hóa thêm trong các chiều kích sau:

  1. Tối ưu hóa các thông số MACD của các giai đoạn DIFF/DEA
  2. Thêm các bộ lọc thời gian để giảm tần suất giao dịch
  3. Kết hợp các chiến lược dừng lỗ / lấy lợi nhuận để kiểm soát mục tiêu lợi nhuận
  4. Thêm các bộ lọc chỉ số khác như băng tần BOLL và KD
  5. Bao gồm xu hướng thiên vị để tránh giao dịch ngược xu hướng
  6. Phát triển các chiến lược thoát khỏi hoặc mẫu thu lợi nhuận dựa trên khuôn khổ chiến lược này

Kết luận

MACD Moving Average Bull Bear Conversion Strategy xác định sự gia nhập thị trường tăng/giảm bằng các tín hiệu chéo DIFF và DEA, và sử dụng bộ lọc EMA giá để loại bỏ các tín hiệu sai, xác định hiệu quả các điểm đảo ngược xu hướng thị trường. Với logic đơn giản và rõ ràng, nó nhanh chóng xác định các điểm chuyển đổi phù hợp với giao dịch ngắn hạn và trung hạn.


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

//@version=3
strategy("macd_strategy", 
          shorttitle="macd", 
          overlay=true, 
          pyramiding=1, 
          max_bars_back=5000, 
          calc_on_order_fills = false, 
          calc_on_every_tick=true, 
          default_qty_type=strategy.percent_of_equity, 
          default_qty_value=100, 
          commission_type =strategy.commission.percent, 
          commission_value=0.00075)
[diff, dea, _] = macd(close, 12, 26, 7)
dea_close = ema(diff, 3)
price = ema(close, 9)
plot(price)
cross_over_price = na
cross_over_signal = na
cross_over_price := cross_over_price[1]
cross_over_signal := cross_over_signal[1]

cross_under_price = na
cross_under_signal = na
cross_under_price := cross_under_price[1]
cross_under_signal := cross_under_signal[1]
if (crossover(diff,dea))
    cross_over_price := price[1]
    cross_over_signal := diff
if (crossunder(diff,dea))
    cross_under_price := price[1]
    cross_under_signal := diff
if dea > 0
    cross_over_price = na
    cross_over_signal = na
else
    cross_under_price = na
    cross_under_signal = na
if diff > 0
    if cross_under_price > cross_under_price[1]*1 and cross_under_signal < cross_under_signal[1]*0.95
        strategy.entry("S", strategy.short,  comment="S")
else
    if cross_over_price < cross_over_price[1]*1 and cross_over_signal > cross_over_signal[1]*0.95
        strategy.entry("B", strategy.long,  comment="B")
// strategy.exit("exit_s", "S", stop = strategy.position_avg_price*1.05, when=strategy.position_size < 0)
// strategy.exit("exit_b", "B", stop = strategy.position_avg_price*0.95, when=strategy.position_size > 0)
strategy.close_all(when=(strategy.position_size < 0 and (dea < 0 or diff > cross_under_signal*1 or crossover(diff, dea)) or (strategy.position_size > 0 and (dea > 0 or diff < cross_over_signal*1 or crossunder(diff, dea)))))

Thêm nữa