Gold Cross Dead Cross Strategi Perdagangan Kuantitatif

Penulis:ChaoZhang, Tanggal: 2024-02-02 14:46:11
Tag:

img

Gambaran umum

Strategi ini menghitung crossover rata-rata bergerak sederhana 30 hari (MA30) dan rata-rata bergerak sederhana 200 hari (MA200) dari XAUUSD (emas) untuk mengimplementasikan pembelian silang emas dan penjualan silang mati perdagangan kuantitatif. Strategi ini juga menetapkan harga stop loss dan take profit untuk penutupan posisi otomatis.

Prinsip Strategi

Indikator inti dari strategi ini adalah MA30 dan MA200. Ketika MA30 melintasi di atas MA200, sinyal beli dihasilkan. Ketika MA30 melintasi di bawah MA200, sinyal jual dihasilkan. Salib ini disebut salib emas dan salib mati.

Secara khusus, strategi ini menggunakan perpustakaan ta untuk menghitung MA30 dan MA200. Fungsi ta.crossover dan ta.crossunder kemudian menilai apakah mereka bersilang. Ketika crossover ke atas (gold cross) terjadi, nilai longCondition ditetapkan menjadi benar untuk membeli. Ketika crossover ke bawah (dead cross) terjadi, nilai shortCondition ditetapkan menjadi benar untuk menjual.

Untuk eksekusi order, harga stop loss dan take profit masing-masing 40.000 poin ditetapkan untuk perdagangan panjang dan pendek. Ini sesuai dengan perubahan harga 4.000 poin dalam XAUUSD. Ketika harga memicu stop loss atau take profit, order akan menutup posisi secara otomatis.

Selain itu, mekanisme lindung nilai ditetapkan dalam strategi. Jika posisi saat ini panjang, sinyal silang mati berikutnya akan langsung meratakan posisi dan membalikkannya. Jika posisi saat ini pendek, sinyal silang emas berikutnya juga akan langsung meratakan dan membalikkan posisi. Ini menghindari kerugian besar selama pembalikan tren.

Keuntungan

Ini adalah strategi tren yang sangat sederhana dan intuitif.

  1. Aturan yang jelas dan mudah diterapkan.
  2. Berlaku pada beberapa kerangka waktu untuk perdagangan harian dan jangka panjang.
  3. Selaras dengan siklus pasar dan menangkap pembalikan tren.
  4. Mengatur mekanisme keluar otomatis dengan stop loss / profit untuk mengendalikan kerugian perdagangan tunggal.
  5. Menetapkan lindung nilai untuk menghindari kerugian dari pembalikan tren.

Analisis Risiko

Ada beberapa risiko untuk strategi ini:

  1. Indikator MA tertinggal dan mungkin tidak masuk dengan baik untuk pembalikan tren jangka pendek.
  2. Pengaturan stop loss yang tidak tepat dapat menyebabkan keluar dari perdagangan secara prematur.
  3. Terlalu banyak sinyal terbalik meningkatkan perdagangan yang tidak perlu.
  4. Strategi ini memiliki persyaratan modal untuk menahan penarikan.

Risiko ini dapat dikelola dengan mengoptimalkan parameter, menyesuaikan tingkat stop loss, menyaring sinyal terbalik dll.

Optimalisasi

Strategi dapat dioptimalkan dengan beberapa cara:

  1. Mengoptimalkan parameter MA menggunakan EMA atau rata-rata bergerak tertimbang.
  2. Tambahkan filter lain seperti volume, indikator volatilitas dll.
  3. Mengaktifkan mekanisme lindung nilai hanya pada sinyal yang signifikan.
  4. Atur ukuran posisi untuk efisiensi modal yang lebih baik.
  5. Secara dinamis mengoptimalkan berhenti / keuntungan menggunakan algoritma pembelajaran mesin.

Penyesuaian parameter, penambahan filter, ukuran posisi, dll dapat meningkatkan stabilitas strategi.

Kesimpulan

Ini adalah strategi crossover rata-rata bergerak yang sederhana dan praktis. Ini selaras dengan siklus pasar, mengontrol risiko melalui stop loss / profit exit otomatis dan mekanisme lindung nilai. Mudah dipahami dan diimplementasikan, dapat diterapkan untuk beberapa produk dan kerangka waktu. Optimasi lebih lanjut dapat meningkatkan profil risiko / imbalan. Secara keseluruhan strategi perdagangan kuantitatif yang disarankan.


/*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"}]
*/

//@version=5
strategy("Estrategia de Cruce de Medias Móviles", overlay=true)

// Medias móviles
ma30 = ta.sma(close, 30)
ma60 = ta.sma(close, 60)
ma200 = ta.sma(close, 200)

// Cruce de medias móviles
crossoverUp = ta.crossover(ma30, ma200)
crossoverDown = ta.crossunder(ma30, ma200)

// Señales de compra y venta
longCondition = crossoverUp
shortCondition = crossoverDown

// Ejecución de órdenes
if (longCondition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Cover", "Buy", stop=close - 40.000, limit=close + 40.000)
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", stop=close + 40.000, limit=close - 40.000)

// Plot de las medias móviles
plot(ma30, color=color.blue, title="MA 30")
plot(ma60, color=color.orange, title="MA 60")
plot(ma200, color=color.green, title="MA 200")

// Condiciones para cerrar la posición contraria
if (strategy.position_size > 0)
    if (crossoverDown)
        strategy.close("Buy")
if (strategy.position_size < 0)
    if (crossoverUp)
        strategy.close("Sell")

Lebih banyak