Chiến lược chéo trung bình di chuyển 9 và 20

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

Tổng quan

Chiến lược này sử dụng sự chéo chéo của các đường trung bình động 9 ngày và 20 ngày để xác định hướng xu hướng và đưa ra quyết định giao dịch. Nó tích hợp các đường trung bình động, nến và phân tích giá khối lượng, làm cho nó trở thành một chiến lược giao dịch ngắn hạn điển hình.

Chiến lược logic

Đây là một chiến lược đơn giản theo xu hướng dựa trên sự chéo chéo của trung bình động 9 ngày và 20 ngày.

  1. Đặt màu nến. Nến màu xanh lá cây nếu giá đóng cửa ngày hôm nay cao hơn ngày hôm qua, và màu đỏ nếu thấp hơn.

  2. Đặt màu của MA 9 ngày. Nó màu xanh lá cây nếu MA 9 ngày tăng và MA 20 ngày cũng tăng. Nó màu đỏ nếu MA 9 ngày giảm và MA 20 ngày cũng giảm. Nếu không, nó màu đen.

  3. Đặt màu của MA 20 ngày. Nó màu đen nếu MA 20 ngày tăng và màu đen nếu nó giảm. Nếu không, không có thay đổi.

  4. Đánh dấu 200 ngày MA trong hải quân.

  5. Xác định các điểm chéo của MAs 9 ngày và 20 ngày bằng màu tím.

  6. Định giá trung bình theo khối lượng (VWAP) bằng màu trắng.

  7. Đi dài khi MA 9 ngày vượt qua trên MA 20 ngày, và đi ngắn khi vượt dưới.

Điều trên kết hợp trung bình động, nến, điểm chéo và phân tích giá khối lượng để xác định xu hướng và tín hiệu thị trường.

Ưu điểm

Chiến lược ngắn hạn đơn giản này có những lợi thế sau:

  1. Dễ sử dụng, chỉ cần quan sát mối quan hệ giữa hai MA.

  2. Lượng rút nhỏ phù hợp với giao dịch ngắn hạn.

  3. Dễ dàng xác định tín hiệu xu hướng. MA chéo là tín hiệu đảo ngược xu hướng rõ ràng.

  4. Tích hợp nhiều chỉ số kỹ thuật để đưa ra quyết định tốt hơn.

  5. Mã đơn giản và sạch sẽ để kiểm tra và tối ưu hóa dễ dàng. MQL4 cho phép triển khai nhanh chóng và điều chỉnh tham số.

  6. Áp dụng cho các sản phẩm và khung thời gian khác nhau. Nó hoạt động trên bất kỳ sản phẩm nào có dữ liệu OHLC.

Rủi ro

Mặc dù có những lợi thế, chiến lược cũng có những rủi ro sau:

  1. Các thông số MA cần tối ưu hóa cho các thị trường khác nhau.

  2. Có xu hướng phá vỡ sai và rút lại tín hiệu có thể nhanh chóng bị vô hiệu hóa.

  3. Không thể xử lý thị trường giới hạn phạm vi. Có thể xảy ra tổn thất thường xuyên trong thị trường không có xu hướng.

  4. Nhược điểm là các tín hiệu ngắn sai có thể dẫn đến tổn thất trong các thị trường hỗn loạn.

  5. Không thể trả lời các sự kiện tin tức lớn, chỉ dựa vào dữ liệu lịch sử.

Để giải quyết rủi ro, hãy xem xét điều chỉnh kích thước vị trí, sử dụng stop loss, tối ưu hóa các tham số hoặc kết hợp với các yếu tố khác.

Tối ưu hóa

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

  1. Tối ưu hóa thời gian MA để tìm sự kết hợp tốt nhất cho các thị trường khác nhau.

  2. Thêm các chỉ số khác vào các tín hiệu lọc, ví dụ như MACD, KD, Bollinger Bands. Điều này có thể làm giảm các tín hiệu sai.

  3. Thêm các chiến lược dừng lỗ như dừng lỗ để hạn chế lỗ.

  4. Chỉ giao dịch theo xu hướng rõ ràng và tránh các thị trường giới hạn phạm vi.

  5. Tối ưu hóa các mô hình quản lý tiền bạc bao gồm kích thước vị trí, dừng lỗ, dừng lỗ sau lưng vv để cải thiện sự ổn định.

  6. Kiểm tra hiệu suất trên các sản phẩm và khung thời gian khác nhau và điều chỉnh các thông số.

  7. Áp dụng các mô hình học máy như RNN và LSTM cho kỹ thuật tính năng và tối ưu hóa tham số.

Kết luận

Tóm lại, đây là một chiến lược theo xu hướng ngắn hạn đơn giản và thực tế. Nó xác định xu hướng bằng cách sử dụng MA chéo và tích hợp các ngọn nến, MA và phân tích giá khối lượng để ra quyết định. Nhưng nó cũng có một số rủi ro cần phải được giải quyết thông qua tối ưu hóa tham số, dừng lỗ và quản lý tiền. Học máy có thể cải thiện hơn nữa hiệu suất. Nhìn chung, nó cung cấp một cách tiếp cận đáng tin cậy để giao dịch định lượng đáng nghiên cứu và áp dụng.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=1
strategy("Dieyson daytrade EMA 9+20+200+VWAP and bar & line color", overlay=true)


//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)

//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)

//MM09 Colorful

MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)

plot(ema(close,9), color=col8, style=line, linewidth=2)
plot(ema(close,9), color=col28, style=line, linewidth=2)
plot(ema(close,9), color=col38, style=line, linewidth=2)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(black,0) : na)
col2 = (MMred ? color(black,0) : na)
col3 = (not MMgreen and not MMred ? color(black,0) : na)
col4 = color(navy,0)
plot(ema(close,20), color=col, style=line, linewidth=1)
plot(ema(close,20), color=col2, style=line, linewidth=1)
plot(ema(close,20), color=col3, style=line, linewidth=1)
plot(ema(close,200), color=col4, style=line, linewidth=3)
plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
//plot(cross(ema(close,9), ema(close,200)) ? ema(close,9) : na, style = cross, color=fuchsia, transp=0,linewidth = 4)

colorvwap = color(white,0)
plot(vwap, color=colorvwap, style=line, linewidth=1)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
v = crossunder(ema(close,9), ema(close,20))

strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)




Thêm nữa