
Chiến lược động lượng SMA kép là một chiến lược giao dịch dựa trên phân tích kỹ thuật, nó tạo ra tín hiệu mua và bán dựa trên hai chỉ số trung bình di chuyển đơn giản (SMA). Nó nhằm mục đích nắm bắt các động lượng giá ngắn hạn đến trung hạn của cổ phiếu.
Chiến lược này sử dụng hai chỉ số SMA, tức là cửa sổ thời gian ngắn và dài - SMA nhanh (dài 9 chu kỳ) và SMA chậm (dài 45 chu kỳ).
Khi giá đóng cửa của cổ phiếu phá vỡ đường trung bình của SMA nhanh và SMA chậm, biểu thị bắt đầu có xu hướng tăng, chiến lược này tạo ra tín hiệu mua / mua nhiều đầu vào thời điểm này và vào vị trí nhiều đầu.
Khi giá giảm xuống hai đường SMA, một xu hướng giảm sẽ bắt đầu, và chiến lược này sẽ tạo ra một tín hiệu bán / bán và đi vào vị trí bán.
Mức dừng lỗ động được thiết lập là điểm cao nhất của ngày trước ((thương mại đối với đầu trắng) và điểm thấp nhất của ngày trước ((thương mại đối với nhiều đầu).
Những ưu điểm chính của chiến lược này là:
Tuy nhiên, giống như tất cả các chiến lược phân tích kỹ thuật, tín hiệu thường xuyên bị lỗi trong tình huống chấn động. Có thể cải thiện bằng cách thêm các chỉ số khác như RSI.
Những rủi ro chính của chiến lược này là:
Dễ bị ảnh hưởng bởi sự dao động và tín hiệu sai: Chỉ phụ thuộc vào giao SMA, tín hiệu tùy ý có thể xuất hiện trong tình huống cân bằng hoặc dao động, dẫn đến chi phí giao dịch không cần thiết. Điều này có thể được giảm bớt bằng cách kết hợp với các chỉ số khác như RSI.
vulnerable to sudden trend reversals: Một sự đảo ngược nhanh chóng sau khi vào thị trường có thể nhanh chóng phá vỡ điểm dừng. Bạn có thể giảm rủi ro này bằng cách tối ưu hóa chiều dài SMA hoặc thêm các bộ lọc khác.
Rủi ro quá phù hợp của các tham số tối ưu hóa: Tối ưu hóa rộng rãi cho chiều dài SMA và các tham số khác có thể dẫn đến hiệu suất đĩa cứng kém. Cần kiểm tra lại một cách vững chắc trong một khoảng thời gian dài.
Chiến lược này có thể được tăng cường bằng cách:
Nói tóm lại, chiến lược động lực hai SMA cung cấp một cách để bắt trực tiếp các xu hướng ngắn đến trung hạn. Mặc dù phương pháp của nó rất cơ bản, nhưng việc thêm các bộ lọc bổ sung, dừng động và tối ưu hóa thận trọng có thể giúp cải thiện lợi nhuận điều chỉnh rủi ro của nó.
/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA Crossover Strategy", overlay=true)
// Input parameters
fast_length = input(9, title="Fast SMA Length")
slow_length = input(45, title="Slow SMA Length")
// Calculate moving averages
fast_sma = ta.sma(close, fast_length)
slow_sma = ta.sma(close, slow_length)
// Buy condition
buy_condition = ta.crossover(close, fast_sma) and ta.crossover(close, slow_sma)
// Sell condition
sell_condition = ta.crossunder(close, fast_sma) and ta.crossunder(close, slow_sma)
// Calculate stop loss levels
prev_low = request.security(syminfo.tickerid, "1D", low[1], lookahead=barmerge.lookahead_on)
prev_high = request.security(syminfo.tickerid, "1D", high[1], lookahead=barmerge.lookahead_on)
// Plot signals on the chart
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Strategy exit conditions
long_stop_loss = sell_condition ? prev_low : na
short_stop_loss = buy_condition ? prev_high : na
strategy.exit("Long Exit", from_entry="Long", when=sell_condition, stop=long_stop_loss)
strategy.exit("Short Exit", from_entry="Short", when=buy_condition, stop=short_stop_loss)
strategy.entry("Long", strategy.long, when=buy_condition)
strategy.entry("Short", strategy.short, when=sell_condition)