Động cơ MACD ngược bị vướng vào chiến lược scalping ngắn hạn của DMI Breakout

Tác giả:ChaoZhang, Ngày: 2023-11-13 17:42:23
Tags:

img

Tổng quan

Chiến lược này tập trung vào việc mua bán ngắn trong điều kiện thị trường gấu bằng cách sử dụng hai chỉ số dựa trên sức mạnh để cung cấp sự hội tụ rằng sự khởi đầu của một xu hướng giảm ngắn hạn đã xảy ra - nắm bắt cơ hội mua bán ngắn càng sớm càng tốt.

Chiến lược này hoạt động tốt trên các đồng tiền mà bạn có kế hoạch giao dịch dài hạn và hoạt động đặc biệt tốt trong khi sử dụng một bot giao dịch tự động có thể thực hiện giao dịch cho bạn. Nó cho phép bạn bảo hiểm đầu tư của mình bằng cách phân bổ một tỷ lệ phần trăm của các đồng tiền của bạn để giao dịch, mà không phải mạo hiểm toàn bộ cổ phần của bạn. Điều này giảm thiểu tổn thất chưa thực hiện từ giao dịch vì nó cung cấp thêm tiền mặt từ lợi nhuận thu được. Sau đó bạn có thể chọn để giao dịch với tiền mặt này, hoặc sử dụng nó để tái đầu tư khi thị trường đạt đến mức mua hấp dẫn.

Ngoài ra, bạn có thể sử dụng điều này khi giao dịch các hợp đồng trên thị trường tương lai mà không cần phải sở hữu tài sản cơ bản trước khi bán ngắn.

Chiến lược logic

Hệ thống giao dịch sử dụng chỉ số Momentum Average Convergence Divergence (MACD) và chỉ số Divergence Movement Index (DMI) để xác nhận thời điểm tốt nhất để bán.

MACD là một chỉ số xu hướng theo động lực và cung cấp xác định hướng xu hướng ngắn hạn. Trong biến thể này, nó sử dụng 12 giai đoạn như EMA dài nhanh và 26 giai đoạn như EMA dài chậm, với việc làm mịn tín hiệu được đặt ở 9.

DMI chỉ ra xu hướng của giá và so sánh mức thấp và cao trước đó với hai đường được vẽ giữa mỗi đường - đường chuyển động theo hướng tích cực (+DI) và đường chuyển động theo hướng tiêu cực (-DI). Xu hướng có thể được giải thích bằng cách so sánh hai đường và đường nào lớn hơn. Khi DMI âm lớn hơn DMI tích cực, có nhiều khả năng tài sản đang giao dịch trong xu hướng giảm bền vững, và ngược lại.

Hệ thống sẽ bắt đầu giao dịch khi đáp ứng hai điều kiện:

  1. Biểu đồ MACD chuyển hướng giảm.

  2. Khi DMI âm lớn hơn DMI dương.

Chiến lược này đi kèm với một lợi nhuận cố định kết hợp với một điểm dừng biến động, hoạt động như một điểm dừng để thích nghi với sức mạnh của xu hướng. Tùy thuộc vào niềm tin dài hạn của bạn vào tài sản, bạn có thể chỉnh sửa lợi nhuận cố định để bảo thủ hơn hoặc hung hăng hơn.

Vị trí được đóng khi:

Take-Profit Exit: + 8% giảm giá so với giá nhập cảnh.

HOC

Stop-Loss Exit: Giá vượt qua mức dừng biến động.

Nhìn chung, phương pháp này phù hợp với các chiến lược trung hạn và dài hạn. Kiểm tra ngược cho chiến lược này bắt đầu từ ngày 1 tháng 4 năm 2022 đến ngày 18 tháng 7 năm 2022 để chứng minh kết quả của nó trong thị trường gấu. Kiểm tra ngược tiếp tục từ đầu năm 2022 trở đi cũng mang lại lợi nhuận tốt.

Các cặp sản xuất kết quả rất mạnh bao gồm SOLUSDT trên khung thời gian 45m, MATICUSDT trên khung thời gian 2h và AVAUSDT trên khung thời gian 1h.

Phí giao dịch 0,1% cũng được tính đến và phù hợp với phí cơ bản áp dụng trên Binance.

Phân tích lợi thế

