
Strategi ini adalah sistem pelacakan tren yang didasarkan pada rata-rata bergerak empat indeks ((EMA) untuk mengidentifikasi tren pasar melalui persilangan dan pencocokan EMA 9, 21, 50 dan 200 periode, dan untuk mengendalikan risiko. Strategi ini menentukan arah tren pasar dengan menilai urutan empat garis rata-rata, mengambil lebih banyak saham ketika rata-rata jangka pendek berada di atas rata-rata jangka panjang, dan sebaliknya melakukan blanko, sambil mengatur stop loss persentase tetap untuk mengendalikan risiko.
Strategi ini menggunakan empat periode berbeda dari rata-rata bergerak indeks (9, 21, 50, 200) untuk menilai tren pasar dengan melihat hubungan antara garis rata-rata ini. Ketika EMA 9 berada di atas EMA 21, EMA 21 berada di atas EMA 50, EMA 50 berada di atas EMA 200, sistem menganggap pasar berada dalam tren naik yang kuat dan mengeluarkan lebih banyak.
Ini adalah sistem perdagangan pelacakan tren yang terstruktur dengan baik, yang menyediakan mekanisme identifikasi tren yang lebih andal dengan penggunaan kombinasi dari beberapa garis rata-rata, sementara menggunakan stop loss persentase tetap untuk mengendalikan risiko. Meskipun ada keterbelakangan dalam sistem, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut dengan pengoptimalan parameter yang masuk akal dan tambahan indikator. Strategi ini sangat cocok untuk pasar dengan banyak fluktuasi, dan perdagangan pelacakan tren jangka menengah dan 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))