Sumber dimuat naik... memuat...

CCI, DMI, dan Strategi Pendek Panjang Hibrid MACD

Penulis:ChaoZhang, Tarikh: 2024-04-28 13:52:16
Tag:CCIDMIMACD

img

Ringkasan

Strategi ini menggabungkan tiga penunjuk teknikal: Indeks Saluran Komoditi (CCI), Indeks Pergerakan Arah (DMI), dan Divergensi Convergensi Purata Bergerak (MACD) untuk menentukan keadaan overbought dan oversold pasaran dan arah trend. Apabila CCI melanggar di atas kawasan oversold, DI + lebih besar daripada DI-, dan MACD di atas garis isyarat, isyarat beli dihasilkan. Apabila CCI melanggar di bawah kawasan overbought, DI- lebih besar daripada DI+, dan MACD di bawah garis isyarat, isyarat jual dihasilkan.

Prinsip Strategi

  1. Mengira penunjuk CCI untuk menentukan keadaan terlalu banyak beli dan terlalu banyak jual di pasaran. Apabila CCI melanggar di atas kawasan terlalu banyak jual (di bawah -100), ia menunjukkan bahawa pasaran berubah dari kawasan terlalu banyak jual dan mungkin meningkat. Apabila CCI melanggar di bawah kawasan terlalu banyak beli (di atas 100), ia menunjukkan bahawa pasaran berubah dari kawasan terlalu banyak beli dan mungkin jatuh.
  2. Mengira penunjuk DMI untuk menentukan arah trend pasaran. Apabila DI + lebih besar daripada DI-, ia menunjukkan bahawa trend menaik dominan. Apabila DI- lebih besar daripada DI+, ia menunjukkan bahawa trend menurun dominan.
  3. Mengira penunjuk MACD untuk menentukan kekuatan trend pasaran. Apabila MACD berada di atas garis isyarat, ia menunjukkan momentum menaik yang kuat. Apabila MACD berada di bawah garis isyarat, ia menunjukkan momentum menurun yang kuat.
  4. Menggabungkan tiga penunjuk di atas, apabila CCI memecahkan di atas kawasan oversold, DI + lebih besar daripada DI-, dan MACD di atas garis isyarat, isyarat beli dihasilkan. Apabila CCI memecahkan di bawah kawasan overbought, DI - lebih besar daripada DI +, dan MACD di bawah garis isyarat, isyarat jual dihasilkan.

Kelebihan Strategi

  1. Dengan menggabungkan beberapa penunjuk teknikal, pasaran dianalisis dari perspektif yang berbeza, meningkatkan kebolehpercayaan isyarat.
  2. Ia mengambil kira keadaan pasaran yang terlalu banyak dibeli dan terlalu banyak dijual, arah trend, dan kekuatan trend, yang membolehkannya menangkap trend utama pasaran.
  3. Ia menetapkan syarat masuk dan keluar yang jelas, memudahkan pelaksanaan perdagangan automatik.

Risiko Strategi

  1. Semasa turun naik pasaran atau trend yang tidak jelas, strategi ini boleh menghasilkan banyak isyarat palsu, yang membawa kepada perdagangan yang kerap dan kos transaksi yang tinggi.
  2. Strategi ini bergantung pada data sejarah dan mungkin bertindak balas perlahan terhadap peristiwa pasaran tiba-tiba atau berita penting.
  3. Parameter strategi (seperti ambang overbought dan oversold CCI, tempoh garis cepat dan perlahan MACD, dan lain-lain) perlu dioptimumkan untuk pasaran dan instrumen yang berbeza; jika tidak, ia mungkin mempengaruhi prestasi strategi.

Arahan Pengoptimuman Strategi

  1. Memperkenalkan lebih banyak petunjuk teknikal atau petunjuk sentimen pasaran untuk meningkatkan kebolehpercayaan dan kestabilan isyarat.
  2. Mengoptimumkan parameter strategi menggunakan kaedah pengoptimuman pintar seperti algoritma genetik untuk mencari kombinasi parameter yang optimum.
  3. Tambah modul kawalan risiko seperti stop-loss, mengambil keuntungan, dan pengurusan kedudukan untuk meningkatkan nisbah risiko-balasan strategi.
  4. Menetapkan peraturan perdagangan yang berbeza untuk persekitaran pasaran yang berbeza untuk meningkatkan kesesuaian strategi.

Ringkasan

Dengan menggabungkan tiga penunjuk teknikal CCI, DMI, dan MACD, strategi ini membuat penilaian komprehensif mengenai keadaan overbought dan oversold, arah trend, dan kekuatan trend pasaran untuk menjana isyarat beli dan jual.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("CCI, DMI, and MACD Strategy", overlay=true)

// Define inputs
cci_length = input(14, title="CCI Length")
overbought_level = input(100, title="Overbought Level")
oversold_level = input(-100, title="Oversold Level")

// Calculate CCI
cci_value = ta.cci(close, cci_length)

// Calculate DMI
[di_plus, di_minus, _] = ta.dmi(14, 14)

// Calculate MACD
[macd_line, signal_line, _] = ta.macd(close, 24, 52, 9)

// Define buy and sell conditions
buy_signal = ta.crossover(cci_value, oversold_level) and di_plus > di_minus and macd_line > signal_line // CCI crosses above -100, Di+ > Di-, and MACD > Signal
sell_signal = ta.crossunder(cci_value, overbought_level) and di_minus > di_plus and macd_line < signal_line // CCI crosses below 100, Di- > Di+, and MACD < Signal

// Define exit conditions
buy_exit_signal = ta.crossover(cci_value, overbought_level) // CCI crosses above 100
sell_exit_signal = ta.crossunder(cci_value, oversold_level) // CCI crosses below -100

// Execute trades based on conditions
strategy.entry("Buy", strategy.long, when=buy_signal)
strategy.close("Buy", when=buy_exit_signal)

strategy.entry("Sell", strategy.short, when=sell_signal)
strategy.close("Sell", when=sell_exit_signal)

// Plot CCI
plot(cci_value, title="CCI", color=color.blue)

// Plot DMI
plot(di_plus, title="DI+", color=color.green)
plot(di_minus, title="DI-", color=color.red)

// Plot MACD and Signal lines
plot(macd_line, title="MACD", color=color.orange)
plot(signal_line, title="Signal", color=color.purple)

// Plot overbought and oversold levels
hline(overbought_level, "Overbought", color=color.red)
hline(oversold_level, "Oversold", color=color.green)


Berkaitan

Lebih lanjut