Chiến lược theo dõi xu hướng dựa trên các chỉ số EMA

Tác giả:ChaoZhang, Ngày: 2023-11-27 15:30:29
Tags:

img

Tổng quan

Chiến lược này chủ yếu sử dụng EMA và chỉ số lệch chuẩn để xác định hướng xu hướng thông qua các tín hiệu chéo EMA và tìm kiếm các tín hiệu đột phá với lệch chuẩn để tạo ra tín hiệu mua và bán.

Chiến lược logic

Chiến lược bao gồm ba phần chính:

  1. Sự khác biệt EMA (s2): Tính toán sự khác biệt giữa EMA nhanh (ema_range) và EMA chậm (ema_watch) để xác định hướng xu hướng giá.

  2. Kênh lệch chuẩn (s3): Xây dựng kênh trên và dưới dựa trên sự khác biệt EMA với số nhân của độ lệch chuẩn.

  3. Cờ và tín hiệu: Tạo tín hiệu mua khi giá vượt qua đường ray trên từ dưới lên, và bán tín hiệu khi giá vượt qua đường ray dưới từ trên xuống.

Thông qua sự kết hợp các chỉ số này, nó có thể nắm bắt hướng xu hướng của giá và tạo ra tín hiệu mua và bán tại các điểm chính, thuộc về một chiến lược theo dõi xu hướng điển hình.

Phân tích lợi thế

Chiến lược có những lợi thế sau:

  1. EMA có thể theo dõi các xu hướng hiệu quả.
  2. Phạm lệch chuẩn tạo ra các kênh để tránh tín hiệu sai.
  3. Hình dạng lá cờ làm cho tín hiệu rõ ràng.
  4. Cài đặt tham số linh hoạt của các đường trung bình động và số nhân độ lệch chuẩn.
  5. Kiểm soát rút tiền tối đa giúp giảm rủi ro.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro:

  1. Nhiều tín hiệu sai có thể xảy ra ở các thị trường giới hạn phạm vi.
  2. Nhiều lần lệch chuẩn quá lớn có thể bỏ lỡ cơ hội.
  3. Không có lệnh dừng lỗ có thể dẫn đến tổn thất lớn hơn trong quá trình khôi phục.

Các giải pháp:

  1. Thêm đánh giá thị trường giới hạn phạm vi và sử dụng các chiến lược khác thay thế.
  2. Tối ưu hóa các thông số lệch chuẩn.
  3. Thêm stop loss di chuyển để kiểm soát lỗ của các giao dịch riêng lẻ.

Tối ưu hóa

Chiến lược có thể được tối ưu hóa theo các hướng sau:

  1. Thêm thêm các chỉ số như Bollinger Bands để cải thiện chất lượng tín hiệu.
  2. Tối ưu hóa các thông số trung bình động và độ lệch chuẩn.
  3. Thêm các chiến lược dừng lỗ để giảm rút tiền.
  4. Đặt các thông số tín hiệu mua / bán tối ưu theo các thị trường khác nhau.
  5. Thêm các thuật toán học máy để xác định chế độ thị trường tổng thể.

Kết luận

Tóm lại, đây là một chiến lược theo dõi xu hướng điển hình sử dụng EMA và độ lệch chuẩn để xây dựng một hệ thống chỉ số và tạo ra các tín hiệu cờ tại các điểm chính. Những lợi thế nằm trong việc bắt được xu hướng và tránh các tín hiệu sai với độ lệch chuẩn. Những rủi ro chính đến từ các tín hiệu sai trong các thị trường giới hạn phạm vi và rủi ro rút vốn do không có stop loss. Bằng cách thêm các chỉ số đánh giá, tối ưu hóa các tham số và thêm stop loss, chiến lược có thể được tăng cường hơn nữa về tính ổn định và lợi nhuận. Nhìn chung, khuôn khổ chiến lược là hợp lý và có tiềm năng tối ưu hóa lớn.


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

//@version=5
strategy("ROCKET_EWO", overlay=true)
ema_range = input(5)
ema_watch = input(13)
inval_a = input(open)
inval_b = input(open)
ratio = input(0)
max = 5000
s2=ta.ema(inval_a, ema_range) - ta.ema(inval_b, ema_watch)
c_color=s2 <= ratio ? 'red' : 'lime'
s3 = s2 + (ta.stdev(open, 1)) * 5.618
plotshape(s3, color=color.white, style=shape.cross, location=location.abovebar, size=size.auto, show_last=max, transp=30, offset= 0)
cr = s2 > 0
alertcondition(cr, title='[Rocket_EWO]', message='[Rocket_EWO]')
buy = s2 > 1
sell = s2 < -1
txt  = "🚀" + "\n"+ "\n"+ "\n"+ "\n"
plotshape(buy, color=color.lime, style=shape.triangleup, location=location.belowbar ,color=color.white, text=txt, size=size.normal, show_last=max, transp=1, offset= -3)
plotshape(not buy, color=color.red, style=shape.triangledown, location=location.belowbar, size=size.normal, show_last=max, transp=1, offset= 0)
signalperiod = time
s4 = ta.cross(s2, 0) ? time : na
colsig= s2 <= ratio ? color.red : color.lime
plotshape((time==s4)?7000:na,color=color.blue, style=shape.flag, location=location.abovebar, size=size.large, transp=1)

longCondition =  ta.crossover(s2, 1.618)
if (longCondition)
    strategy.entry("LONG Id", strategy.long)

shortCondition = ta.crossunder(s2, 1.618)
if (shortCondition)
    strategy.entry("SHORT Id", strategy.short)

strategy.close("LONG Id", when = s2 < 0.218)
// strategy.risk.max_drawdown(75, strategy.percent_of_equity)


Thêm nữa