Chiến lược đảo ngược dài MACD

Tác giả:ChaoZhang, Ngày: 2023-12-15 13:55:38
Tags:

img

Tổng quan

Chiến lược đảo ngược dài MACD là một chiến lược sử dụng chỉ số MACD để xác định đảo ngược giá dài hạn và thực hiện giao dịch dài hạn. Chiến lược này xây dựng chỉ số MACD bằng cách sử dụng đường SMA nhanh và sự khác biệt đường SMA chậm của MACD, và sử dụng mô hình đảo ngược của biểu đồ MACD để xác định các cơ hội đảo ngược dài hạn tiềm ẩn trong giá. Khi cơ hội đảo ngược giá được xác định, chiến lược sẽ thực hiện một mục nhập dài hạn theo hướng.

Chiến lược logic

Chiến lược này sử dụng EMA 6 ngày như đường nhanh của MACD và EMA 26 ngày như đường chậm của MACD. Sự khác biệt giữa các đường nhanh và chậm là MACD, và SMA 9 ngày của MACD tạo thành đường tín hiệu. Khi sự khác biệt giữa các đường nhanh và chậm, tức là biểu đồ, bằng không, nó đại diện cho sự cân bằng; khi dương tính, nó đại diện cho một quan điểm tăng dài hạn; khi âm tính, nó đại diện cho một quan điểm giảm dài hạn.

Lý thuyết giao dịch của chiến lược này là: Khi biểu đồ MACD tăng trên biểu đồ trước (sự khác biệt mở rộng), nó được coi là giá đã đảo ngược sang tăng dài hạn (cơ hội mua); Khi biểu đồ MACD giảm xuống dưới biểu đồ trước (sự khác biệt thu hẹp), giá được coi là đã đảo ngược sang giảm dài hạn (cơ hội bán). Để lọc ra các tín hiệu sai, chiến lược này sẽ đợi sự đảo ngược thực tế của hai biểu đồ trước khi vào.

Phân tích lợi thế

  • Xác định sự đảo ngược giá dài hạn bằng cách sử dụng chênh lệch trung bình động dài hạn của chỉ số MACD
  • Crossover hai dòng lọc ra breakouts sai và tránh theo đuổi cao và bán thấp
  • Các thông số MACD có thể điều chỉnh để thích nghi với môi trường thị trường khác nhau
  • Chiến lược dừng lỗ có thể được cấu hình để kiểm soát lỗ đơn

Rủi ro và giải pháp

  • Các cơ hội giao dịch bị bỏ lỡ do sự khác biệt MACD
    • Tối ưu hóa để sử dụng kết hợp với chỉ số RSI
  • Có rất nhiều tín hiệu đảo ngược sai trong thị trường dao động
    • Tăng mức dừng lỗ để giảm lỗ; Điều chỉnh các thông số MACD để theo đuổi sự trơn tru
  • Việc đảo ngược không được giữ hoặc giá vượt qua mức dừng lỗ
    • Sử dụng các đường trung bình động theo cấp số nhân để cải thiện độ tin cậy dừng lỗ
  • Không có chiến lược dừng lỗ, không thể kiểm soát lỗ
    • Thêm lệnh dừng lỗ hoặc logic dừng lỗ cố định để kiểm soát nghiêm ngặt số tiền lỗ duy nhất

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

  • Điều chỉnh các thông số MACD để theo đuổi các đường MACD mượt mà hơn.
  • Thêm logic dừng lỗ sau. Các cổ phiếu dài hạn chắc chắn phải đối mặt với rủi ro giảm giá, và dừng lại sau có thể giảm thiểu rủi ro đó.
  • Sử dụng kết hợp với các chỉ số khác như RSI. Hiệu ứng của chỉ số duy nhất là hạn chế, kết hợp các chỉ số khác có thể cải thiện hiệu suất.
  • Thêm mô-đun kích thước vị trí.

Tóm lại

Chiến lược đảo ngược dài MACD nắm bắt các cơ hội đảo ngược dài hạn trong giá bằng cách đánh giá sự đảo ngược của biểu đồ MACD. Chiến lược này kiểm soát thành công xung đột giữa chu kỳ ngắn hạn và dài hạn, cũng như tránh theo đuổi mức cao và bán thấp. Tuy nhiên, với tư cách là một chiến lược chỉ số duy nhất, chiến lược đảo ngược dài MACD cũng có một số hạn chế nhất định, và vẫn còn chỗ cho việc tối ưu hóa hơn nữa, đặc biệt là khi được sử dụng kết hợp với các chỉ số khác.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheGrindToday

//@version=4
strategy("MACD Long Strat", overlay=false)


//fast = 12, slow = 26
fast = 6, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)
histogram = macd-signal

macdpos = histogram[0] > 0
macdneg = histogram[0] < 0

histogram_reversing_negative = histogram[1] > histogram[2]


LongEntryCondition =  histogram > histogram[1] 
ShortEntryCondition =  histogram < histogram[1]

exitConditionLong = histogram[0] < histogram[2]

if (LongEntryCondition and histogram_reversing_negative)
    strategy.entry("Long", strategy.long)


if (exitConditionLong)
    strategy.close("Long")
    
plot(histogram)


Thêm nữa