Strategi ini adalah sistem mengikuti trend berdasarkan pelbagai Exponential Moving Averages (EMA). Ia mengenal pasti trend pasaran dengan mengira purata kumpulan EMA jangka pendek dan jangka panjang dan menjana isyarat perdagangan di persimpangan. Strategi ini menggabungkan mekanisme mengambil keuntungan dan menghentikan kerugian untuk mengawal risiko dan mendapatkan keuntungan.
Strategi ini menggunakan 6 EMA jangka pendek (3, 5, 8, 10, 12, 15 tempoh) dan 6 EMA jangka panjang (30, 35, 40, 45, 50, 60 tempoh). Dengan rata-rata EMA ini secara berasingan, ia mewujudkan penunjuk trend jangka pendek dan jangka panjang yang lebih lancar. Posisi panjang dimulakan apabila purata jangka pendek melintasi di atas purata jangka panjang, sementara kedudukan pendek diambil apabila purata jangka pendek melintasi di bawah. Setiap perdagangan diuruskan dengan tahap keuntungan 10% dan tahap stop-loss 5%.
Ini adalah strategi trend yang terstruktur dengan baik yang menyediakan isyarat perdagangan yang agak boleh dipercayai melalui kombinasi beberapa EMA. Walaupun ia membawa beberapa risiko lag yang melekat, prestasi keseluruhan dapat ditingkatkan lagi melalui tetapan mengambil keuntungan dan berhenti rugi yang sesuai dan arah pengoptimuman yang dicadangkan. Strategi ini sangat sesuai untuk pasaran yang menunjukkan trend yang jelas.
/*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)