Strategi ini adalah sistem mengikuti tren berdasarkan beberapa Exponential Moving Averages (EMA). Ini mengidentifikasi tren pasar dengan menghitung rata-rata kelompok EMA jangka pendek dan jangka panjang dan menghasilkan sinyal perdagangan di crossover. Strategi ini menggabungkan mekanisme mengambil keuntungan dan stop-loss untuk mengontrol risiko dan mengamankan keuntungan.
Strategi ini menggunakan 6 EMA jangka pendek (3, 5, 8, 10, 12, 15 periode) dan 6 EMA jangka panjang (30, 35, 40, 45, 50, 60 periode). Dengan rata-rata EMA ini secara terpisah, ia menciptakan indikator tren jangka pendek dan jangka panjang yang lebih halus. Posisi panjang dimulai ketika rata-rata jangka pendek melintasi di atas rata-rata jangka panjang, sementara posisi pendek diambil ketika rata-rata jangka pendek melintasi di bawah.
Ini adalah strategi mengikuti tren yang terstruktur dengan baik yang memberikan sinyal perdagangan yang relatif dapat diandalkan melalui kombinasi beberapa EMA. Meskipun membawa beberapa risiko lag yang melekat, kinerja keseluruhan dapat ditingkatkan lebih lanjut melalui pengaturan take profit dan stop-loss yang tepat dan arah optimasi yang disarankan. Strategi ini sangat cocok untuk pasar yang menunjukkan tren 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)