Chiến lược này dựa trên các tín hiệu chốt của các đường nứt của đường trung bình di chuyển vào ngày 5 và ngày 78, nhằm mục đích nắm bắt cơ hội từ các đợt phá vỡ Momentum của đường ngắn.
Tính trung bình chuyển động trọng lượng 3, 78 và 195 ngày.
Khi đường 3 đi qua đường 195, tín hiệu mua sẽ được phát ra.
Khi đường 3 ở trên đường 78 và đường 78 ở trên đường 195, nó được coi là trong kênh xu hướng tăng, cũng phát ra tín hiệu mua.
Thiết lập dây dừng động 6 ATR, phát ra tín hiệu dừng bên dưới dây dừng.
Đường 3 sẽ phát ra tín hiệu dừng khi đi xuống đường 195 lần nữa.
Nhiều kết hợp chéo đường trung bình, lọc hiệu quả phá vỡ giả.
Động lực dừng thiết lập để tránh đảo ngược dừng.
Trả lại mỗi giao dịch có chu kỳ nắm giữ trung bình chỉ 2 giờ, phù hợp với giao dịch Momentum ngắn.
Tỷ lệ rút tiền có thể kiểm soát được tối đa là 20%.
Các tham số đường trung bình cố định không thể thích ứng với sự thay đổi của thị trường.
Thời hạn mẫu là 1 năm, cần mở rộng chiến lược xác minh mẫu.
Các tham số dừng lỗ cần được tối ưu hóa để kiểm soát rủi ro.
Không thể đối phó với sự tăng giá.
Chi phí xử lý và điểm trượt có thể cao hơn.
Kiểm tra các tham số đường trung bình khác nhau, tối ưu hóa kết hợp.
Tối ưu hóa các tham số dừng lỗ, cân bằng rủi ro thu nhập.
Thiết lập các điều kiện sàng lọc để giảm khả năng bị giam giữ.
Tối ưu hóa quản lý vị thế, tăng dần theo xu hướng.
Kiểm tra các giống và thời gian dài hơn.
Đánh giá mô phỏng Monte Carlo về rút lui tối đa.
Chiến lược này sử dụng phương pháp cân bằng nhiều ngón vàng để xác định xu hướng tăng giá cổ phiếu, thiết lập quy tắc dừng lỗ động, đo lường hoạt động tốt. Tuy nhiên, chiến lược này có thời gian mẫu ngắn, tính ổn định của tham số phải được xác minh và không thể xử lý tình huống nhảy vọt. Cần mở rộng thêm thời gian mẫu, giới thiệu nhiều điều kiện lọc để giảm tỷ lệ tín hiệu sai, đồng thời tối ưu hóa tham số dừng lỗ và đánh giá tác động chi phí giao dịch, chẳng hạn như phí đặt hàng. Nếu có thể được kiểm tra và tối ưu hóa đầy đủ, chiến lược này có thể trở thành một hệ thống theo dõi đường ngắn ổn định.
/*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")