Chiến lược giao cắt đường trung bình động kép trong ngắn hạn


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

Chiến lược giao cắt đường trung bình động kép trong ngắn hạn

Tổng quan

Chiến lược đường ngắn chéo hai đường là một chiến lược giao dịch đường ngắn đơn giản và hiệu quả. Chiến lược này sử dụng tín hiệu chéo giữa giá và đường trung bình di chuyển làm tín hiệu mua và bán, để nắm bắt biến động xu hướng của giá trong đường ngắn.

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

Chiến lược giao chéo hai đường bằng nhau sử dụng hai trung bình di chuyển với hai chu kỳ khác nhau, một đường MA ngắn hơn và một đường MA dài hơn. Nó tạo ra tín hiệu mua khi đường MA ngắn phá vỡ đường MA dài từ phía dưới; và tạo ra tín hiệu bán khi đường MA ngắn từ phía trên phá vỡ đường MA dài.

Chiến lược này xác định chiều dài của biến length cho MA dài chu kỳ là 50, sau đó xác định giá là giá đóng cửa, tính toán đường MA dài là chiều dài và lưu vào biến ma. Sau đó xác định bcond để xác định giá có cao hơn giá trị ma hay không, bcount cộng 1 nếu không thì bằng 0. Nếu bcond liên tục kích hoạt ConfirmBars ((định nghĩa mặc định 2), sẽ tạo ra tín hiệu mua. Ngược lại, khi giá thấp hơn ma, sẽ tạo ra tín hiệu bán theo cùng một logic.

Để lọc một số tín hiệu vô hiệu, chiến lược đã thêm ba điều kiện lọc clc, clc0 và clc1. Ba điều kiện này xác định mối quan hệ của chu kỳ hiện tại với kích thước giá đóng cửa của chu kỳ trước, và mối quan hệ giữa giá đóng cửa và giá mở cửa của chu kỳ hiện tại, nếu được đáp ứng đồng thời cho phép tạo tín hiệu.

Cuối cùng, khi giá giảm trở lại hoặc phá vỡ đường mòn, hãy xóa các vị trí nhiều hoặc trống tương ứng.

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

  • Chiến lược này rất đơn giản và dễ hiểu.
  • Sử dụng tính năng theo dõi xu hướng của hệ thống đường trung bình, có thể nắm bắt hiệu quả xu hướng giá trung hạn.
  • Thêm điều kiện lọc để giảm nhiễu tín hiệu vô hiệu.
  • Các cơ chế rút ra dừng lỗ cố định có thể kiểm soát rất tốt các tổn thất đơn lẻ.

Rủi ro chiến lược

  • Chiến lược giao chéo hai đường đều dễ tạo ra tín hiệu giả trong thị trường biến động, do đó giao dịch quá mức dẫn đến phí giao dịch bổ sung và mất điểm trượt.
  • Cài đặt tham số của chu kỳ cố định như chiều dài đường trung bình, có thể không thích nghi với các đặc điểm của các giai đoạn thị trường, tạo ra không gian tối ưu hóa.
  • Hạn dừng cố định không thể điều chỉnh điểm dừng theo biến động của thị trường và có thể dừng quá sớm trong trường hợp lớn hơn điểm dừng.

Để giảm rủi ro, bạn có thể cân nhắc điều chỉnh tham số đường trung bình theo biến động của thị trường; Bạn cũng có thể sử dụng dừng rời hoặc dừng phần trăm để điểm dừng có thể được điều chỉnh linh hoạt.

Tối ưu hóa chiến lược

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

  1. Tối ưu hóa các tham số của hệ thống đường trung bình, chẳng hạn như điều chỉnh chiều dài đường trung bình theo động thái của các chỉ số như tỷ lệ biến động của thị trường.

  2. Thêm các điều kiện lọc bổ sung, chẳng hạn như tăng số lượng giao dịch, để cải thiện chất lượng tín hiệu.

  3. Tối ưu hóa chiến lược dừng lỗ, sử dụng các phương pháp như dừng động hoặc dừng phần trăm để giảm khả năng dừng lỗ quá sớm.

  4. Kết hợp với các chỉ số khác như MACD, RSI, và nhiều yếu tố xác thực để tăng hiệu quả tín hiệu.

  5. Thêm các chiến lược quản lý rủi ro tự động, chẳng hạn như điều chỉnh kích thước vị trí động, kiểm soát tổn thất đơn lẻ.

  6. Tạo ra mô hình đánh giá tín hiệu chính xác hơn bằng cách thêm các phương pháp học máy vào tín hiệu mua và bán.

Tóm tắt

Chiến lược đường ngắn chéo hai chiều là một chiến lược giao dịch đường ngắn rất thực tế, có các ưu điểm như hoạt động đơn giản và dễ thực hiện. Tuy nhiên, cần chú ý kiểm soát tín hiệu giả của thị trường xung đột và cải tiến các tham số động để tận dụng tối đa hiệu quả của chiến lược. Kết hợp với quản lý dừng lỗ và các biện pháp kiểm soát rủi ro, có thể tăng cường sự ổn định của chiến lược.

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

//@version=4
strategy("MovingAvg Cross", overlay=true)
length = input(50)
confirmBars = input(2)
price = close

ma = sma(price, length)

bcond = price > ma

bcount = 0
bcount := bcond ? nz(bcount[1]) + 1 : 0

clc=close[0]>close[1]
clc0=close[0]>open[0]
clc1=close[1]>open[1]

if clc and clc0 and clc1 and (bcount == confirmBars)
    strategy.entry("buy", strategy.long)


scond = price < ma
scount = 0
scount := scond ? nz(scount[1]) + 1 : 0

csc=close[0]<close[1]
csc0=close[0]<open[0]
csc1=close[1]<open[1]

if csc and csc0 and csc1 and (scount == confirmBars)
    strategy.entry("sell", strategy.short)

strategy.close("buy", when=scond)
strategy.close("sell",when=bcond)
    
plot(ma, color=color.red)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)