Chiến lược này là một hệ thống theo dõi xu hướng dựa trên nhiều chỉ số trung bình chuyển động nhân tố (EMA). Nó xác định xu hướng thị trường bằng cách tính toán trung bình của các nhóm EMA ngắn hạn và dài hạn và tạo ra các tín hiệu giao dịch tại các giao điểm. Chiến lược này kết hợp các cơ chế lấy lợi nhuận và dừng lỗ để kiểm soát rủi ro và đảm bảo lợi nhuận.
Chiến lược này sử dụng 6 EMA ngắn hạn (3, 5, 8, 10, 12, 15 giai đoạn) và 6 EMA dài hạn (30, 35, 40, 45, 50, 60 giai đoạn). Bằng cách trung bình hóa các EMA này riêng biệt, nó tạo ra các chỉ số xu hướng ngắn hạn và dài hạn mượt mà hơn. Các vị trí dài được bắt đầu khi trung bình ngắn hạn vượt quá trung bình dài hạn, trong khi các vị trí ngắn được thực hiện khi trung bình ngắn hạn vượt qua dưới. Mỗi giao dịch được quản lý với mức lợi nhuận 10% và mức dừng lỗ 5%.
Đây là một chiến lược theo xu hướng có cấu trúc tốt cung cấp các tín hiệu giao dịch tương đối đáng tin cậy thông qua sự kết hợp của nhiều EMA. Mặc dù nó mang một số rủi ro chậm trễ vốn có, hiệu suất tổng thể có thể được tăng thêm thông qua các thiết lập lấy lợi nhuận và dừng lỗ thích hợp và các hướng tối ưu hóa được đề xuất. Chiến lược đặc biệt phù hợp với các thị trường có xu hướng rõ ràng.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Pavan Guppy Strategy", shorttitle="Pavan Avg", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Short-term EMAs shortEMA1 = ta.ema(close, 3) shortEMA2 = ta.ema(close, 5) shortEMA3 = ta.ema(close, 8) shortEMA4 = ta.ema(close, 10) shortEMA5 = ta.ema(close, 12) shortEMA6 = ta.ema(close, 15) // Long-term EMAs longEMA1 = ta.ema(close, 30) longEMA2 = ta.ema(close, 35) longEMA3 = ta.ema(close, 40) longEMA4 = ta.ema(close, 45) longEMA5 = ta.ema(close, 50) longEMA6 = ta.ema(close, 60) // Average short-term EMAs shortAvg = (shortEMA1 + shortEMA2 + shortEMA3 + shortEMA4 + shortEMA5 + shortEMA6) / 6.0 // Average long-term EMAs longAvg = (longEMA1 + longEMA2 + longEMA3 + longEMA4 + longEMA5 + longEMA6) / 6.0 // Plot averaged EMAs plot(shortAvg, color=color.green, linewidth=2, title="Averaged Short-term EMAs") plot(longAvg, color=color.red, linewidth=2, title="Averaged Long-term EMAs") // Define the target and stop loss percentages takeProfitPerc = 10 stopLossPerc = 5 // Generate buy signal when shortAvg crosses above longAvg if ta.crossover(shortAvg, longAvg) strategy.entry("Buy", strategy.long) // Generate sell signal when shortAvg crosses below longAvg if ta.crossunder(shortAvg, longAvg) strategy.entry("Sell", strategy.short) // Calculate take profit and stop loss prices for long trades longTakeProfit = close * (1 + (takeProfitPerc / 100.0)) longStopLoss = close * (1 - (stopLossPerc / 100.0)) // Set take profit and stop loss for long positions strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=longTakeProfit, stop=longStopLoss) // Calculate take profit and stop loss prices for short trades shortTakeProfit = close * (1 - takeProfitPerc / 100.0) shortStopLoss = close * (1 + stopLossPerc / 100.0) // Set take profit and stop loss for short positions strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=shortTakeProfit, stop=shortStopLoss)