Strategi Perdagangan Crossover Rata-rata Bergerak


Tanggal Pembuatan: 2023-11-27 17:25:36 Akhirnya memodifikasi: 2023-11-27 17:25:36
menyalin: 0 Jumlah klik: 639
1
fokus pada
1617
Pengikut

Strategi Perdagangan Crossover Rata-rata Bergerak

Ringkasan

Strategi perdagangan lintas rata-rata bergerak dengan menghitung rata-rata bergerak dari berbagai siklus, untuk membeli atau menjual operasi ketika mereka terjadi garpu emas atau garpu mati, termasuk dalam strategi perdagangan jenis analisis teknis. Strategi ini sederhana, mudah digunakan, kurang modal, penarikan kecil, cocok untuk operasi garis panjang menengah.

Prinsip Strategi

Strategi ini dilakukan dengan menghitung indeks moving average (EMA) 20 dan 50 periode. Operasi pembelian dilakukan ketika 20 periode EMA melewati 50 periode EMA. Operasi penjualan dilakukan ketika 20 periode EMA melewati 50 periode EMA.

Indeks EMA adalah indeks rata-rata bergerak, yang memberikan bobot yang lebih besar pada data terbaru. Rumus perhitungan EMA adalah:

EMAtoday = (Pricetoday * k) + EMAyesterday * (1-k)

Di mana, k = 2/(jumlah siklus + 1)

Dengan demikian, ketika EMA jangka pendek di atas EMA jangka panjang, berarti harga bergerak ke arah bullish, LONG; ketika EMA jangka pendek di bawah EMA jangka panjang, berarti harga bergerak ke arah bearish, SHORT.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Operasi sederhana, mudah dipahami dan dilakukan.
  2. Pengelolaan dana yang lebih baik karena pengelolaan dana yang lebih rendah dan penarikan dana yang lebih kecil.
  3. Parameter ini dapat disesuaikan dengan pasar yang berbeda.
  4. Dapat diterapkan pada semua varietas, baik untuk perdagangan intraday maupun perdagangan tren.

Risiko dan optimasi

Strategi ini juga memiliki risiko sebagai berikut:

  1. Ketika harga bergejolak, sinyal perdagangan akan sering muncul, dan filter harus dipertimbangkan.
  2. Hal ini dikarenakan adanya risiko terjadinya pencurian pada titik jual beli.
  3. Transaksi yang terjebak dalam optimasi parameter membutuhkan lebih banyak verifikasi data historis.

Oleh karena itu, strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Menambahkan filter seperti indikator Brinline untuk mengurangi sinyal palsu.
  2. Untuk menghindari penjarahan, gunakan Stop Loss Logic
  3. Menemukan kombinasi optimal untuk varietas yang berbeda.
  4. Sinyal konfirmasi jual beli yang digabungkan dengan indikator volume transaksi.

Meringkaskan

Strategi perdagangan lintas rata-rata bergerak adalah strategi perdagangan teknologi yang sederhana dan efektif, mudah dipahami, diterapkan, dan diuji pasar. Dengan cara seperti pengoptimalan parameter, penambahan kondisi tambahan, risiko perdagangan dapat dikurangi lebih lanjut, dan stabilitas strategi dapat ditingkatkan. Strategi ini dapat menjadi modul dasar perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
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/
// © brandlabng

//@version=5
//study(title="Holly Grail", overlay = true)
strategy('HG|E15m', overlay=true)
src = input(close, title='Source')

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(20, title='1st MA Length')
type1 = input.string('EMA', '1st MA Type', options=['EMA'])

ma2 = input(50, title='2nd MA Length')
type2 = input.string('EMA', '2nd MA Type', options=['EMA'])

price1 = if type1 == 'EMA'
    ta.ema(price, ma1)

price2 = if type2 == 'EMA'
    ta.ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=plot.style_line, title='1st MA', color=color.new(#219ff3, 0), linewidth=2)
plot(series=price2, style=plot.style_line, title='2nd MA', color=color.new(color.purple, 0), linewidth=2)


longCondition = ta.crossover(price1, price2)
if longCondition
    strategy.entry('Long', strategy.long)

shortCondition = ta.crossunder(price1, price2)
if shortCondition
    strategy.entry('Short', strategy.short)