Strategi perdagangan kuantitatif MACD yang sederhana dan efisien


Tanggal Pembuatan: 2024-01-26 14:20:04 Akhirnya memodifikasi: 2024-01-26 14:20:04
menyalin: 0 Jumlah klik: 622
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif MACD yang sederhana dan efisien

Ringkasan

Strategi ini adalah strategi perdagangan kuantitatif MACD yang sederhana dan efisien, yang dirancang khusus untuk pasar cryptocurrency, yang cocok untuk perdagangan periode waktu yang lebih tinggi, seperti 1 jam, 4 jam, 1 hari, dll. Strategi ini menggunakan indikator MACD untuk menentukan arah tren pasar, dan dalam kombinasi dengan rata-rata bergerak sederhana untuk menghasilkan sinyal perdagangan.

Prinsip Strategi

Strategi ini menggunakan indikator MACD untuk menentukan tren pasar dan menghasilkan sinyal perdagangan. MACD terdiri dari garis cepat, garis lambat, dan kolom MACD. Garis cepat adalah rata-rata bergerak jangka pendek, garis lambat adalah rata-rata bergerak jangka panjang.

Analisis Keunggulan

Ini adalah strategi yang sangat sederhana dan efektif, dengan beberapa keuntungan terbesar:

  1. Menggunakan MACD untuk menentukan arah pasar, yang merupakan indikator analisis teknis yang sudah mapan dan dapat diandalkan, untuk menilai tren dengan akurat;

  2. Filtrasi sinyal yang digabungkan dengan Moving Average sederhana dapat mencegah sinyal palsu dan meningkatkan akurasi sinyal.

  3. MACD bekerja paling baik di pasar yang sangat berfluktuasi seperti cryptocurrency;

  4. Logika strategi sederhana dan jelas, mudah dipahami dan diterapkan, ambang batasnya rendah, dan mudah diterapkan;

  5. Dapat beroperasi pada siklus waktu yang lebih tinggi, sehingga mengurangi frekuensi transaksi, mengurangi biaya transaksi dan dampak slippage.

Analisis risiko

Namun, strategi ini juga memiliki beberapa risiko, terutama dalam beberapa hal:

  1. Penggunaan Moving Average sederhana sebagai filter sinyal, yang dalam beberapa situasi dapat melewatkan waktu terbaik untuk masuk;

  2. Tidak menggunakan strategi stop-loss yang dapat menyebabkan kerugian tunggal yang lebih besar pada akun;

  3. Mungkin akan menghasilkan beberapa sinyal delay dan sinyal palsu, yang menyebabkan kerugian yang tidak perlu;

  4. Tidak mempertimbangkan waktu dan frekuensi transaksi yang mempengaruhi keuntungan.

Ini adalah risiko yang perlu diperbaiki dan dioptimalkan lebih lanjut.

Arah optimasi

Berdasarkan analisis risiko di atas, strategi ini dapat dioptimalkan lebih lanjut dari beberapa arah:

  1. Mencoba pengaturan parameter yang berbeda dan kombinasi indikator yang berbeda untuk menemukan parameter yang optimal;

  2. Meningkatkan strategi stop loss dan membatasi kerugian tunggal;

  3. Optimalkan pilihan waktu masuk, atur metode verifikasi sinyal yang lebih ketat, dan pastikan sinyal bekerja.

  4. Pertimbangkan pengaruh waktu dan frekuensi perdagangan yang berbeda terhadap tingkat keuntungan secara keseluruhan.

Dengan optimalisasi di beberapa bidang ini, stabilitas, profitabilitas, dan operasional strategi ini dapat ditingkatkan secara signifikan.

Meringkaskan

Secara keseluruhan, ini adalah strategi perdagangan MACD yang sangat berharga. Ini sederhana, efisien, dan mudah diterapkan, sangat cocok bagi mereka yang ingin memulai perdagangan kuantitatif dengan cepat. Strategi ini juga memiliki ruang pengoptimalan yang besar, dan dengan pengujian yang terus-menerus dioptimalkan, dapat dibuat menjadi strategi kuantitatif yang stabil dan efisien, cocok untuk operasi jangka panjang.

Kode Sumber Strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-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/
// © SoftKill21

//@version=4
strategy("MACD crypto strategy", overlay=true)

// Getting inputs
//fast_length = input(title="Fast Length", type=input.integer, defval=12)
//slow_length = input(title="Slow Length", type=input.integer, defval=26)
//src = input(title="Source", type=input.source, defval=close)
//signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
//sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
//sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)

fast_length = 12
slow_length = 26
src = input(title="Source", type=input.source, defval=close)
signal_length = 9
sma_source = true
sma_signal = false

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal



longcondition = hist > 0 
shortcondition = hist < 0 

//sl = input(0.5, title="SL")
//tp = input(0.1, title="tp")

strategy.entry("long",1,when=longcondition)
strategy.entry("short",0,when=shortcondition)

//strategy.exit("x_long", "long" ,loss = close * sl / syminfo.mintick, profit = close * tp / syminfo.mintick , alert_message = "closelong")
//strategy.entry("short",0, when= loss = close * sl / syminfo.mintick)

//strategy.exit("x_short", "short" , loss = close * sl / syminfo.mintick, profit  = close * tp / syminfo.mintick,alert_message = "closeshort")

// risk = input(2, type=input.float,title="Risk percentage of BALANCE")
// strategy.risk.max_intraday_loss(risk, strategy.percent_of_equity)