Tren Mengikuti Strategi Rata-rata Gerak Eksponensial

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

img

Gambaran umum

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.

Logika Strategi

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:

  1. Pullback Entry: Penembusan harga penutupan di atas EMA 12-, 24- dan 72-periode membentuk sinyal masuk mundur.
  2. Trend Entry: Penembusan harga penutupan di atas EMA 72 periode bersama dengan EMA 8 periode yang secara bersamaan melintasi EMA 12 dan 24 periode membentuk sinyal entri tren.

Ada tiga sinyal keluar:

  1. Fixed Profit Taking: Nilai tetap seperti 100 pips ditetapkan sebagai target keuntungan.
  2. Trailing Stop Loss: Stop trailing tetap seperti 50 pips.
  3. Reversal Exit: EMA 24 periode melintasi di bawah EMA 12 periode menunjukkan pembalikan tren untuk keluar.

Analisis Keuntungan

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.

  1. Kemampuan pelacakan tren yang kuat untuk dengan cepat menangkap perubahan pasar.
  2. Keakuratan tinggi dalam mengidentifikasi arah tren.
  3. Fleksibilitas yang baik untuk masuk pada kedua tren dan pullbacks.
  4. Pengendalian risiko yang kuat dengan mekanisme stop loss.

Analisis Risiko

Beberapa risiko perlu dicegah:

  1. Risiko dari pengaturan parameter kunci yang tidak tepat seperti periode EMA yang mempengaruhi kinerja strategi.
  2. Risiko salah menilai sinyal pembalikan tren dari penyeberangan EMA.
  3. Stop loss yang terlalu agresif menyebabkan over-exit.

Langkah-langkah berikut dapat membantu mengendalikan risiko di atas:

  1. Optimalkan parameter dengan memilih kombinasi periode EMA yang tepat.
  2. Tambahkan indikator lain untuk mengkonfirmasi pembalikan.
  3. Memperbaiki mekanisme stop loss dengan meredakan stop level.

Arahan Optimasi

Ada ruang untuk optimasi lebih lanjut:

  1. Tambahkan filter lain seperti MACD dan Bollinger Bands untuk meningkatkan akurasi.
  2. Mengatur secara dinamis tingkat stop loss untuk kondisi volatilitas tinggi.
  3. Uji di berbagai simbol dan kerangka waktu untuk menemukan konfigurasi terbaik.
  4. Sesuaikan target keuntungan dan stop loss berdasarkan keinginan risiko.

Kesimpulan

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)

Lebih banyak