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


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

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 trên đường vòng vào giao dịch trong ngày để có được sự hỗ trợ của xu hướng dài hơn, hướng dẫn các quyết định giao dịch trong ngày.

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

Chiến lược này đầu tiên tính toán trong mã 6 ngày, 12 ngày, 26 ngày, 52 ngày EMA trên đường mặt trời, và 42 ngày, 84 ngày, 182 ngày, 364 ngày EMA dưới các thiết lập tham số tương ứng với đường tròn EMA.

Sau đó, dựa trên EMA ngày 42 và EMA ngày 84, các đường cong vàng và đường cong chết được đánh giá để xác định xu hướng dài hạn; dựa trên EMA ngày 84 và EMA ngày 182, các đường cong vàng và đường cong chết được đánh giá để xác định xu hướng trung hạn.

Khi EMA có chu kỳ ngắn hơn, hãy vào vị trí dài; khi EMA có chu kỳ ngắn hơn, hãy thoát vị trí.

Với phương pháp này, chúng ta có được sự hỗ trợ của chỉ số EMA cấp vòng xoay trong giao dịch trong ngày, có thể lọc ra một số tiếng ồn và khóa 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 trong ngày và sự ổn định của EMA tuần hoàn, với các lợi thế chính như sau:

  1. Giao dịch trong ngày có thể chọn thời gian nhập vào chính xác hơn dựa trên FORMATION trong ngày.

  2. Các tham số EMA đường viền được thiết lập ổn định hơn, không dễ bị ảnh hưởng bởi biến động giá ngắn hạn. Đồng thời, hình dạng trong ngày kết hợp với xu hướng phán đoán, ra sân sớm hơn.

  3. EMA có thể xác định rõ điểm chuyển hướng theo giai đoạn. Các giao dịch trong ngày được hỗ trợ để kiếm lợi nhuận, tỷ lệ thắng tổng thể cao hơn.

  4. Sử dụng các cặp EMA khác nhau, bạn có thể khóa cơ hội xu hướng ở các cấp dài, trung và ngắn.

  5. Chiến lược giao dịch có tần suất thấp, phù hợp với việc nắm giữ đường dài. Nó có thể làm giảm mất điểm trượt do số lần giao dịch.

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 của EMA vòng tròn có thể bị trễ, không thể nắm bắt được thời điểm đầu tiên của sự thay đổi giá.

  2. Các trận đấu trong ngày phụ thuộc vào EMA Cross, không xem xét các yếu tố như hình dạng, biến động, và có thể ra đi sớm.

  3. EMA có ít giao dịch ngang và dễ bị giữ vị thế một bên quá lâu.

  4. Không có cơ chế dừng lỗ, rủi ro rút tiền cao hơn, cần phải được quản lý tích cực bởi con người.

  5. Cài đặt tham số là thô lỗ, các đồng tiền khác nhau cần điều chỉnh để đạt được hiệu quả tối ưu.

Bạn có thể làm giảm nguy cơ bằng cách:

  1. Kết hợp với các chỉ số khác để xác định hình thức ENTRY, sắp xếp trước điểm nhập cảnh EMA.

  2. Thêm các quy tắc ngoài cuộc, chẳng hạn như dừng lỗ, kết thúc dừng lợi nhuận, v.v., để tránh giữ vị trí đơn phương quá lâu.

  3. Tối ưu hóa tham số chu kỳ EMA, thử nghiệm các kết hợp chu kỳ phù hợp với các loại tiền tệ khác nhau.

  4. Giao dịch đa cấp, giữ vị trí phân tầng theo chu kỳ EMA khác nhau, giảm rủi ro giữ vị trí đơn phương.

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

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

  1. Thêm các quy tắc truy cập giao dịch trong ngày, chẳng hạn như định hình, khối lượng giao dịch, và lọc vào tiếng ồn.

  2. Các chỉ số như stoch, MACD và các chỉ số khác đã được sử dụng để đánh giá giá thâm nhập và thâm nhập.

  3. Tăng hệ thống dừng lỗ, giảm rủi ro rút tiền và khóa lợi nhuận.

  4. Tối ưu hóa tham số chu kỳ EMA, kiểm tra hiệu quả của các kết hợp chu kỳ khác nhau.

  5. Thử các thiết lập EMA khác nhau, chẳng hạn như DEMA, TEMA và các tham số khác để cải thiện độ mịn.

  6. Thêm cơ chế quản lý vị trí, các tín hiệu EMA khác nhau sử dụng các vị trí khác nhau.

  7. Nghiên cứu các thiết lập tham số khác nhau và xây dựng chiến lược phù hợp với 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 động của tham số EMA.

Tóm tắt

Đây là một chiến lược theo dõi xu hướng rất phù hợp cho các vị trí dài dòng. Nó kết hợp một cách khéo léo các phán đoán xu hướng đường tròn và thực hiện giao dịch trong ngày. Với sự tối ưu hóa thích hợp, nó có thể trở thành một hệ thống giao dịch đa khung thời gian rất thực tế.

Mã nguồn chiến lược
/*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)