ZeroLag MACD Strategi Pendek Panjang

MACD EMA SMA
Tarikh penciptaan: 2024-04-18 17:06:49 Akhirnya diubah suai: 2024-04-18 17:06:49
Salin: 0 Bilangan klik: 1333
1
fokus pada
1617
Pengikut

ZeroLag MACD Strategi Pendek Panjang

ringkasan

Artikel ini membentangkan satu strategi berbilang ruang yang berasaskan indikator ZeroLag MACD. Strategi ini menggunakan indikator ZeroLag MACD yang telah dioptimumkan untuk menghasilkan isyarat beli dan jual, yang membolehkan perdagangan automatik pada carta 1 jam Bitcoin USDT. Kod strategi ini dioptimumkan oleh Albert Callisto (AC) untuk meningkatkan keuntungan dan kestabilan strategi.

Prinsip-prinsip strategi

Strategi ini menggunakan penunjuk ZeroLag MACD sebagai teras untuk menghasilkan isyarat perdagangan dengan mengira perbezaan antara purata bergerak cepat dan purata bergerak perlahan. Penunjuk ZeroLag MACD adalah versi yang lebih baik daripada penunjuk MACD tradisional, meningkatkan kepekaan dan ketepatan masa dengan menghilangkan kesan kelewatan dalam penunjuk.

