Trend Following Exponential Moving Average Strategy adalah strategi perdagangan kuantitatif yang didasarkan pada tren. Strategi ini menggunakan Exponential Moving Averages (EMA) dengan periode yang berbeda untuk mengidentifikasi sinyal masuk dan keluar potensial di pasar kripto. Dengan melacak crossover antara EMA yang berbeda, baik peluang pullback maupun peluang masuk tren dapat ditemukan untuk memaksimalkan potensi keuntungan sambil mengurangi risiko.
Strategi ini menggunakan empat EMA dengan periode masing-masing 8, 12, 24 dan 72. Mereka berfungsi sebagai panduan visual pada grafik untuk arah tren. Ketika harga penutupan menembus EMA yang lebih lambat, itu menandakan peluang pembelian. Ketika EMA yang lebih cepat menembus yang lebih lambat, itu menandakan peluang penjualan.
Ada dua sinyal masuk:
Ada tiga sinyal keluar:
Keuntungan terbesar dari strategi ini adalah kemampuan untuk memanfaatkan peluang pullback dan tren. Menggunakan kombinasi EMA yang lebih cepat dan lebih lambat mencegah tertipu oleh fluktuasi jangka pendek. EMA juga menyaring kebisingan harga secara efektif untuk menangkap tren jangka panjang.
Beberapa risiko perlu dicegah:
Langkah-langkah berikut dapat membantu mengendalikan risiko di atas:
Ada ruang untuk optimasi lebih lanjut:
Secara keseluruhan strategi pelacakan EMA ini memanfaatkan peluang tren dan pullback melalui crossover EMA untuk entri. Dengan konfigurasi yang tinggi, kesederhanaan, dan kontrol risiko yang efektif, ia memiliki potensi besar untuk kinerja yang lebih tinggi dengan penyesuaian parameter dan penyempurnaan tambahan. Kekuatannya menjadikannya sistem trend berikut yang direkomendasikan.
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © moondevonyt //@version=5 strategy("Cornoflower Trend Following Crypto", overlay=true) // Input Settings lenEma8 = input(8, title="Length of 8 EMA") lenEma12 = input(12, title="Length of 12 EMA") lenEma24 = input(24, title="Length of 24 EMA") lenEma72 = input(72, title="Length of 72 EMA") // Calculate the EMAs ema8 = ta.ema(close, lenEma8) ema12 = ta.ema(close, lenEma12) ema24 = ta.ema(close, lenEma24) ema72 = ta.ema(close, lenEma72) // Entry Conditions pullbackEntry = ta.crossover(close, ema12) and ta.crossover(close, ema24) and ta.crossover(close, ema72) initialEntry = ta.crossover(close, ema72) and ta.crossover(ema8, ema12) and ta.crossover(ema8, ema24) // Exit Conditions profitTarget = 100 // Example target in pips, adjust according to your preference trailingStop = 50 // Example trailing stop value in pips, adjust according to your preference exitCondition = ta.crossunder(ema12, ema24) // Execute Strategy if pullbackEntry strategy.entry("Pullback Entry", strategy.long) if initialEntry strategy.entry("Initial Entry", strategy.long) if strategy.position_size > 0 strategy.exit("Profit Target", "Pullback Entry", limit=close + (profitTarget * syminfo.mintick)) strategy.exit("Trailing Stop", "Pullback Entry", stop=close - (trailingStop * syminfo.mintick), trail_points=trailingStop) strategy.exit("Exit Condition", "Initial Entry", stop=close, when=exitCondition) // Plot EMAs plot(ema8, color=color.yellow, title="8 EMA", linewidth=1, style=plot.style_line) plot(ema12, color=color.purple, title="12 EMA", linewidth=1, style=plot.style_line) plot(ema24, color=color.blue, title="24 EMA", linewidth=1, style=plot.style_line) plot(ema72, color=color.rgb(235, 255, 59), title="72 EMA", linewidth=1, style=plot.style_line)