Strategi Trend Following Exponential Moving Average adalah strategi perdagangan kuantitatif berdasarkan trend. Ia menggunakan Exponential Moving Averages (EMA) dengan tempoh yang berbeza untuk mengenal pasti isyarat kemasukan dan keluar yang berpotensi di pasaran crypto. Dengan mengesan persilangan antara EMA yang berbeza, kedua-dua peluang pulback dan kemasukan trend dapat ditemui untuk memaksimumkan potensi keuntungan sambil mengurangkan risiko.
Strategi ini menggunakan empat EMA dengan tempoh masing-masing 8, 12, 24 dan 72. Mereka berfungsi sebagai panduan visual pada carta untuk arah trend. Apabila harga penutupan menembusi EMA yang lebih perlahan, ia menandakan peluang membeli. Apabila EMA yang lebih cepat menembusi yang lebih perlahan, ia menandakan peluang penjualan.
Terdapat dua isyarat masuk:
Terdapat tiga isyarat keluar:
Kelebihan terbesar strategi ini adalah keupayaan untuk memanfaatkan peluang penarikan balik dan trend. Menggunakan kombinasi EMA yang lebih cepat dan lebih perlahan menghalang salah arah oleh turun naik jangka pendek. EMA juga menapis bunyi harga dengan berkesan untuk menangkap trend jangka panjang.
Beberapa risiko perlu dicegah:
Langkah-langkah berikut boleh membantu mengawal risiko di atas:
Terdapat ruang untuk pengoptimuman lanjut:
Secara keseluruhan strategi Pengesanan EMA ini memanfaatkan peluang trend dan pullback melalui persilangan EMA untuk entri. Dengan konfigurasi yang tinggi, kesederhanaan, dan kawalan risiko yang berkesan, ia mempunyai potensi yang besar untuk prestasi yang lebih tinggi dengan penyesuaian parameter dan penyempurnaan tambahan. Kekuatannya menjadikannya sistem trend berikut yang disyorkan.
/*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)