Chiến lược theo xu hướng dựa trên sự giao nhau của đường trung bình động


Ngày tạo: 2024-03-01 10:59:03 sửa đổi lần cuối: 2024-03-01 10:59:03
sao chép: 1 Số nhấp chuột: 633
1
tập trung vào
1617
Người theo dõi

Chiến lược theo xu hướng dựa trên sự giao nhau của đường trung bình động

Tổng quan

Chiến lược này thực hiện theo dõi xu hướng bằng cách tính toán các trung bình di chuyển của các chu kỳ khác nhau, đặt các dấu chéo của chúng làm tín hiệu mua và bán. Lý luận cốt lõi là sử dụng các trung bình di chuyển có chu kỳ ngắn hơn để theo dõi các xu hướng có chu kỳ dài hơn.

Nguyên tắc chiến lược

  1. Tính trung bình di chuyển 200 chu kỳ và 100 chu kỳ
  2. Khi 100 chu kỳ di chuyển trung bình trên 200 chu kỳ di chuyển trung bình, làm nhiều hơn
  3. Khi 100 chu kỳ di chuyển trung bình dưới 200 chu kỳ di chuyển trung bình, bớt nhiều vị thế
  4. Khi 100 chu kỳ di chuyển trung bình dưới 200 chu kỳ di chuyển trung bình, làm cho trống
  5. Khi 100 chu kỳ di chuyển trung bình trên 200 chu kỳ di chuyển trung bình, vị trí trống

Lý do đằng sau thiết lập tín hiệu giao dịch trên là trung bình di chuyển ngắn hạn có thể phản ứng nhanh hơn với sự thay đổi giá và phản ánh xu hướng mới nhất; trung bình di chuyển dài hạn có thể thể hiện xu hướng tổng thể hơn, lọc tiếng ồn. Khi trung bình di chuyển ngắn hạn đi qua trung bình di chuyển dài hạn, cho thấy xu hướng biến đổi, do đó thiết lập tín hiệu giao dịch.

Phân tích lợi thế chiến lược

  1. Kế hoạch chiến lược rõ ràng, đơn giản, dễ hiểu và dễ thực hiện
  2. Kết hợp các đường chu kỳ dài và ngắn để nắm bắt các điểm thay đổi xu hướng có hiệu quả tốt hơn
  3. Không cần phải dự đoán hướng giá cụ thể, chỉ cần theo dõi xu hướng biến đổi, giảm tỷ lệ sai sót
  4. Có thể thích ứng với các môi trường thị trường khác nhau bằng cách tối ưu hóa chu kỳ trung bình di chuyển

Phân tích rủi ro chiến lược và giải pháp

  1. Khi xu hướng biến động lớn, có thể tạo ra nhiều tín hiệu sai dẫn đến thua lỗ. Giải pháp là điều chỉnh thích hợp các tham số chu kỳ của trung bình di chuyển.
  2. Khi một sự kiện bất ngờ dẫn đến sự đảo ngược nhanh chóng, chiến lược trung bình di chuyển đơn giản không thể phản ứng kịp thời và dễ bị mất. Giải pháp là thêm các chỉ số phán đoán bổ sung, chẳng hạn như chỉ số tăng.
  3. Các giao dịch có thể quá thường xuyên, làm tăng chi phí giao dịch và mất điểm trượt. Giải pháp là điều chỉnh thích hợp các tham số chu kỳ của trung bình di chuyển để giảm tần suất giao dịch.

Hướng tối ưu hóa chiến lược

  1. Tối ưu hóa các tham số chu kỳ của trung bình di chuyển để phù hợp với nhiều tình huống thị trường hơn
  2. Thêm các chỉ số lọc để tránh các tín hiệu sai, chẳng hạn như khối lượng giao dịch, MACD, v.v.
  3. Tăng chiến lược dừng lỗ, kiểm soát lỗ đơn
  4. Tối ưu hóa các tham số để tìm các tham số tối ưu

Tóm tắt

Chiến lược này là một trong những chiến lược theo dõi xu hướng điển hình. Ưu điểm là đơn giản, dễ hiểu, dễ vận hành, có thể thích nghi với nhiều môi trường thị trường bằng cách điều chỉnh các tham số. Ưu điểm là không nhạy cảm với các sự kiện bất ngờ, dễ tạo ra tín hiệu sai.

Mã nguồn chiến lược
/*backtest
start: 2023-02-23 00:00:00
end: 2024-02-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MA Crossover Strategy", overlay=true)

// Функция для получения скользящего среднего на заданном таймфрейме
getMA(source, length, timeframe) =>
    request.security(syminfo.tickerid, timeframe, ta.sma(source, length))

// Вычисляем 200-периодное и 100-периодное скользящее среднее для текущего таймфрейма
ma200 = getMA(close, 200, "240")
ma100 = getMA(close, 100, "240")

// Открываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossover(ma100, ma200))
    strategy.entry("Long", strategy.long)

// Закрываем позицию Long, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
    strategy.close("Long")

// Открываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное сверху вниз
if (ta.crossunder(ma100, ma200))
    strategy.entry("Short", strategy.short)

// Закрываем позицию Short, если 100-периодное скользящее среднее пересекает 200-периодное снизу вверх
if (ta.crossover(ma100, ma200))
    strategy.close("Short")

// Рисуем линии скользящих средних на графике
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ma100, color=color.red, linewidth=2, title="100 MA")