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


Ngày tạo: 2023-09-21 10:47:24 sửa đổi lần cuối: 2023-09-21 10:47:24
sao chép: 0 Số nhấp chuột: 639
1
tập trung vào
1617
Người theo dõi

Tổng quan

Chiến lược này dựa trên hình thức giao dịch của ba đường trung bình di chuyển. Khi đường trung bình di chuyển trên đường trung bình di chuyển nhanh, hãy làm nhiều hơn khi đường trung bình di chuyển trên đường trung bình di chuyển; Khi đường trung bình di chuyển dưới đường trung bình di chuyển và đường trung bình di chuyển dưới đường chậm, hãy làm trống.

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

  1. Thiết lập ba đường trung bình di chuyển với các chu kỳ khác nhau: đường nhanh, đường trung bình và đường chậm
  2. Làm nhiều hơn khi đường tốc độ cao đi qua đường tốc độ trung bình và đường tốc độ trung bình đi qua đường tốc độ chậm
  3. Khi đường tốc độ nhanh đi qua đường tốc độ trung bình và đường tốc độ trung bình đi qua đường tốc độ chậm, hãy làm trống
  4. Có thể cài đặt độ trễ truy cập, lọc phá vỡ giả
  5. Khi tín hiệu phản hồi được kích hoạt

Cụ thể, chiến lược này giao dịch bằng cách sử dụng các đường chéo giữa ba đường trung bình di chuyển theo chu kỳ khác nhau. Đường nhanh đại diện cho xu hướng ngắn hạn hiện tại, đường trung bình đại diện cho xu hướng trung hạn và đường chậm đại diện cho xu hướng dài hạn. Khi ba đường trung bình ngắn và dài xảy ra một lần chéo lên, nó cho thấy xu hướng bắt đầu, làm nhiều hơn; khi nó xảy ra một lần chéo xuống, nó cho thấy xu hướng đảo ngược, làm trống.

Phân tích lợi thế

  1. Sử dụng ba đường thẳng để đánh giá sự thay đổi hướng xu hướng, tăng độ chính xác
  2. Chạy máy bay chậm có thể lọc các vụ đột phá giả để tránh bị mắc kẹt.
  3. Logic giao dịch đơn giản, trực quan và dễ hiểu
  4. Có thể điều chỉnh linh hoạt các tham số đường trung bình, áp dụng cho các chu kỳ khác nhau
  5. Giao dịch thuận lợi, tránh rủi ro giao dịch bất lợi

Phân tích rủi ro

  1. Thời gian nắm giữ dài hơn trong chu kỳ lớn, có nguy cơ mở rộng lỗ
  2. Có một số sự chậm trễ trong giao thông ba chiều, có thể bỏ lỡ điểm vào tốt nhất.
  3. Cần tối ưu hóa tham số đường trung bình, nếu không tín hiệu có thể không chính xác
  4. Giữ vị thế dài hạn cần xem xét rủi ro qua đêm

Có thể quản lý rủi ro bằng cách điều chỉnh thời gian giữ vị trí, tối ưu hóa tham số đường trung bình, giới thiệu chiến lược dừng lỗ.

Hướng tối ưu hóa

  1. Kiểm tra các tham số chu kỳ trung bình khác nhau để tìm ra tham số tối ưu
  2. Đánh giá ưu và nhược điểm của sự chậm trễ nhập cảnh khác nhau bằng cách lọc tín hiệu
  3. Tiến hành chiến lược dừng lỗ, điều chỉnh vị trí dừng lỗ theo thực tế
  4. Nghiên cứu các tham số ưa thích của các giống khác nhau, xây dựng hệ thống tối ưu hóa tham số
  5. Thử nghiệm thêm các quy tắc nhập lại và gia tăng để tối ưu hóa việc giữ vị trí

Tóm tắt

Chiến lược này dựa trên định hướng của xu hướng. Lợi thế là tín hiệu giao dịch đơn giản, rõ ràng và có thể cấu hình; Nhược điểm là dễ bị tụt hậu và cần tối ưu hóa tham số. Có thể tăng hiệu quả thông qua các tham số điều chỉnh, chiến lược dừng lỗ và kiểm soát rủi ro rút lui.

Mã nguồn chiến lược
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © DaynTrading

//@version=4
// strategy(
//      title="Simple Moving Average Cross",
//      overlay=true,
//      initial_capital=5000,
//      default_qty_type=strategy.percent_of_equity,
//      default_qty_value=2,
//      commission_type=strategy.commission.percent,
//      commission_value=0.075,
//      pyramiding=0
//      )

sma_top_input = input(title="SMA Top", type=input.integer, defval=20)
sma_mid_input = input(title="SMA Mid", type=input.integer, defval=50)
sma_low_input = input(title="SMA Low", type=input.integer, defval=200)

bars_long = input(title="Long: After trigger, how many bars to wait?", type=input.integer, defval=5)
bars_short = input(title="Short: After trigger, how many bars to wait?", type=input.integer, defval=5)

sma_top = sma(close, sma_top_input)
sma_mid = sma(close, sma_mid_input)
sma_low = sma(close, sma_low_input)

long = sma_top > sma_mid and sma_mid > sma_low
short = sma_top < sma_mid and sma_mid < sma_low

long_condition = long and long[bars_long] and not long[bars_long + 1]
short_condition = short and short[bars_short] and not short[bars_short + 1]

close_long = sma_top < sma_mid and sma_mid < sma_low and not long[bars_long + 1]
close_short = sma_top > sma_mid and sma_mid > sma_low and not short[bars_short + 1]

plot(sma_top, title="SMA Top", color=#95f252, linewidth=2)
plot(sma_mid, title="SMA Mid", color=#FF1493, linewidth=2)
plot(sma_low, title="SMA Low", color=#6a0dad, linewidth=2)

strategy.entry("LongPosition", strategy.long, when = long_condition)
strategy.entry("ShortPosition", strategy.short, when = short_condition)
    
strategy.close("LongPosition", when = close_short)
strategy.close("ShortPosition", when = close_long)