Chiến lược dừng EMA đụng độ hai động

Tác giả:ChaoZhang, Ngày: 2024-01-24 15:13:07
Tags:

img

Tổng quan

Chiến lược này nhằm mục đích khai thác các sự đảo ngược hoặc tiếp tục xu hướng tiềm năng bằng cách sử dụng Mức trung bình chuyển động biểu số (EMA) và dừng lại dựa trên phương pháp Chande Dynamic Convergence Divergence (CDC) Average True Range. Chiến lược kết hợp nhiều chỉ số để xác định thời gian nhập cảnh và thiết lập mức dừng lỗ và lợi nhuận dựa trên biến động thị trường để kiểm soát rủi ro trong khi nắm bắt các xu hướng mới.

Chiến lược logic

Chiến lược này sử dụng EMA kép 60 giai đoạn và 90 giai đoạn để xác định hướng xu hướng. Một giao thoa mà EMA ngắn hơn di chuyển trên EMA dài hơn cho một tín hiệu tăng. Đồng thời, một giao thoa đường MACD trên đường tín hiệu của nó có thể xác nhận quan điểm tăng.

Các quy tắc thoát là: đóng vị trí khi giá đạt mức lợi nhuận dựa trên ATR hoặc giảm xuống dưới mức dừng lỗ CDC.

Phân tích lợi thế

Chiến lược này kết hợp EMA kép để đánh giá hướng xu hướng chính và MACD để xác nhận thời gian nhập cảnh, tránh đột phá sai. Cả hai mức dừng lại và mục tiêu lợi nhuận được tính dựa trên biến động thị trường để quản lý rủi ro hiệu quả. Cho dù xu hướng đảo ngược hoặc tiếp tục, chiến lược này có thể nắm bắt các cơ hội kịp thời.

Ngoài ra, các thông số đầu vào của chiến lược này có thể được tùy chỉnh. Người dùng có thể điều chỉnh thời gian EMA, thời gian ATR và nhân CDC theo phong cách giao dịch của riêng họ.

Phân tích rủi ro

Rủi ro lớn nhất của chiến lược này là đánh giá xu hướng không chính xác. Khi thị trường đang củng cố, EMA có thể dễ dàng đưa ra tín hiệu sai. Tại thời điểm này, vai trò xác nhận của MACD đặc biệt quan trọng. Ngoài ra, cần phải tăng đúng nhân stop loss CDC để đối phó với khoảng cách giá lớn do các sự kiện đột ngột.

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

  1. Kiểm tra các kết hợp khác nhau của các thông số thời gian EMA để tìm ra cài đặt tối ưu
  2. Kiểm tra các kích thước nhân stop loss khác nhau của CDC
  3. Cố gắng kết hợp các chỉ số khác để lọc thời gian nhập cảnh
  4. Thêm các cơ chế để xử lý các sự kiện thị trường đột ngột

Tóm lại

Chiến lược này sử dụng tốt các lợi thế của các chỉ số xu hướng và biến động để xác định các cơ hội tiềm năng trong chứng khoán. Thông qua tối ưu hóa tham số và cải tiến cơ chế, chiến lược này có tiềm năng tăng cường sự ổn định và lợi nhuận hơn nữa. Nó cung cấp cho các nhà giao dịch định lượng một khuôn khổ chiến lược đáng tin cậy và có thể mở rộng.


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

//@version=5
strategy("Improved EMA & CDC Trailing Stop Strategy", overlay=true)

// Define the inputs
ema60Period = input(60, title="EMA 60 Period")
ema90Period = input(90, title="EMA 90 Period")
atrPeriod = input(24, title="CDC ATR Period")
multiplier = input(4.0, title="CDC Multiplier")
profitTargetMultiplier = input(2.0, title="Profit Target Multiplier (ATR)")

// Calculate EMAs
ema60 = ta.ema(close, ema60Period)
ema90 = ta.ema(close, ema90Period)

// Calculate ATR 
atr = ta.atr(atrPeriod)

// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)

// Define the trailing stop and profit target
longStop = close - multiplier * atr
shortStop = close + multiplier * atr
longProfitTarget = close + profitTargetMultiplier * atr
shortProfitTarget = close - profitTargetMultiplier * atr

// Entry conditions
longCondition = close > ema60 and ema60 > ema90 and macdLine > signalLine and close > longStop
shortCondition = close < ema60 and ema60 < ema90 and macdLine < signalLine and close < shortStop

// Exit conditions based on profit target
longProfitCondition = close >= longProfitTarget
shortProfitCondition = close <= shortProfitTarget

// Plot the EMAs, Stops, and MACD for visualization
plot(ema60, color=color.blue, title="60 EMA")
plot(ema90, color=color.red, title="90 EMA")
plot(longStop, color=color.green, title="Long Stop", style=plot.style_linebr)
plot(shortStop, color=color.red, title="Short Stop", style=plot.style_linebr)
hline(0, "Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")

// Strategy execution using conditional blocks
if longCondition
    strategy.entry("Long", strategy.long)
if shortCondition
    strategy.entry("Short", strategy.short)

// Exit based on profit target and trailing stop
if longProfitCondition or close < longStop
    strategy.close("Long")
if shortProfitCondition or close > shortStop
    strategy.close("Short")



Thêm nữa