Trend Mengikut Strategi Purata Bergerak Eksponen

Penulis:ChaoZhang, Tarikh: 2023-12-01 13:46:46
Tag:

img

Ringkasan

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.

Logika Strategi

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:

  1. Pullback Entry: Harga penutupan melintasi EMA tempoh 12, 24 dan 72 membentuk isyarat kemasukan pullback.
  2. Trend Entry: Penembusan harga penutupan di atas EMA 72 tempoh bersama dengan EMA 8 tempoh yang serentak melintasi kedua-dua EMA 12 dan 24 tempoh membentuk isyarat kemasukan trend.

Terdapat tiga isyarat keluar:

  1. Mengambil Keuntungan Tetap: Nilai tetap seperti 100 pip ditetapkan sebagai sasaran keuntungan.
  2. Stop Stop Loss: Hentian trailing tetap seperti 50 pips.
  3. Penarikan Kembali: Penembusan EMA 24 tempoh di bawah EMA 12 tempoh menunjukkan pembalikan trend untuk keluar.

Analisis Kelebihan

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.

  1. Keupayaan pengesanan trend yang kuat untuk menangkap perubahan pasaran dengan cepat.
  2. Ketepatan tinggi dalam mengenal pasti arah trend.
  3. Fleksibiliti yang baik untuk memasuki kedua-dua trend dan penarikan.
  4. Kawalan risiko yang kukuh dengan mekanika stop loss.

Analisis Risiko

Beberapa risiko perlu dicegah:

  1. Risiko daripada tetapan parameter utama yang tidak betul seperti tempoh EMA yang mempengaruhi prestasi strategi.
  2. Risiko salah menilai isyarat pembalikan trend dari persimpangan EMA.
  3. Stop loss yang terlalu agresif menyebabkan keluar berlebihan.

Langkah-langkah berikut boleh membantu mengawal risiko di atas:

  1. Mengoptimumkan parameter dengan memilih kombinasi tempoh EMA yang sesuai.
  2. Tambah penunjuk lain untuk mengesahkan pembalikan.
  3. Mekanisme stop loss tune halus dengan melegakan tahap berhenti.

Arahan pengoptimuman

Terdapat ruang untuk pengoptimuman lanjut:

  1. Tambah penapis lain seperti MACD dan Bollinger Bands untuk meningkatkan ketepatan.
  2. Sesuaikan secara dinamik tahap stop loss untuk keadaan turun naik yang tinggi.
  3. Uji di pelbagai simbol dan jangka masa untuk mencari konfigurasi terbaik.
  4. Sesuaikan sasaran keuntungan dan stop loss berdasarkan keinginan risiko.

Kesimpulan

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)

Lebih lanjut