Rangkaian momentum MACD DMI terobosan strategi arbitraj jangka pendek


Tarikh penciptaan: 2023-11-13 17:42:23 Akhirnya diubah suai: 2023-11-13 17:42:23
Salin: 0 Bilangan klik: 826
1
fokus pada
1617
Pengikut

Rangkaian momentum MACD DMI terobosan strategi arbitraj jangka pendek

Gambaran keseluruhan

Strategi ini memberi tumpuan kepada short-line shorting dalam keadaan pasaran beruang, menggunakan dua indikator intensiti untuk memberi isyarat yang kuat yang mengesahkan bahawa trend penurunan jangka pendek telah bermula - untuk mengambil peluang shorting secepat mungkin.

Strategi ini sesuai untuk mata wang yang anda rancangkan untuk dipegang dalam jangka masa yang panjang, dan berfungsi dengan baik, sambil menggunakan robot perdagangan automatik untuk menjalankan perdagangan anda. Ia membolehkan anda melindungi pelaburan anda dengan cara memperdagangkan peratusan tertentu dari jumlah yang anda miliki, tanpa mempertaruhkan keseluruhan pegangan anda. Ini dapat mengurangkan kerugian yang tidak tercapai yang disebabkan oleh pegangan, kerana ia dapat memperoleh tunai tambahan dari keuntungan.

Sebaliknya, jika anda berdagang kontrak di pasaran hadapan, anda boleh melakukan shorting tanpa perlu memiliki aset asas terlebih dahulu.

Prinsip Strategi

Sistem perdagangan menggunakan indikator momentum MACD dan indikator trend DMI untuk mengesahkan masa jual terbaik. Menggabungkan kedua-dua indikator ini dapat mengelakkan perdagangan dalam trend menaik dan mengurangkan kemungkinan terjerumus ke dalam pasaran yang rendah.

MACD adalah penunjuk trend yang mengesan momentum dan dapat mengenal pasti arah trend jangka pendek. Dalam varian ini, ia menggunakan 12 kitaran sebagai EMA laju dan 26 kitaran sebagai EMA perlahan, sementara kehalusan isyarat ditetapkan sebagai 9.

