
Chiến lược này là một hệ thống theo dõi xu hướng dựa trên moving average (EMA) của nhiều chỉ số. Nó xác định xu hướng thị trường bằng cách tính trung bình của các nhóm EMA ngắn hạn và dài hạn và tạo ra tín hiệu giao dịch khi đường cân bằng. Chiến lược tích hợp các cơ chế dừng lỗ để kiểm soát rủi ro và khóa lợi nhuận.
Chiến lược sử dụng 6 EMA ngắn hạn (trong chu kỳ 3, 5, 8, 10, 12, 15) và 6 EMA dài hạn (trong chu kỳ 30, 35, 40, 45, 50, 60). Bằng cách trung bình các đường trung bình này, các chỉ số xu hướng ngắn hạn và dài hạn được tạo ra mượt mà hơn.
Đây là một chiến lược theo dõi xu hướng có cấu trúc tốt, cung cấp một tín hiệu giao dịch tương đối đáng tin cậy thông qua việc sử dụng kết hợp nhiều đường trung bình. Mặc dù có một số rủi ro bị tụt hậu, nhưng hiệu suất tổng thể của chiến lược có thể được nâng cao hơn nữa bằng cách đặt lệnh dừng lỗ hợp lý và hướng tối ưu hóa được đề xuất. Chiến lược này đặc biệt phù hợp để sử dụng trong môi trường 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)