Chiến lược giao cắt đường trung bình động


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

Chiến lược giao cắt đường trung bình động

Tổng quan

Chiến lược này là một chiến lược giao dịch dựa trên đường trung bình di chuyển. Nó sử dụng đường trung bình di chuyển 45 ngày làm chỉ số kỹ thuật chính để mua và bán dựa trên tín hiệu của giá vượt qua đường trung bình di chuyển.

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

Khi giá tăng vượt qua đường trung bình di chuyển 45 ngày, nó tạo ra tín hiệu mua; khi giữ vị trí 8 ngày, nó tạo ra tín hiệu bán. Sau đó, nếu giá tăng trở lại và vượt qua đường trung bình di chuyển 45 ngày, nó sẽ tạo ra tín hiệu mua một lần nữa.

Các nguyên tắc của chiến lược là:

  1. Tính trung bình di chuyển 45 ngày.
  2. Khi giá đóng cửa vượt lên từ dưới đường trung bình di chuyển, nó sẽ tạo ra tín hiệu mua và mua nhiều hơn.
  3. Có 8 ngày giao dịch sau khi đưa vào thị trường.
  4. Sau 8 ngày, vị thế bình thường được thực hiện và tạo ra tín hiệu bán.
  5. Nếu sau đó giá đóng cửa một lần nữa phá vỡ từ dưới đường trung bình di chuyển lên trên, tạo ra tín hiệu mua lại và tham gia vào thị trường một lần nữa.

Đây là logic giao dịch cốt lõi của chiến lược này.

Lợi thế chiến lược

Chiến lược này có những ưu điểm sau:

  1. Quy tắc hoạt động đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
  2. Sử dụng tính năng theo dõi xu hướng của đường trung bình di chuyển, có thể nắm bắt hiệu quả xu hướng đường dài và đường trung.
  3. 8 ngày giữ vị trí không dài, có thể theo dõi xu hướng và có thể dừng lỗ kịp thời.
  4. Các quy định của thị trường tái nhập được xác định rõ ràng và có thể kiểm soát hiệu quả tần suất giao dịch.

Rủi ro chiến lược

Chiến lược này cũng có một số rủi ro:

  1. Sự chậm trễ của đường trung bình di chuyển có thể dẫn đến sự tham gia muộn và kết thúc sớm.
  2. Thời gian giữ vị trí cố định và tham số trung bình di chuyển có thể không thích nghi với sự thay đổi của thị trường.
  3. Tần suất giao dịch có thể quá cao, làm tăng chi phí giao dịch và mất điểm trượt.
  4. Tín hiệu đột phá có thể tạo ra tín hiệu giả, có một xác suất nhầm lẫn.

Phản ứng:

  1. Tối ưu hóa các tham số trung bình di chuyển, giảm độ trễ.
  2. Tăng thời gian nắm giữ hoặc di chuyển dừng để theo dõi xu hướng.
  3. Kết hợp với các chỉ số khác, lọc phá vỡ giả.
  4. Tối ưu hóa điều kiện tái nhập cảnh, kiểm soát tần suất giao dịch.

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

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

  1. Tối ưu hóa các tham số trung bình di chuyển để tìm kiếm sự kết hợp tham số tốt nhất. Các tham số số ngày khác nhau như 15 ngày, 30 ngày, 60 ngày có thể được thử nghiệm.

  2. Tối ưu hóa thời gian nắm giữ, tìm kiếm ngày nắm giữ tối ưu. Bạn có thể thử nghiệm các thời gian nắm giữ khác nhau như 5 ngày, 10 ngày, 15 ngày.

  3. Thêm dừng di động để theo dõi xu hướng và kiểm soát rủi ro. Ví dụ: dừng trialing hoặc dừng ATR.

  4. Thêm các chỉ số khác để lọc, chẳng hạn như MACD, KDJ, v.v., để giảm tín hiệu giả.

  5. Tối ưu hóa các điều kiện tái nhập cảnh để ngăn chặn giao dịch quá thường xuyên, chẳng hạn như tăng thời gian làm mát.

  6. Kiểm tra hiệu quả của các thị trường khác nhau và các giống khác nhau. Các tham số cần được tối ưu hóa cho các thị trường khác nhau.

Tóm tắt

Chiến lược giao chéo đường trung bình di chuyển này nói chung là một chiến lược theo dõi xu hướng đơn giản và thực tế. Nó sử dụng tính năng theo dõi xu hướng của đường trung bình di chuyển để tạo ra tín hiệu giao dịch. Ưu điểm là dễ thực hiện, trade-off là có thể có một số sai lầm.

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

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

// Calculate the 45-day moving average
ma_length = 45
ma = ta.sma(close, ma_length)

// Track position entry and entry bar
var bool in_long_position = na
var int entry_bar = na
var int exit_bar = na

// Entry condition: Close price crosses above the 45-day moving average to enter the position
if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] < ma[1])
    in_long_position := true
    entry_bar := bar_index

// Exit condition: Close the position after holding for 8 trading days
if (in_long_position and bar_index - entry_bar >= 8)
    in_long_position := false
    exit_bar := bar_index

// Re-entry condition: Wait for price to cross over the 45-day moving average again
if (not in_long_position and ta.crossover(close, ma) and not na(ma[1]) and close > ma and close[1] > ma[1] and (na(exit_bar) or bar_index - exit_bar >= 8))
    in_long_position := true
    entry_bar := bar_index

// Execute long entry and exit
if (in_long_position)
    strategy.entry("Long", strategy.long)

if (not in_long_position)
    strategy.close("Long")