Dựa trên chiến lược đột phá khoảng trung bình động kép


Ngày tạo: 2023-12-20 13:59:38 sửa đổi lần cuối: 2023-12-20 13:59:38
sao chép: 0 Số nhấp chuột: 716
1
tập trung vào
1621
Người theo dõi

Dựa trên chiến lược đột phá khoảng trung bình động kép

Tổng quan

Chiến lược này theo dõi xu hướng rủi ro thấp bằng cách tính toán đường trung bình trong các chu kỳ khác nhau để xác định giá vượt qua đường trung bình quan trọng.

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

Khi đường trung bình 10 ngày đi qua đường trung bình 200 ngày, và đường trung bình 20 ngày đi qua đường trung bình 50 ngày, hãy làm nhiều hơn; khi đường trung bình 10 ngày đi qua đường trung bình 200 ngày, và đường trung bình 20 ngày đi qua đường trung bình 50 ngày, hãy làm trống. Ở đây, bằng cách đánh giá đường trung bình kép, có thể lọc hiệu quả các đột phá giả.

Chiến lược này bắt đầu bằng cách tính toán các đường trung bình di chuyển chỉ số (EMA) trong bốn chu kỳ khác nhau là 10, 20, 50 và 200 ngày. Trong đó, đường 10 đại diện cho xu hướng ngắn hạn, đường 20 đại diện cho xu hướng trung hạn, đường 50 đại diện cho xu hướng trung hạn và đường 200 đại diện cho xu hướng dài hạn. Khi đường xu hướng ngắn hạn đi qua hoặc đi qua đường xu hướng dài hạn, giá có thể sẽ có một đột phá lớn lên hoặc xuống.

Điều này có thể làm giảm khả năng phá vỡ giả mạo bằng cách lọc bằng hai đường đồng nhất, làm cho tín hiệu giao dịch được tạo ra đáng tin cậy hơn.

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

  1. Sử dụng phán đoán đường trung bình kép, có thể lọc hiệu quả phá vỡ giả, tín hiệu đáng tin cậy hơn
  2. Sự tham gia nhiều chu kỳ, quá trình phán đoán toàn diện và thận trọng hơn
  3. Cài đặt tham số đơn giản, dễ hiểu và sử dụng

Rủi ro chiến lược

  1. Khả năng theo xu hướng mạnh mẽ, nhưng không tận dụng cơ hội đảo ngược
  2. Khi xu hướng đảo ngược, stop loss có thể lớn hơn
  3. Cần dữ liệu lịch sử lâu hơn để hỗ trợ, các cổ phiếu mới hoặc dữ liệu thiếu có thể không hiệu quả

Có thể cải thiện bằng cách giảm bớt mức độ phá vỡ đường trung bình một cách thích hợp, hoặc thêm các chỉ số khác như xác nhận khối lượng giao dịch để tối ưu hóa.

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

  1. Tăng xác nhận khối lượng giao dịch. khối lượng giao dịch có thể xác nhận giá phá vỡ, tránh nhập cảnh khi có khối lượng phá vỡ giả thấp.
  2. Kết hợp với các chỉ số khác như MACD, KDJ như hỗ trợ. Nhiều chỉ số có thể làm tăng sự ổn định của hệ thống.
  3. Các tham số tối ưu hóa tự động. Thiết lập các tham số trung bình 10 ngày, 20 ngày được tối ưu hóa thông qua các thuật toán di truyền, để thích ứng với các môi trường thị trường khác nhau.

Tóm lại, chiến lược tổng thể chủ yếu dựa trên đường hai chiều, được hỗ trợ bởi tối ưu hóa tham số, khối lượng giao dịch và các chỉ số khác, có thể xây dựng một hệ thống theo dõi xu hướng ổn định.

Tóm tắt

Chiến lược này nói chung là một chiến lược theo dõi xu hướng thực tế đơn giản. Nó sử dụng đường trung bình kép làm cơ sở phán đoán giao dịch chính, giảm khả năng phá vỡ giả mạo bằng cách lọc kép, và tín hiệu được tạo ra đáng tin cậy hơn. Đồng thời, cài đặt tham số đơn giản và dễ sử dụng.

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

//@version=3
strategy("Advancing Our Basic Strategy", overlay=true)

ema10 = ema(close, 10)
ema20 = ema(close, 20)
ema50 = ema(close, 50)
ema200 = ema(close, 200)

long = ema10 > ema200 and ema20 > ema50
short = ema10 < ema200 and ema20 < ema50
longcondition = long and long[10] and not long[11]
shortcondition = short and short[10] and not short[11]

closelong = ema10 < ema200 or ema20 < ema50 and not long[11]
closeshort = ema10 > ema200 or ema20 > ema50 and not short[11]

plot(ema10, title="10", color=green, linewidth=2)
plot(ema20, title="20", color=red, linewidth=3)
plot(ema50, title="50", color=purple, linewidth=2)
plot(ema200, title="200", color=blue, linewidth=3)

testPeriodStart = timestamp(2018,8,1,0,0)
testPeriodStop = timestamp(2038,8,30,0,0)

if time >= testPeriodStart and time <= testPeriodStop
    strategy.entry("Long", strategy.long, 1, when=longcondition)
    strategy.entry("Short", strategy.short, 1, when=shortcondition)
    

strategy.close("Long", when = closelong)
strategy.close("Short", when = closeshort)