Chiến lược động lực trung bình động 5 ngày Golden Cross

Tác giả:ChaoZhang, Ngày: 2023-09-21 12:16:22
Tags:

Tổng quan

Chiến lược này sử dụng các đường chéo MA 5 ngày và 78 ngày để tạo ra các tín hiệu theo đuổi động lực, nhằm mục đích nắm bắt sự đột phá giá ngắn hạn.

Chiến lược logic

  1. Tính toán trung bình di chuyển cân nhắc 3 ngày, 78 ngày và 195 ngày.

  2. 3 ngày vượt qua trên 195 ngày kích hoạt tín hiệu mua.

  3. Khi 3 ngày nằm trên 78 ngày, và 78 ngày trên 195 ngày, xem xét kênh xu hướng tăng hình thành, cũng kích hoạt mua.

  4. Đặt 6ATR động lợi nhuận lấy đường, bán khi giá giảm dưới đường.

  5. Bán tín hiệu khi 3 ngày vượt qua dưới 195 ngày.

Ưu điểm

  1. Nhiều đường chéo MA lọc các sự đột phá giả hiệu quả.

  2. Lợi nhuận năng động tránh được những đòn chém.

  3. Backtest cho thấy thời gian giữ trung bình 2 giờ mỗi giao dịch, phù hợp với giao dịch động lực ngắn hạn.

  4. Tỷ lệ rút tiền tối đa được kiểm soát khoảng 20%.

Rủi ro

  1. Các tham số MA cố định không thích nghi với thị trường thay đổi.

  2. Thời gian mẫu 1 năm hạn chế, cần dữ liệu lớn hơn để xác minh chiến lược.

  3. Các thông số lấy lợi nhuận và dừng lỗ cần tối ưu hóa để kiểm soát rủi ro.

  4. Không thích nghi với khoảng cách giá cả.

  5. Chi phí giao dịch cao.

Những cải tiến

  1. Kiểm tra các combo MA khác nhau để tối ưu hóa.

  2. Tối ưu hóa lợi nhuận và dừng lỗ cho cân bằng rủi ro-lợi nhuận.

  3. Thiết lập bộ lọc để giảm khả năng bị mắc kẹt.

  4. Tối ưu hóa kích thước vị trí, hình kim tự tháp về sức mạnh.

  5. Kiểm tra trên các sản phẩm khác nhau và khung thời gian dài hơn.

  6. Mô phỏng Monte Carlo để đánh giá mức thu hút tối đa.

Tóm lại

Chiến lược này xác định xu hướng tăng với MA vượt qua và thiết lập các quy tắc dừng lợi nhuận năng động với kết quả kiểm tra ngược tốt. Nhưng trong thời gian mẫu hạn chế, sự ổn định param vẫn được xác minh và thất bại trên các khoảng trống. Cần kiểm tra ngược hơn trên các bộ dữ liệu lớn hơn, nhiều bộ lọc hơn để giảm tín hiệu sai, tối ưu hóa các tham số dừng lợi nhuận, đánh giá chi phí giao dịch. Nếu vượt qua các bài kiểm tra tối ưu hóa và xác minh toàn diện, có thể trở thành một hệ thống theo đuổi đà ngắn hạn mạnh mẽ.


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

//@version=4
// © FinTasticTrading 2021/2/14
// This is a 5 day moving average crossing long strategy, used in short term momentum trading strategy.
// Momentum trading Strategy: When S&P 500 index is at up trend (or above 60 sma), buy 10+ stocks in top 20% stock RS ranking at equal weight using this MA5X_L strategy. Change stocks when any stock exited by algorithm.  
// Back test start since 2020/7/1, each long entry for condition 1 is $30000, condition 2 is $20000, with max of 2 long positions.
// Setup: 10 minutes chart
// Buy condition 1) 3 wma cross up 180 wma (5day) 2) 3wma > 60wma > 180wma UP Trend Arrangement (UTA)
// Exit condition 1) 3 wma cross under 180 wma 2) position profit > 20% and 3 wma cross under 6 ATRs line (green)
//@version=4

strategy("MA5X_L", overlay=true, pyramiding=2,default_qty_type=strategy.cash, default_qty_value=100000)
s_len = input( 3 )
m_len = input( 78 )  // 2 day moving average
l_len = input( 195)  // equal to 5 Day moving average
xl_len = input(390)  // 10 day moving average
//Draw WMAs
s_ma = wma(close,s_len)
m_ma = wma(close,m_len)
l_ma = wma(close,l_len)
xl_ma = sma(close,xl_len)
plot(s_ma, color=color.yellow, linewidth=2)
plot(m_ma, color=color.fuchsia, linewidth=2)
plot(l_ma, color=color.blue, linewidth=2)
plot(xl_ma, color = color.gray, linewidth=2)

//ATR Stop Profit , length = 40 or 1 day
Periods = input(title="ATR Period", type=input.integer, defval=40)
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=6.0)
sl=hl2-(Multiplier*atr(Periods))
sl1 = nz(sl[1], sl)
sl := s_ma[1] > sl1 ? max(sl, sl1) : sl
plot(strategy.position_size > 0 ? sl:na, title="Stop Loss", style=plot.style_linebr, linewidth=2, color=color.green)

//Backtest since
condition100 = time>=timestamp(2020, 07, 01, 00, 00) 

//Long Entry Condition 1 : s_ma Cross UP l_ma
if crossover(s_ma, l_ma) and condition100
    strategy.entry("X Up", strategy.long, qty = 30000/close, comment="X Up")

//Long Entry Condition 2 : s_ma > m_ma > l_ma
condition31 = s_ma>m_ma and m_ma>l_ma
condition32 = condition31[1]==false and condition31 == true and condition100
strategy.entry("UTA", strategy.long, qty = 20000/close, when = condition32, comment="UTA")

//Long Exit Condition 1 :  3 wma cross under 180 wma
condition50 = crossunder(s_ma, l_ma)
strategy.close_all(when = condition50, comment="X Dn")

//Long Exit Condition 2 : position profit > 20% and 3 wma cross under 6 ATRs line (green)
strategy.close_all(when = crossunder(close,sl) and strategy.openprofit>30000*0.2, comment="Stop")


Thêm nữa