
Strategi ini adalah sistem pengesanan trend berdasarkan purata bergerak indeks empat kali ganda ((EMA) untuk mengenal pasti trend pasaran melalui perpaduan dan penyelarasan EMA 9, 21, 50 dan 200 dan untuk mengawal risiko dengan peratusan stop loss. Strategi ini menentukan arah trend pasaran dengan menilai urutan empat garis rata-rata, mengambil lebih banyak peluang apabila garis rata-rata jangka pendek berada di atas garis rata-rata jangka panjang, dan sebaliknya melakukan blanko, sambil menetapkan peratusan stop loss tetap untuk mengawal risiko.
Strategi ini menggunakan purata bergerak indeks dari empat kitaran yang berbeza (9, 21, 50, 200) untuk menilai trend pasaran dengan melihat hubungan antara garis rata-rata ini. Apabila EMA 9 berada di atas EMA 21, EMA 21 berada di atas EMA 50, dan EMA 50 berada di atas EMA 200, sistem menganggap bahawa pasaran berada dalam trend naik yang kuat dan mengeluarkan lebih banyak.
Ini adalah sistem perdagangan trend yang disusun dengan baik, yang menyediakan mekanisme pengenalan trend yang lebih dipercayai dengan penggunaan gabungan pelbagai garis rata-rata, sambil menggunakan peratusan stop loss tetap untuk mengawal risiko. Walaupun sistem ini agak ketinggalan zaman, tetapi dengan pengoptimuman parameter yang munasabah dan penambahan petunjuk tambahan, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.
/*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))