Chiến lược này là một hệ thống giao dịch định lượng dựa trên sự chéo chéo của trung bình chuyển động theo hàm số (EMA) 5 giai đoạn và 15 giai đoạn. Nó nhằm mục đích đạt được lợi nhuận ổn định trong khi bảo vệ vốn thông qua mức dừng lỗ và lấy lợi nhuận hợp lý. Chiến lược sử dụng các tín hiệu chéo chéo trung bình chuyển động cổ điển để xác định những thay đổi xu hướng thị trường và kết hợp chúng với các cơ chế quản lý rủi ro để kiểm soát tỷ lệ rủi ro-lợi nhuận của mỗi giao dịch.
Cốt lõi của chiến lược là theo dõi sự chéo chéo giữa trung bình chuyển động nhanh (EMA 5 giai đoạn) và trung bình chuyển động chậm (EMA 15 giai đoạn). Một tín hiệu dài được tạo ra khi EMA 5 giai đoạn vượt trên EMA 15 giai đoạn, trong khi tín hiệu ngắn được tạo ra khi EMA 5 giai đoạn vượt dưới EMA 15 giai đoạn. Đối với mỗi tín hiệu giao dịch, hệ thống tự động thiết lập mức dừng lỗ 1,5% và mức lấy lợi nhuận 3%, đảm bảo tỷ lệ rủi ro-lợi nhuận thuận lợi. Mức dừng lỗ và lấy lợi nhuận được tính dựa trên giá nhập cảnh, kiểm soát hiệu quả rủi ro.
Đây là một chiến lược giao dịch định lượng được cấu trúc tốt với logic rõ ràng. Nó nắm bắt các điểm đảo ngược xu hướng thông qua các đường chéo trung bình động và thực hiện kiểm soát rủi ro với mức dừng lỗ và lấy lợi nhuận cố định. Chiến lược này dễ sử dụng, phù hợp cho người mới bắt đầu và cung cấp một nền tảng tốt để tối ưu hóa hơn nữa. Các nhà giao dịch được khuyên nên tiến hành kiểm tra kỹ lưỡng trước khi thực hiện trực tiếp và tối ưu hóa các tham số theo các đặc điểm thị trường cụ thể.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-26 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5 EMA and 15 EMA Crossover with Stop Loss and Target", overlay=true) // Define EMAs ema5 = ta.ema(close, 5) ema15 = ta.ema(close, 15) // Plot EMAs on the chart plot(ema5, title="5 EMA", color=color.blue) plot(ema15, title="15 EMA", color=color.red) // Crossover conditions longCondition = ta.crossover(ema5, ema15) shortCondition = ta.crossunder(ema5, ema15) // Stop-loss and take-profit percentage stopLossPercent = 1.5 // Stop-loss at 1.5% takeProfitPercent = 3.0 // Take-profit at 3% // Calculate stop-loss and take-profit levels for long and short positions longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // Enter long position with stop-loss and take-profit if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLoss, limit=longTakeProfit) // Enter short position with stop-loss and take-profit if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", "Short", stop=shortStopLoss, limit=shortTakeProfit) // Plot stop-loss and take-profit levels plot(longStopLoss, title="Long Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(longTakeProfit, title="Long Take Profit", color=color.green, linewidth=1, style=plot.style_linebr) plot(shortStopLoss, title="Short Stop Loss", color=color.red, linewidth=1, style=plot.style_linebr) plot(shortTakeProfit, title="Short Take Profit", color=color.green, linewidth=1, style=plot.style_linebr)