Chiến lược theo dõi xu hướng trung bình động

Tác giả:ChaoZhang, Ngày: 2024-01-29 11:46:15
Tags:

img

Tổng quan

Đây là một chiến lược giao dịch định lượng dựa trên xu hướng. Nó chủ yếu sử dụng ba đường trung bình động với các giai đoạn khác nhau, kết hợp với chỉ số ATR, để theo dõi xu hướng thị trường và hỗ trợ xác định thời gian vào và ra.

Nguyên tắc

Chiến lược này sử dụng ba đường trung bình động 9 ngày (ngắn hạn), 15 ngày (trung hạn) và 24 ngày ( dài hạn). Trong số đó, các đường 9 ngày và 15 ngày được sử dụng để xác định hướng xu hướng và thời gian nhập cảnh, trong khi đường 24 ngày được sử dụng để xác định lợi nhuận và dừng lỗ. Đồng thời, chiến lược cũng kết hợp chỉ số ATR để điều chỉnh động các đường trung bình động để thích nghi tốt hơn với biến động của thị trường.

Cụ thể, khi đường trung bình động ngắn hạn vượt qua đường trung bình động trung bình trung hạn, và giá đóng cửa lớn hơn đường trung bình động ngắn hạn, nó cho thấy xu hướng đang bắt đầu xuất hiện và các vị trí dài có thể được thiết lập tại thời điểm này. Khi đường trung bình động ngắn hạn vượt qua đường trung bình động dài hạn, hoặc giá đóng cửa dưới đường trung bình động dài hạn, nó biểu thị sự đảo ngược xu hướng, vì vậy các vị trí hiện có nên được đóng cửa để dừng lỗ hoặc các vị trí ngắn có thể được bắt đầu.

Ngoài ra, chiến lược cũng sử dụng màu thanh để hiển thị trực quan hướng xu hướng. Các thanh có màu xanh lá cây khi đường ngắn hạn nằm trên đường trung hạn và màu đỏ khi dưới đường dài hạn.

Ưu điểm

  1. Sử dụng kết hợp ba đường trung bình động với các giai đoạn khác nhau có thể đánh giá hướng xu hướng chính xác hơn
  2. Áp dụng điều chỉnh động dựa trên ATR của các đường trung bình động thích nghi tốt hơn với thị trường biến động
  3. Thiết lập các cơ chế dừng lỗ / thu lợi nhuận dài và ngắn quản lý rủi ro hiệu quả
  4. Hiệu ứng trực quan của màu thanh tạo ra các tín hiệu mẫu hiệu quả, làm cho các hành động giao dịch rõ ràng hơn

Rủi ro và tối ưu hóa

  1. Có xu hướng tạo ra tín hiệu sai trong các thị trường giới hạn phạm vi
  2. Cài đặt tham số không chính xác (ví dụ như tham số thời gian) có thể dẫn đến giao dịch quá mức hoặc bỏ lỡ các cơ hội nhập cảnh tốt
  3. Xem xét việc kết hợp các bộ lọc khác cho tín hiệu đầu vào, chẳng hạn như khối lượng, MACD v.v.
  4. Các kết hợp tham số khác nhau có thể được thử nghiệm để tìm các tham số tối ưu

Kết luận

Nhìn chung, đây là một chiến lược theo xu hướng tương đối mạnh mẽ. Nó có thể nắm bắt hiệu quả các xu hướng trung và dài hạn, trong khi thiết lập các cơ chế dừng lỗ / lợi nhuận để kiểm soát rủi ro. Nhưng chiến lược nhạy cảm với các thông số và điều kiện thị trường, đòi hỏi tối ưu hóa thêm để thích nghi với nhiều môi trường thị trường hơn.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ceyhun

//@version=4
strategy("Chaloke System Strategy",overlay=true)

P1=input(9,title="ShortTerm Period")
P2=input(15,title="MidTerm Period")
P3=input(24,title="LongTerm Period")
P4=input(5,title="Invesment Term")
P5=input(5,title="ATR Period")
Barcolor=input(true,title="Barcolor")

Sm=2*P5/10
ATRX=Sm*atr(P4)
S=ema(close,P1)-ATRX
M=ema(close,P2)-ATRX
Lg=ema(close,P3)-ATRX

Sht=iff(close==highest(close,3),S,ema(close[1],P1)-ATRX)
Mid=iff(close==highest(close,3),M,ema(close[1],P2)-ATRX)
Lng=iff(close==highest(close,3),Lg,ema(close[1],P3)-ATRX)

colors=iff(Sht>Mid and close > Sht ,color.green,iff(close < Lng or Sht<Lng,color.red,color.black))

plot(Sht,"Short",color=color.green,linewidth=2)
plot(Mid,"Middle",color=color.black,linewidth=2)
plot(Lng,"Long",color=color.red,linewidth=2)

barcolor(Barcolor ? colors :na)
   
long =  crossover(Sht,Mid) and close > Sht
short = crossunder(Sht,Lng) or close < Lng

if long
    strategy.entry("Long", strategy.long, comment="Long")
    
if short
    strategy.entry("Short", strategy.short, comment="Short")

alertcondition(long, title='Long', message='Chaloke System Alert Long')
alertcondition(short, title='Short', message='Chaloke System Alert Short')

Thêm nữa