Strategi perdagangan golden cross berbasis EMA


Tanggal Pembuatan: 2024-02-22 17:48:09 Akhirnya memodifikasi: 2024-02-22 17:48:09
menyalin: 1 Jumlah klik: 729
1
fokus pada
1617
Pengikut

Strategi perdagangan golden cross berbasis EMA

Ringkasan

EMA Gold Cross Trading Strategy Dengan menghitung rata-rata EMA dari berbagai periode, menilai persimpangan mereka, untuk mengirim sinyal beli dan jual. Ketika EMA periode pendek melewati EMA periode panjang, menghasilkan sinyal beli; Ketika EMA periode pendek melewati EMA periode panjang, menghasilkan sinyal jual.

Prinsip Strategi

Inti dari strategi ini adalah menghitung rata-rata EMA untuk dua periode yang berbeda, termasuk rata-rata EMA untuk periode yang lebih pendek, dengan periode default 9, dan rata-rata EMA untuk periode yang lebih lama, dengan periode default 20. Kode menghitung kedua garis tersebut secara terpisah dengan memanggil fungsi built-in ema dalam skrip pin. Kemudian menghasilkan perdagangan dengan menilai apakah dua garis EMA bersilang.

Fungsi crossover menentukan apakah garis lurus melewati garis lurus dari bawah, dan mengembalikan nilai bull; fungsi crossunder menentukan apakah garis lurus melewati garis lurus dari atas, dan mengembalikan nilai bull. Berdasarkan nilai balik dari kedua fungsi tersebut, kode mengirimkan instruksi beli atau jual yang sesuai.

Selain itu, kode ini juga menyediakan beberapa kondisi tambahan, seperti pengaturan tanggal mulai dan akhir, pembatasan hanya melakukan lebih banyak atau hanya melakukan kosong, dll, yang membantu melakukan pengukuran atau pengoptimalan yang lebih halus.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah sangat sederhana, mudah dipahami dan diterapkan, cocok untuk pemula. Selain itu, rata-rata bergerak itu sendiri sebagai indikator pelacakan tren, dapat secara efektif melacak tren pasar, memanfaatkan tren untuk menghasilkan pendapatan tambahan. Akhirnya, strategi ini memiliki sedikit parameter, mudah disesuaikan, dan ini adalah salah satu keuntungannya.

Analisis risiko

Strategi ini terutama menghadapi risiko perdagangan yang berisik dan pembalikan tren. Garis EMA rentan terhadap fluktuasi pasar jangka pendek, yang dapat menghasilkan sinyal yang salah, sehingga menyebabkan perdagangan yang tidak perlu, yang akan meningkatkan frekuensi dan biaya perdagangan. Di sisi lain, ketika sinyal silang muncul, tren mungkin sudah mendekati titik pembalikan, dan risiko perdagangan saat ini lebih besar.

Anda dapat mengurangi noise trading dengan menyesuaikan siklus EMA, atau menambahkan kondisi penyaringan lainnya. Anda juga dapat mengatur stop loss untuk mengontrol kerugian tunggal. Parameter optimasi dapat membuat strategi lebih stabil. Tentu saja, tidak ada strategi perdagangan yang dapat sepenuhnya menghindari kerugian dan memerlukan risiko tertentu.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Optimalkan parameter siklus EMA untuk mencari kombinasi optimal
  2. Menambahkan filter untuk indikator lain seperti MACD, RSI, dan lainnya untuk mengurangi sinyal palsu
  3. Meningkatkan indikator penilaian tren untuk menghindari pembalikan tren
  4. Tergabung dalam saham pilihan dasar
  5. Adaptasi manajemen kepemilikan, seperti pengaturan stop loss berdasarkan ATR

Meringkaskan

EMA Gold Cross adalah strategi pelacakan tren yang sederhana dan efektif. Ini menggunakan EMA Cross untuk menghasilkan sinyal perdagangan yang dapat secara otomatis menangkap tren harga, profit from trends in price. Strategi ini mudah dipahami dan disesuaikan, sangat cocok untuk pemula, dan dapat diintegrasikan ke dalam strategi yang lebih kompleks.

Kode Sumber Strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
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/
// This strategy has been created for illustration purposes only and should not be relied upon as a basis for buying, selling, or holding any asset or security.
// © kirilov

//@version=4
strategy(
     "EMA Cross Strategy",
     overlay=true,
     calc_on_every_tick=true,
     currency=currency.USD
     )

// INPUT:

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

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

// Options that configure the backtest date range
startDate = input(title="Start Date", type=input.time, defval=timestamp("01 Jan 1970 00:00"))
endDate = input(title="End Date", type=input.time, defval=timestamp("31 Dec 2170 23:59"))


// CALCULATIONS:

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


// PLOT:

// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.black, linewidth=2)
plot(series=slowEMA, color=color.red, 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 = crossover(fastEMA, slowEMA)
shortCondition = crossunder(fastEMA, slowEMA)


// ORDERS:

// Submit entry (or reverse) orders
if (longCondition and inDateRange)
    strategy.entry(id="long", long=true, when = longOK)
if (shortCondition and inDateRange)
    strategy.entry(id="short", long=false, when = shortOK)
    
// Submit exit orders in the cases where we trade only long or only short
if (strategy.position_size > 0 and shortCondition)
    strategy.exit(id="exit long", stop=close)
if (strategy.position_size < 0 and longCondition)
    strategy.exit(id="exit short", stop=close)