Chiến lược giao dịch hàng ngày dựa trên EMA hàng tuần

Tác giả:ChaoZhang, Ngày: 2023-09-20 17:11:52
Tags:

Tổng quan

Ý tưởng cốt lõi của chiến lược này là lập bản đồ các chỉ số EMA từ khung thời gian hàng tuần đến giao dịch hàng ngày, để có được sự hỗ trợ từ các xu hướng dài hạn và hướng dẫn các quyết định giao dịch hàng ngày.

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

Chiến lược đầu tiên tính toán các EMA 6 ngày, 12 ngày, 26 ngày, 52 ngày trên biểu đồ hàng ngày, cũng như các EMA 42 ngày, 84 ngày, 182 ngày, 364 ngày tương ứng với cài đặt tham số EMA hàng tuần.

Sau đó, các đường chéo của 42 ngày EMA và 84 ngày EMA được sử dụng để xác định xu hướng dài hạn; các đường chéo của 84 ngày EMA và 182 ngày EMA được sử dụng để xác định xu hướng trung hạn.

Khi EMA ngắn hơn vượt qua EMA dài hơn, mua dài; khi EMA ngắn hơn vượt qua EMA dài hơn, đóng các vị trí.

Thông qua phương pháp lập bản đồ này, chúng tôi nhận được sự hỗ trợ từ các chỉ số EMA hàng tuần trong giao dịch hàng ngày, giúp lọc một số tiếng ồn và nắm bắt các cơ hội xu hướng lớn hơn.

Phân tích lợi thế

Chiến lược này kết hợp sự linh hoạt của giao dịch hàng ngày và sự ổn định của EMA hàng tuần, với những lợi thế sau:

  1. EMA hàng tuần có thể lọc hiệu quả tiếng ồn thị trường và xác định các xu hướng thực sự.

  2. Các thông số EMA hàng tuần ổn định hơn, ít bị ảnh hưởng bởi biến động giá ngắn hạn.

  3. Các đường chéo EMA có thể xác định rõ các điểm đảo ngược xu hướng chu kỳ.

  4. Các kết hợp EMA giai đoạn khác nhau nắm bắt các cơ hội xu hướng trên dài, trung bình và ngắn hạn.

  5. Chiến lược có tần suất giao dịch thấp, phù hợp với việc nắm giữ dài. Nó làm giảm chi phí trượt từ giao dịch quá mức.

Phân tích rủi ro

Những rủi ro chính của chiến lược này là:

  1. Các tín hiệu nhập cảnh EMA hàng tuần có thể bị chậm trễ, không thể bắt được thời gian thay đổi giá sớm nhất.

  2. Việc ra khỏi EMA dựa vào đường chéo EMA, mà không xem xét hình thành, biến động vv, có thể dẫn đến việc ra khỏi sớm.

  3. Rất ít đường chéo EMA có xu hướng dẫn đến việc giữ một bên kéo dài.

  4. Không dừng lỗ có nghĩa là rủi ro rút tiền cao, đòi hỏi quản lý của con người tích cực.

  5. Điều chỉnh tham số thô, cần điều chỉnh cho hiệu suất tối ưu trên các đồng xu khác nhau.

Các rủi ro có thể được giảm bằng cách:

  1. Xác định hình thành nhập cảnh với các chỉ số khác, có vị trí trước tín hiệu EMA.

  2. Thêm các quy tắc thoát như dừng lỗ, lấy lợi nhuận để tránh giữ quá mức.

  3. Tối ưu hóa các khoảng thời gian EMA, thử nghiệm các kết hợp khoảng thời gian phù hợp cho các đồng tiền khác nhau.

  4. Giao dịch đa cấp, EMA khác nhau cho các vị trí nhiều lớp, rủi ro nắm giữ một bên thấp hơn.

Hướng dẫn tối ưu hóa

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

  1. Thêm các quy tắc về nhập hàng ngày, như hình thành, âm lượng vv để lọc tiếng ồn.

  2. Kết hợp chứng khoán, MACD để đánh giá quá mua - quá bán để nhập / ra tốt hơn.

  3. Thêm stop loss, lấy lợi nhuận để giảm drawdown, khóa trong lợi nhuận.

  4. Tối ưu hóa các khoảng thời gian EMA, thử nghiệm các kết hợp của các khoảng thời gian khác nhau.

  5. Hãy thử các EMA khác nhau như DEMA, TEMA cho các thông số mượt mà hơn.

  6. Thêm kích thước vị trí dựa trên các tín hiệu EMA khác nhau.

  7. Các thông số nghiên cứu cho các cặp giao dịch khác nhau.

  8. Khám phá các phương pháp học máy để tối ưu hóa EMA năng động.

Kết luận

Đây là một chiến lược theo xu hướng tuyệt vời phù hợp với nắm giữ dài hạn. Nó kết hợp thông minh phán đoán xu hướng hàng tuần và thực hiện hàng ngày. Với các cải tiến thích hợp, nó có thể trở thành một hệ thống giao dịch nhiều khung thời gian rất thực tế.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1

strategy("Investing Weekly mapped to Daily", overlay=true,  pyramiding=100)


// === PLOTTING EMA ===

plot(ema(close, 6), color=aqua, transp=0, linewidth=2, title="ema6")
plot(ema(close, 12), color=white, transp=0, linewidth=2, title="ema12")
plot(ema(close, 26), color=#9802FF, transp=0, linewidth=2, title="ema26")
plot(ema(close, 52), color=orange, transp=0, linewidth=2, title="ema52")
plot(ema(close, 42), color=aqua, transp=0, linewidth=5, title="W-ema6")
plot(ema(close, 84), color=white, transp=0, linewidth=5, title="W-ema12")
plot(ema(close, 182), color=#9802FF, transp=0, linewidth=5, title="W-ema26")
plot(ema(close, 364), color=orange, transp=0, linewidth=5, title="W-ema52")


// === INPUT BACKTEST RANGE ===

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"


// === STRATEGY FOR CRYPTO ===

ema42= ema(close, 42)
ema84= ema(close, 84)
ema182= ema(close, 182)

enterLong1 = cross(ema42, ema84) and ema42 > ema84
exitLong1 = cross(ema42, ema84) and ema42 < ema84

enterLong2 = cross(ema84, ema182) and ema84 > ema182
exitLong2 = cross(ema84, ema182) and ema84 < ema182


strategy.entry(id="Entry_1", long=true, when=enterLong1)
strategy.entry(id="Entry_2", long=true, when=enterLong2)
strategy.entry(id="Exit_1", long=false, when=exitLong1)
strategy.entry(id="Exit_2", long=false, when=exitLong2)


Thêm nữa