Chiến lược xu hướng chéo trung bình động là một chiến lược theo xu hướng dựa trên các tín hiệu chéo trung bình động. Nó sử dụng thập giá vàng và thập giá chết của các trung bình di chuyển nhanh và chậm để xác định xu hướng thị trường, thiết lập các vị trí ở đầu xu hướng và đóng các vị trí khi các tín hiệu đảo ngược xu hướng xuất hiện.
Chiến lược này sử dụng sự chéo chéo của biểu đồ MACD và đường tín hiệu để xác định sự bắt đầu và kết thúc của xu hướng. Cụ thể, nó xây dựng biểu đồ MACD dựa trên EMA nhanh 12 giai đoạn và EMA chậm 26 giai đoạn. Khi biểu đồ vượt qua trên đường tín hiệu, một tín hiệu mua được tạo ra, cho thấy sự bắt đầu của xu hướng tăng. Khi biểu đồ vượt qua dưới đường tín hiệu, một tín hiệu bán được kích hoạt, đánh dấu sự bắt đầu của xu hướng giảm.
Đối với các mục nhập, chiến lược chỉ kéo dài khi một tín hiệu mua được tạo ra trên biểu đồ 15 phút để tận dụng giai đoạn đầu của xu hướng bắt đầu. Đối với lối ra, nó đóng tất cả các vị trí khi biểu đồ MACD vượt qua dưới đường tín hiệu trên biểu đồ 4 giờ, báo hiệu một sự đảo ngược xu hướng.
Ưu điểm lớn nhất của chiến lược này là khả năng bắt kịp thời bắt đầu xu hướng và thoát khỏi các tín hiệu đảo ngược, đạt được tỷ lệ rủi ro-lợi nhuận tốt.
Ngoài ra còn có một số rủi ro chủ yếu trong các khía cạnh sau:
Để giảm thiểu rủi ro, tối ưu hóa có thể được thực hiện trong:
Các khía cạnh chính để tối ưu hóa hơn nữa chiến lược bao gồm:
Nói chung, Chiến lược xu hướng chéo trung bình di chuyển là một hệ thống theo xu hướng đơn giản và thực tế. Nó tận dụng xu hướng bằng cách xác định khởi đầu và kết thúc bằng cách sử dụng chéo MACD, và kết hợp các vị trí ngắn hạn và dài hạn. Những lợi thế nằm trong việc nhập vào kịp thời, dừng hiệu quả và cân bằng rủi ro-lợi nhuận.
/*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)