Khususnya, strategi ini pertama-tama mengira purata bergerak cepat ((12 kitaran secara lalai) dan purata bergerak perlahan ((26 kitaran secara lalai). Kemudian, menggunakan kedua-dua purata bergerak untuk mengira dua komponen indikator ZEROLAG MACD: zerolagEMA dan zerolagslowMA. Kemudian, mengurangkan kedua-dua komponen untuk mendapatkan nilai indikator ZEROLAG MACD. Akhirnya, mengira garis isyarat indikator ZEROLAG MACD ((9 kitaran secara lalai), untuk menghasilkan isyarat beli dan jual.

Strategi menghasilkan isyarat beli apabila ia melintasi garis isyarat di atas ZeroLag MACD; strategi menghasilkan isyarat jual apabila ia melintasi garis isyarat di bawah ZeroLag MACD. Dengan cara ini, strategi dapat melakukan perdagangan berganda dan kosong secara automatik mengikut perubahan trend pasaran.

#Keutamaan taktikal#

  1. Menghapuskan kesan kelewatan: Indikator ZeroLag MACD dengan penambahbaikan kepada indikator MACD tradisional, berkesan menghapuskan kesan kelewatan dalam indikator, meningkatkan kepekaan dan ketepatan masa indikator, yang membolehkannya mencerminkan perubahan trend pasaran dengan lebih cepat.

  2. Adaptif: Strategi ini dapat menyesuaikan diri dengan pelbagai keadaan pasaran dan jenis perdagangan dengan menyesuaikan parameter (seperti kitaran purata bergerak cepat, kitaran purata bergerak perlahan dan kitaran garis isyarat).

  3. Perdagangan automatik: Strategi berdasarkan peraturan perdagangan yang jelas yang membolehkan perdagangan sepenuhnya automatik, mengurangkan risiko campur tangan manusia, dan meningkatkan kecekapan perdagangan.

  4. Kawalan risiko: Strategi menggunakan purata bergerak dan penunjuk MACD untuk menghasilkan isyarat perdagangan, yang membantu mengenal pasti trend pasaran dan mengawal risiko. Selain itu, risiko strategi dapat dikurangkan lagi dengan pengurusan kedudukan dan langkah-langkah hentian yang sesuai.

#Risiko taktikal#

  1. Risiko pengoptimuman parameter: Prestasi strategi bergantung pada pilihan parameter, dan penyetempatan parameter yang tidak sesuai boleh menyebabkan prestasi strategi yang buruk. Oleh itu, strategi perlu diuji dan dioptimumkan dengan baik untuk mencari kombinasi parameter yang terbaik.

  2. Risiko pasaran: pasaran kriptocurrency berfluktuasi besar dan dipengaruhi oleh pelbagai faktor, strategi menghadapi risiko pasaran yang tidak dapat dikawal. Di samping itu, peristiwa yang tidak dijangka (seperti perubahan dasar, peristiwa black swan, dan lain-lain) boleh memberi kesan besar kepada prestasi strategi.

  3. Risiko overfit: Jika parameter strategi terlalu dioptimumkan, ia boleh menyebabkan strategi terlalu sesuai dengan data sejarah, dan tidak berfungsi dengan baik dalam perdagangan sebenar. Oleh itu, anda perlu menggunakan kaedah yang sesuai (seperti ujian luar sampel, cross-verifikasi, dll.) untuk mengelakkan overfit semasa proses pengujian dan pengoptimuman.

  4. Risiko kecairan: Jika pasaran tidak mempunyai kecairan, strategi mungkin tidak dapat berdagang pada waktu yang tepat, atau berdagang dengan harga yang tidak menguntungkan, yang akan menjejaskan prestasi strategi. Oleh itu, anda perlu memilih jenis perdagangan yang lebih baik dengan kecairan, dan menetapkan titik slip dan had jumlah perdagangan yang munasabah.

Arahan untuk mengoptimumkan strategi

  1. Pengoptimuman parameter dinamik: Pertimbangkan kaedah menggunakan pembelajaran mesin dan lain-lain untuk mengoptimumkan parameter strategi secara dinamik untuk menyesuaikan diri dengan keadaan pasaran yang berubah-ubah. Ini dapat meningkatkan daya serap dan ketahanan strategi.

  2. Sintesis multi-faktor: menggabungkan indikator Zero Lag MACD dengan indikator teknikal lain (seperti RSI, Brinband, dan lain-lain) untuk membentuk isyarat sintesis multi-faktor yang meningkatkan kebolehpercayaan dan keuntungan strategi.

  3. Pengurusan risiko yang dioptimumkan: memperkenalkan langkah-langkah pengurusan risiko yang lebih maju, seperti hentian dinamik, penyesuaian kadar turun naik, dan lain-lain, untuk mengawal lebih baik pintu risiko strategi.

  4. Menambah analisis sentimen pasaran: menggabungkan analisis sentimen pasaran (seperti indeks panik, sentimen media sosial, dan lain-lain), untuk menapis dan mengoptimumkan isyarat yang dihasilkan oleh strategi, meningkatkan daya serap dan ketahanan strategi.

Kesimpulannya

Strategi ini mempunyai kelebihan seperti penghapusan kesan kelewatan, kepekaan yang kuat, perdagangan automatik dan kawalan risiko, tetapi juga menghadapi cabaran seperti pengoptimuman parameter, risiko pasaran, risiko overfit dan risiko kecairan. Untuk meningkatkan lagi prestasi strategi, ia boleh dioptimumkan dari segi pengoptimuman parameter dinamik, sintesis pelbagai faktor, pengoptimuman pengurusan risiko dan analisis sentimen pasaran.

Kod sumber strategi
/*backtest
start: 2024-03-18 00:00:00
end: 2024-04-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Zero Lag MACD Strategy", shorttitle="ZL_MACD Strategy", overlay=true)

// Input variables
fastLength = input(12, title="Fast MM period", minval=1)
slowLength = input(26, title="Slow MM period", minval=1)
signalLength = input(9, title="Signal MM period", minval=1)
MacdEmaLength = input(9, title="MACD EMA period", minval=1)
useEma = input(true, title="Use EMA (otherwise SMA)")
useOldAlgo = input(false, title="Use Glaz algo (otherwise 'real' original zero lag)")

// Calculate Zero Lag MACD components
ma1 = useEma ? ema(close, fastLength) : sma(close, fastLength) 
ma2 = useEma ? ema(ma1, fastLength) : sma(ma1, fastLength) 
zerolagEMA = ((2 * ma1) - ma2)

mas1 = useEma ? ema(close, slowLength) : sma(close, slowLength)
mas2 = useEma ? ema(mas1, slowLength) : sma(mas1, slowLength)
zerolagslowMA = ((2 * mas1) - mas2)

ZeroLagMACD = zerolagEMA - zerolagslowMA 

emasig1 = ema(ZeroLagMACD, signalLength)
emasig2 = ema(emasig1, signalLength)
signal = useOldAlgo ? sma(ZeroLagMACD, signalLength) : (2 * emasig1) - emasig2

// Generate buy and sell signals
buySignal = crossover(ZeroLagMACD, signal)
sellSignal = crossunder(ZeroLagMACD, signal)

// Strategy conditions
if (buySignal)
    strategy.entry("Buy", strategy.long)
if (sellSignal)
    strategy.entry("Sell", strategy.short)