Strategi ini adalah sistem perdagangan otomatis yang didasarkan pada beberapa Exponential Moving Averages (EMA), menetapkan sinyal perdagangan melalui analisis hierarkis EMA 5 periode, 20 periode, dan 50 periode.
Strategi ini mendasari keputusan perdagangan pada beberapa crossover EMA jangka waktu dan hubungan posisi.
Ini adalah sistem perdagangan rata-rata bergerak ganda yang dirancang secara ketat yang secara efektif mengendalikan risiko melalui penyaringan hierarkis dan stop-loss dinamis. Meskipun mungkin tidak melihat beberapa pergerakan pasar yang cepat, kinerja yang konsisten di pasar tren. Disarankan untuk menyesuaikan parameter sesuai dengan karakteristik pasar yang berbeda dan mempertimbangkan menambahkan volume dan indikator tambahan lainnya untuk meningkatkan keandalan. Strategi ini cocok untuk investor yang mencari pengembalian yang stabil dalam investasi jangka menengah hingga panjang.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Automated EMA Strategy with Hierarchical Conditions", overlay=true) // Inputs for EMA lengths length_5 = 5 length_20 = 20 length_50 = 50 // Calculating EMAs ema_5 = ta.ema(close, length_5) ema_20_high = ta.ema(high, length_20) ema_20_low = ta.ema(low, length_20) ema_20_close = ta.ema(close, length_20) ema_50 = ta.ema(close, length_50) // Buy condition: 50 EMA < 20 EMA (Close) < 20 EMA (High) < 20 EMA (Low) < 5 EMA // and LTP above all EMAs buy_condition = ema_50 < ema_20_low and ema_20_low < ema_20_close and ema_20_close < ema_20_high and ema_20_high < ema_5 and close > ema_5 and close > ema_20_close and close > ema_20_high and close > ema_20_low and close > ema_50 // Stop-loss and target levels stop_loss = ema_20_low // Target condition: Close below 5 EMA target_condition = close < ema_5 // Check if there's an open position is_in_position = strategy.position_size > 0 // Execute Buy Signal only if no position is open if (buy_condition and not is_in_position) strategy.entry("Buy", strategy.long) // Exit conditions: Stop-loss or target (close below 5 EMA) if (is_in_position and (target_condition or close < stop_loss)) strategy.close("Buy") // Plotting the EMAs plot(ema_5, color=color.blue, title="5 EMA") plot(ema_20_high, color=color.green, title="20 EMA (High)") plot(ema_20_low, color=color.red, title="20 EMA (Low)") plot(ema_20_close, color=color.purple, title="20 EMA (Close)") plot(ema_50, color=color.orange, title="50 EMA")