Chiến lược giao thoa trung bình di chuyển đơn giản dựa trên giao thoa hai trung bình di chuyển, một trung bình di chuyển nhanh hơn (MA nhanh) và một trung bình di chuyển chậm hơn (MA chậm).
Chiến lược này sử dụng hai đường trung bình động. Một là MA nhanh ngắn hạn phản ứng nhanh với những thay đổi giá. Một là MA chậm dài hạn lọc ra các biến động ngắn hạn và phản ánh xu hướng dài hạn tốt hơn. Khi MA nhanh vượt qua trên MA chậm, nó báo hiệu xu hướng tăng trong ngắn hạn và được coi là tín hiệu mua chéo vàng. Khi MA nhanh vượt dưới MA chậm, nó báo hiệu xu hướng giảm ngắn hạn và được coi là tín hiệu bán chéo chết.
Rủi ro có thể được kiểm soát bằng cách đặt dừng lỗ.
Tóm lại, Simple Moving Average Crossover là một chiến lược đơn giản và thực tế theo xu hướng. Nó xác định sự thay đổi xu hướng bằng cách sử dụng các thuộc tính chỉ số của các đường trung bình động. Những lợi thế chính là dễ thực hiện, dễ hiểu và thu hồi tương đối nhỏ. Những nhược điểm chính là các tín hiệu sai tiềm ẩn, bản chất chậm trễ. Chiến lược có thể được cải thiện hơn nữa thông qua tối ưu hóa tham số, thiết lập dừng lỗ và kết hợp với các chỉ số khác.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Moving Average Crossover", overlay=true) // Input parameters fastLength = input(10, title="Fast MA Length") slowLength = input(30, title="Slow MA Length") stopLossPercent = input(1, title="Stop Loss Percentage") // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Buy condition: Fast MA crosses above Slow MA buyCondition = ta.crossover(fastMA, slowMA) // Sell condition: Fast MA crosses below Slow MA sellCondition = ta.crossunder(fastMA, slowMA) // Plot moving averages as lines plot(fastMA, color=color.blue, title="Fast MA", linewidth=2) plot(slowMA, color=color.red, title="Slow MA", linewidth=2) // Execute trades based on conditions if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Set stop loss level stopLossLevel = close * (1 - stopLossPercent / 100) strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel)