Đây là một chiến lược giao dịch định lượng dựa trên chỉ số EMA, đưa ra các quyết định giao dịch bằng cách tính tín hiệu chéo của trung bình động theo cấp số nhân ngắn hạn (9 giai đoạn) và dài hạn (21 giai đoạn). Chiến lược bao gồm các điều kiện dừng lỗ và lấy lợi nhuận được đặt lần lượt ở mức 2% và 4% để kiểm soát rủi ro và khóa lợi nhuận. Ý tưởng cốt lõi là nắm bắt các điểm chuyển đổi xu hướng thị trường thông qua các chéo trung bình chuyển động, cho phép giao dịch mua và bán kịp thời khi xu hướng thị trường thay đổi.
Chiến lược này sử dụng hai đường trung bình động theo cấp số nhân (EMA) với các khoảng thời gian khác nhau: 9 giai đoạn và 21 giai đoạn. Một tín hiệu mua được tạo ra khi đường EMA ngắn hạn vượt trên đường EMA dài hạn, trong khi tín hiệu bán được kích hoạt khi đường EMA ngắn hạn vượt dưới đường EMA dài hạn. Chiến lược này kết hợp các cơ chế quản lý rủi ro thông qua mức dừng lỗ 2% và mức lợi nhuận 4% để bảo vệ vốn và đảm bảo lợi nhuận.
Chiến lược này là một cách tiếp cận theo xu hướng cổ điển nắm bắt sự thay đổi xu hướng thị trường thông qua các giao dịch chéo trung bình động. Mặc dù thiết kế tương đối đơn giản, nó bao gồm logic giao dịch và cơ chế kiểm soát rủi ro hoàn chỉnh. Sự ổn định và lợi nhuận của chiến lược có thể được tăng thêm thông qua các biện pháp tối ưu hóa như điều chỉnh tham số động và đánh giá điều kiện thị trường. Trong ứng dụng thực tế, khuyến cáo tối ưu hóa các tham số dựa trên các công cụ giao dịch cụ thể và điều kiện thị trường trong khi duy trì kiểm soát rủi ro thích hợp.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ancour //@version=5 strategy("Moving Average Crossover", overlay=true) // Define the length for short-term and long-term EMAs shortEmaLength = 9 longEmaLength = 21 // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Plot EMAs on the chart plot(shortEma, title="Short-term EMA", color=color.green, linewidth=2) plot(longEma, title="Long-term EMA", color=color.red, linewidth=2) // Strategy conditions for crossovers longCondition = ta.crossover(shortEma, longEma) shortCondition = ta.crossunder(shortEma, longEma) // Enter long when short EMA crosses above long EMA if (longCondition) strategy.entry("Buy", strategy.long) // Exit long or enter short when short EMA crosses below long EMA if (shortCondition) strategy.entry("Sell", strategy.short) // Optional: Add stop-loss and take-profit levels for risk management stopLossPercent = 2 takeProfitPercent = 4 strategy.exit("Sell TP/SL", "Buy", stop=low * (1 - stopLossPercent/100), limit=high * (1 + takeProfitPercent/100))