Những lợi thế của chiến lược này bao gồm:

  • Sử dụng điểm mạnh của cả chỉ số MACD và DMI để cải thiện độ chính xác của tín hiệu nhập cảnh và tránh đột phá sai.

  • Sử dụng một sự kết hợp của cơ chế dừng thoát lợi nhuận cố định và biến động để đảm bảo lợi nhuận cao hơn trong khi kiểm soát rủi ro.

  • Thích hợp cho xu hướng giảm của thị trường giảm để thu được lợi nhuận scalping ngắn hạn đáng kể.

  • Có thể được sử dụng để bảo hiểm các vị trí dài để kiếm thêm thu nhập hoặc trực tiếp ngắn hợp đồng tương lai để scalping.

  • Kết quả backtest mạnh mẽ, đặc biệt là trên khung thời gian 1h và 45m thích hợp cho giao dịch tần số cao.

Phân tích rủi ro

Những rủi ro của chiến lược này bao gồm:

  • DMI và MACD là các chỉ số chậm có khả năng tạo ra các tín hiệu sai xung quanh các điểm chuyển hướng xu hướng, đòi hỏi theo dõi dừng lỗ.

  • Cài đặt lợi nhuận cố định không chính xác có thể dẫn đến lợi nhuận quá nhỏ hoặc quá lớn.

  • Sự biến động dừng lại có thể bị phá vỡ trong thời gian dao động dữ dội, đòi hỏi sự kết hợp với dừng lỗ bổ sung.

  • Chọn thời gian kiểm tra ngược không đúng có thể dẫn đến kết quả lạc quan quá mức.

  • Hiệu suất trong thế giới thực sẽ bị ảnh hưởng bởi phí giao dịch, trượt lệnh thị trường, v.v. dẫn đến sự lệch so với backtest.

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

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

  • Sử dụng máy học để tự động tối ưu hóa các kết hợp tham số MACD và DMI, thích nghi với các khung thời gian và đồng tiền khác nhau.

  • Thêm lợi nhuận dựa trên biến động động, điều chỉnh phạm vi lợi nhuận dựa trên biến động thị trường.

  • Kết hợp các chỉ số bổ sung, tạo thành một mô hình đa yếu tố để cải thiện lọc.

  • Thêm các mô hình học máy để hỗ trợ MACD và DMI trong việc báo hiệu.

  • Sử dụng lệnh giới hạn thay vì lệnh thị trường để giảm tác động trượt.

  • Thử nghiệm trên các đồng xu riêng lẻ để tìm các thông số khung thời gian tối ưu.

Kết luận

Tóm lại, chiến lược cắt đầu gấu ngắn hạn này cung cấp lợi nhuận định lượng đáng kể bằng cách xác định các khoảnh khắc cắt ngắn tối ưu thông qua sự kết hợp mạnh mẽ của MACD và DMI. Nó có thể được sử dụng để bảo hiểm các vị trí dài và trực tiếp các hợp đồng tương lai ngắn. Tối ưu hóa các điểm dừng và các tham số điều chỉnh có thể cải thiện hơn nữa tỷ lệ thắng. Chiến lược này xứng đáng được ứng dụng và tối ưu hóa tích cực bởi các nhà giao dịch thị trường gấu.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Inverse MACD + DMI Scalping with Volatility Stop (Shorting) (By Coinrule)",

         overlay=true,
         initial_capital=10000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=100,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 4, 1, 0, 0)
notInTrade = strategy.position_size <= 0

// DMI and MACD inputs and calculations
[pos_dm, neg_dm, avg_dm] = ta.dmi(14, 14)
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)

Take_profit = input(3) / 100
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

length = input.int(20, 'Length', minval=2)
src = input(close, 'Source')
factor = input.float(2.0, 'vStop Multiplier', minval=0.25, step=0.25)
volStop(src, atrlen, atrfactor) =>
    var max = src
    var min = src
    var uptrend = true
    var stop = 0.0
    atrM = nz(ta.atr(atrlen) * atrfactor, ta.tr)
    max := math.max(max, src)
    min := math.min(min, src)
    stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
    uptrend := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max := src
        min := src
        stop := uptrend ? max - atrM : min + atrM
        stop
    [stop, uptrend]
    
[vStop, uptrend] = volStop(src, length, factor)

closeShort = close > longTakeProfit or ta.crossunder(close, vStop)

//Entry
strategy.entry(id='short', direction=strategy.short, when=ta.crossover(macd_signal, macd) and pos_dm < neg_dm and timePeriod)

//Exit
strategy.close('short', when=closeShort and timePeriod)


Thêm nữa