
Chiến lược xu hướng giao thoa đường trung bình là một chiến lược theo dõi xu hướng dựa trên tín hiệu giao thoa đường trung bình di chuyển. Chiến lược này sử dụng các đường trung bình di chuyển nhanh và đường trung bình di chuyển chậm để đánh giá xu hướng thị trường, thiết lập vị trí trong giai đoạn bắt đầu xu hướng và đóng cửa khi có tín hiệu kết thúc xu hướng.
Chiến lược này sử dụng đường chênh lệch của MACD và đường tín hiệu của Goldilocks để đánh giá sự bắt đầu và kết thúc của xu hướng. Cụ thể hơn, nó sử dụng đường chênh lệch MACD với 12 chu kỳ EMA nhanh và 26 chu kỳ EMA chậm. Khi đường chênh lệch vượt qua đường tín hiệu, nó tạo ra tín hiệu mua cho thấy xu hướng bò bắt đầu; và khi đường chênh lệch vượt qua đường tín hiệu, nó tạo ra tín hiệu bán cho thấy xu hướng gấu bắt đầu.
Khi nhập cảnh, chiến lược này chỉ mở nhiều vị trí khi dòng K tạo ra tín hiệu mua trong vòng 15 phút, tận dụng cơ hội vào thị trường khi bắt đầu giai đoạn xu hướng. Trên vị trí dừng lỗ, nó xuất hiện ở đường chênh lệch của dòng K MACD 4 giờ khi một cái chết đi qua đường tín hiệu, cho thấy xu hướng đảo ngược, và điều này sẽ xóa toàn bộ vị trí dừng lỗ.
Ưu điểm lớn nhất của chiến lược này là có thể nắm bắt cơ hội bắt đầu xu hướng kịp thời, đồng thời có thể dừng lỗ kịp thời bằng tín hiệu chết, để có được tỷ lệ lợi nhuận rủi ro tốt. Các lợi thế cụ thể như sau:
Chiến lược này cũng có một số rủi ro, chủ yếu tập trung vào các khía cạnh sau:
Để giảm thiểu những rủi ro này, có thể tối ưu hóa theo các cách sau:
Chiến lược này có thể được tối ưu hóa hơn nữa từ những khía cạnh sau:
Chiến lược xu hướng chéo đường trung bình nói chung là một chiến lược theo dõi xu hướng đơn giản và thực tế. Nó xác định xu hướng bắt đầu và kết thúc bằng cách chéo đường trung bình nhanh và chậm của MACD và kết hợp với đường ngắn và đường dài để tận dụng xu hướng. Ưu điểm của chiến lược này là vào kịp thời, dừng lỗ hiệu quả, lợi nhuận rủi ro cân bằng. Bước tiếp theo có thể nâng cao hơn nữa sự ổn định và lợi nhuận của chiến lược bằng các phương pháp như tối ưu hóa tham số, lọc tín hiệu.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Moving Average Convergence Divergence", shorttitle="MACD", overlay=true)
// Getting inputs
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])
// Calculating MACD
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal_line = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
// Entry conditions
longCondition = macd < 0 and ta.crossover(macd, signal_line)
shortCondition = ta.crossover(signal_line, macd)
// Plot signals
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")
// Strategy
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)