Strategi ini adalah sistem mengikuti tren berdasarkan empat Exponential Moving Averages (EMA), menggunakan crossover dan keselarasan EMA 9, 21, 50, dan 200 periode untuk mengidentifikasi tren pasar, dikombinasikan dengan stop-loss berbasis persentase untuk pengendalian risiko. Strategi ini menentukan arah tren pasar dengan memeriksa urutan keselarasan empat moving average, memasuki posisi panjang ketika EMA jangka pendek berada di atas EMA jangka panjang, dan sebaliknya untuk posisi pendek, sambil menerapkan stop-loss persentase tetap untuk manajemen risiko.
Strategi ini menggunakan empat EMA dengan periode yang berbeda (9, 21, 50, 200) untuk menilai tren pasar. Sinyal beli dihasilkan ketika EMA 9 hari berada di atas EMA 21 hari, yang berada di atas EMA 50 hari, yang pada gilirannya berada di atas EMA 200 hari, yang menunjukkan tren naik yang kuat. Sebaliknya, keselarasan berlawanan menghasilkan sinyal jual. Stop-loss 2% diimplementasikan untuk mengontrol kerugian maksimum per perdagangan.
Ini adalah sistem perdagangan trend-following yang komprehensif yang menyediakan identifikasi tren yang dapat diandalkan melalui beberapa EMA sambil menerapkan stop-loss persentase tetap untuk pengendalian risiko. Meskipun sistem ini memiliki beberapa keterlambatan yang melekat, sistem ini dapat ditingkatkan lebih lanjut melalui optimasi parameter yang tepat dan integrasi indikator tambahan. Strategi ini sangat cocok untuk pasar yang sangat fluktuatif dan perdagangan trend-following jangka menengah hingga panjang.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-23 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("4 EMA Strategy with Stop Loss", overlay=true) // Define the EMA lengths ema1_length = input(9, title="EMA 1 Length") ema2_length = input(21, title="EMA 2 Length") ema3_length = input(50, title="EMA 3 Length") ema4_length = input(200, title="EMA 4 Length") // Calculate the EMAs ema1 = ta.ema(close, ema1_length) ema2 = ta.ema(close, ema2_length) ema3 = ta.ema(close, ema3_length) ema4 = ta.ema(close, ema4_length) // Plot EMAs on the chart plot(ema1, color=color.blue, title="EMA 9") plot(ema2, color=color.orange, title="EMA 21") plot(ema3, color=color.green, title="EMA 50") plot(ema4, color=color.red, title="EMA 200") // Define conditions for Buy and Sell signals buy_condition = (ema1 > ema2 and ema2 > ema3 and ema3 > ema4) sell_condition = (ema1 < ema2 and ema2 < ema3 and ema3 < ema4) // Input stop loss percentage stop_loss_perc = input(2.0, title="Stop Loss %") // Execute buy signal if (buy_condition) strategy.entry("Buy", strategy.long) // Set stop loss at a percentage below the entry price strategy.exit("Sell", "Buy", stop=strategy.position_avg_price * (1 - stop_loss_perc / 100)) // Execute sell signal if (sell_condition) strategy.entry("Sell", strategy.short) // Set stop loss at a percentage above the entry price strategy.exit("Cover", "Sell", stop=strategy.position_avg_price * (1 + stop_loss_perc / 100))