Strategi Mengikuti Tren Crossover Rata-rata Bergerak


Tanggal Pembuatan: 2024-02-05 14:12:27 Akhirnya memodifikasi: 2024-02-05 14:12:27
menyalin: 1 Jumlah klik: 543
1
fokus pada
1617
Pengikut

Strategi Mengikuti Tren Crossover Rata-rata Bergerak

Ringkasan

Strategi pelacakan tren lintas rata-rata bergerak adalah strategi perdagangan kuantitatif yang melacak tren pasar. Strategi ini dilakukan dengan menghitung rata-rata bergerak cepat dan rata-rata bergerak lambat, dan menghasilkan sinyal perdagangan saat mereka berselisih untuk menangkap titik balik tren pasar.

Prinsip Strategi

Prinsip inti dari strategi ini adalah menggunakan parameter yang berbeda untuk menilai tren pasar. Strategi ini mendefinisikan satu EMA cepat dan satu EMA lambat. Ketika EMA cepat melewati EMA lambat dari bawah, berarti tren pasar berbalik bull; Ketika EMA cepat melewati EMA lambat dari atas ke bawah, berarti tren pasar berbalik bear.

Strategi akan membuka lebih banyak kartu saat naik dan kosong saat turun. Strategi akan terus memegang posisi sampai stop loss dipicu atau sinyal reversal silang terjadi lagi.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Strategi ini memiliki logika yang sederhana, jelas, dan mudah dipahami, sehingga cocok untuk pemula.
  2. EMA digunakan untuk meluruskan harga, yang dapat secara efektif menyaring kebisingan pasar dan mengidentifikasi tren.
  3. Ada banyak cara untuk memaksimalkan nilai tukar mata uang kripto, seperti:
  4. Strategi dapat diperluas ke versi multi-periode untuk meningkatkan stabilitas.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Dalam situasi yang tidak stabil, mungkin terjadi beberapa kali stop loss yang mempengaruhi keuntungan;
  2. Tidak dapat secara efektif mengidentifikasi jenis tren (bull and bear) yang dapat menyebabkan kerugian besar;
  3. Parameter EMA yang tidak tepat dapat menyebabkan frekuensi transaksi yang terlalu tinggi atau identifikasi yang terlambat.

Untuk mengurangi risiko, pertimbangkan untuk menentukan jenis tren dengan indikator lain, atau atur stop loss ratio yang lebih longgar.

Arah optimasi

Strategi ini juga dapat dioptimalkan dalam beberapa hal:

  1. Meningkatkan penilaian terhadap jenis tren dan menghindari posisi terbalik;
  2. Meningkatkan kualitas sinyal dengan meningkatkan perhitungan siklus waktu;
  3. Mengubah rasio stop loss dan stop loss secara dinamis untuk mengoptimalkan titik keluar.
  4. Dalam kombinasi dengan indikator lain, sinyal penyaringan mengurangi kesalahan perdagangan.

Meringkaskan

Strategi pelacakan tren crossover bergerak rata-rata adalah strategi perdagangan tren yang sederhana dan praktis secara keseluruhan. Gagasan inti strategi ini jelas, mudah dipraktikkan, dan ada ruang untuk pengoptimalan. Dengan penyesuaian parameter, penilaian multi-siklus, dan stop loss dinamis, Anda dapat terus meningkatkan stabilitas dan tingkat keuntungan strategi.

Kode Sumber Strategi
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Zhukov trade', overlay=true, calc_on_every_tick=true, currency=currency.USD)

// INPUT:

// Options to enter fast and slow Exponential Moving Average (EMA) values
emaFast = input.int(title='Fast EMA', defval=10, minval=1, maxval=9999)
emaSlow = input.int(title='Slow EMA', defval=20, minval=1, maxval=9999)

// Option to select trade directions
tradeDirection = input.string(title='Trade Direction', options=['Long', 'Short', 'Both'], defval='Both')

// Options that configure the backtest date range
startDate = input(title='Start Date', defval=timestamp('01 Jan 2023 00:00'))
endDate = input(title='End Date', defval=timestamp('31 Dec 2030 23:59'))

// Set take profit and stop loss percentages
take_profit_percent = input(1.0, title ="Take Profit Percent") / 100.0
stop_loss_percent = input(1.0, title ="Stop Loss Percent") / 100.0

// CALCULATIONS:

// Use the built-in function to calculate two EMA lines
fastEMA = ta.ema(close, emaFast)
slowEMA = ta.ema(close, emaSlow)
emapos = ta.ema(close, 200)

// PLOT:

// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.new(color.orange, 0), linewidth=2)
plot(series=slowEMA, color=color.new(color.blue, 0), linewidth=2)
plot(series=emapos, color=color.new(color.red, 0), linewidth=2)

// CONDITIONS:

// Check if the close time of the current bar falls inside the date range
inDateRange = true

// Translate input into trading conditions
longOK = tradeDirection == 'Long' or tradeDirection == 'Both'
shortOK = tradeDirection == 'Short' or tradeDirection == 'Both'

// Decide if we should go long or short using the built-in functions
longCondition = ta.crossover(fastEMA, slowEMA) and inDateRange
shortCondition = ta.crossunder(fastEMA, slowEMA) and inDateRange

// ORDERS:

// Submit entry (or reverse) orders
if longCondition and longOK
    strategy.entry(id='long', direction=strategy.long)

if shortCondition and shortOK
    strategy.entry(id='short', direction=strategy.short)

// Exit orders
if strategy.position_size > 0 and longOK
    strategy.exit(id='exit long', from_entry='long', limit=strategy.position_avg_price * (1 + take_profit_percent), stop=strategy.position_avg_price * (1 - stop_loss_percent))

if strategy.position_size < 0 and shortOK
    strategy.exit(id='exit short', from_entry='short', limit=strategy.position_avg_price * (1 - take_profit_percent), stop=strategy.position_avg_price * (1 + stop_loss_percent))