DMI menunjukkan arah trend harga, dan membandingkan titik rendah dan tinggi sebelumnya, dengan menggambar dua garis antara garis pergerakan ke arah positif ((+DI) dan garis pergerakan ke arah negatif ((-DI)). Trend boleh dijelaskan dengan membandingkan kedua-dua garis dan garis mana yang lebih besar. Apabila DMI ke arah negatif lebih besar daripada DMI ke arah positif, aset lebih mungkin berada dalam trend penurunan yang berterusan, dan sebaliknya.

Apabila dua syarat dipenuhi, sistem akan memasuki perdagangan:

  1. Garis lurus MACD bertukar kepada turun.

  2. DMI negatif lebih besar daripada DMI positif.

Strategi ini mempunyai stop-loss tetap yang digabungkan dengan stop-loss turun naik, berfungsi sebagai stop-loss yang dijejaki untuk menyesuaikan kekuatan trend. Berdasarkan keyakinan jangka panjang anda terhadap aset, anda boleh mengedit stop-loss tetap untuk menjadikannya lebih konservatif atau lebih positif.

Kedudukan kosong apabila keadaan berikut dipenuhi:

Stop and Fold: +8% penurunan harga masuk.

atau

Stop loss: harga menembusi stop loss.

Secara keseluruhan, kaedah ini sesuai untuk strategi jangka menengah dan panjang. Retrospeksi strategi ini bermula dari 1 April 2022 hingga 18 Julai 2022 untuk membuktikan keberkesanannya dalam pasaran beruang. Retrospeksi lanjut dari awal 2022 juga menghasilkan pulangan yang baik.

SOLUSDT dalam kitaran masa 45 minit, MATICUSDT dalam kitaran masa 2 jam dan AVAUSDT dalam kitaran masa 1 jam mempunyai prestasi yang sangat baik. Secara keseluruhan, tinjauan menunjukkan bahawa ia berfungsi dengan baik dalam kitaran masa 45 minit / 1 jam dalam kebanyakan pasangan.

Ia juga mengambil kira yuran urus niaga, 0.1% daripada yuran asas Binance.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  • Menggunakan kelebihan kedua-dua penunjuk MACD dan DMI untuk meningkatkan ketepatan isyarat masuk dan mengelakkan penembusan palsu.

  • Mekanisme keluar dengan penghentian tetap dan pergerakan yang mengesan penghentian kerugian, memastikan penghentian yang lebih tinggi dan mengawal risiko.

  • Berlaku pada tahap penurunan pasaran beruang, untuk mendapatkan keuntungan lebih tinggi daripada short-line arbitrage.

  • Ia boleh digunakan untuk melindungi pegangan jangka panjang dan memperoleh pendapatan tambahan. Ia juga boleh digunakan untuk melakukan lelang secara langsung.

  • Pelacakan prestasi yang sangat baik, terutamanya dalam kitaran 1 jam dan 45 minit, sesuai untuk perdagangan frekuensi tinggi.

Analisis risiko

Strategi ini juga mempunyai risiko:

  • DMI dan MACD sebagai penunjuk pengesanan mempunyai kebarangkalian yang tinggi untuk menghasilkan isyarat palsu pada titik perubahan trend, dan perlu memberi perhatian kepada stop loss.

  • Tetapan penangguhan tetap yang tidak betul boleh menyebabkan penangguhan terlalu kecil atau terlalu besar. Ia disyorkan untuk menyesuaikan mengikut kadar turun naik mata wang yang berbeza.

  • Hentian pengesanan kadar turun naik boleh ditembusi pada masa turun naik yang teruk dan memerlukan Combine With Additional Stop Loss.

  • Pemilihan masa pengembalian yang tidak tepat boleh menyebabkan keputusan yang terlalu optimis. Pengembalian lebih lama harus dilakukan, dan juga menguji tahap pasaran yang berbeza.

  • Kesan cakera pasti akan dipengaruhi oleh faktor-faktor seperti yuran urus niaga, harga pasaran dan titik pertukaran tunggal, yang berbeza dengan pengukuran semula.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara:

  • Menggunakan kaedah pembelajaran mesin untuk mengoptimumkan kombinasi parameter MACD dan DMI secara automatik untuk pelbagai kitaran dan mata wang.

  • Menambah stop-loss dinamik berdasarkan kadar turun naik, menyesuaikan stop-loss mengikut turun naik pasaran.

  • Menambah penilaian indikator lain, membentuk model pelbagai faktor, meningkatkan kesan penapisan. Seperti indikator BVN dan OBV.

  • Menambah model pembelajaran mesin untuk menilai trend, membantu MACD dan DMI memberi isyarat.

  • Gunakan borang harga terhad sebagai pengganti borang harga pasaran untuk mengurangkan kesan titik tergelincir transaksi.

  • Ujian berasingan untuk mata wang yang berbeza untuk mencari kombinasi parameter kitaran yang optimum.

ringkaskan

Secara keseluruhannya, strategi short-line bear market arbitrage ini mencapai keuntungan kuantitatif yang tinggi dengan menilai masa shorting melalui gabungan kekuatan MACD dan DMI. Ia boleh digunakan untuk melindungi kedudukan panjang, tetapi juga boleh melakukan shorting secara langsung pada kontrak niaga hadapan.

Kod sumber strategi
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Inverse MACD + DMI Scalping with Volatility Stop (Shorting) (By Coinrule)",

         overlay=true,
         initial_capital=10000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=100,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 4, 1, 0, 0)
notInTrade = strategy.position_size <= 0

// DMI and MACD inputs and calculations
[pos_dm, neg_dm, avg_dm] = ta.dmi(14, 14)
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)

Take_profit = input(3) / 100
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

length = input.int(20, 'Length', minval=2)
src = input(close, 'Source')
factor = input.float(2.0, 'vStop Multiplier', minval=0.25, step=0.25)
volStop(src, atrlen, atrfactor) =>
    var max = src
    var min = src
    var uptrend = true
    var stop = 0.0
    atrM = nz(ta.atr(atrlen) * atrfactor, ta.tr)
    max := math.max(max, src)
    min := math.min(min, src)
    stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
    uptrend := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max := src
        min := src
        stop := uptrend ? max - atrM : min + atrM
        stop
    [stop, uptrend]
    
[vStop, uptrend] = volStop(src, length, factor)

closeShort = close > longTakeProfit or ta.crossunder(close, vStop)

//Entry
strategy.entry(id='short', direction=strategy.short, when=ta.crossover(macd_signal, macd) and pos_dm < neg_dm and timePeriod)

//Exit
strategy.close('short', when=closeShort and timePeriod)