Strategi ini adalah sistem yang mengikuti trend berdasarkan empat Exponential Moving Averages (EMA), menggunakan persilangan dan penyelarasan EMA 9, 21, 50, dan 200 tempoh untuk mengenal pasti trend pasaran, digabungkan dengan stop-loss berasaskan peratusan untuk kawalan risiko. Strategi menentukan arah trend pasaran dengan memeriksa susunan penyelarasan empat purata bergerak, memasuki kedudukan panjang apabila EMA jangka pendek berada di atas EMA jangka panjang, dan sebaliknya untuk kedudukan pendek, sambil melaksanakan stop-loss peratusan tetap untuk pengurusan risiko.
Strategi ini menggunakan empat EMA dengan tempoh yang berbeza (9, 21, 50, 200) untuk menilai trend pasaran. Isyarat beli dihasilkan apabila 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 aliran menaik yang kuat. Sebaliknya, penyelarasan bertentangan menghasilkan isyarat jual. Stop-loss 2% dilaksanakan untuk mengawal kerugian maksimum setiap perdagangan.
Ini adalah sistem perdagangan trend berikut yang komprehensif yang menyediakan pengenalan trend yang boleh dipercayai melalui pelbagai EMA sambil melaksanakan stop-loss peratusan tetap untuk kawalan risiko. Walaupun sistem ini mempunyai beberapa kelewatan yang melekat, ia boleh ditingkatkan lagi melalui pengoptimuman parameter yang betul dan integrasi penunjuk tambahan. Strategi ini sangat sesuai untuk pasaran yang sangat tidak menentu dan perdagangan trend berikut 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))