Strategi ini menghasilkan isyarat perdagangan berdasarkan DiNapoli Detrended Oscillator. Ia mencerminkan tahap overbought / oversold dengan perbezaan antara harga dan purata bergerak, bertujuan untuk mengenal pasti peluang pembalikan. Isyarat dihasilkan apabila osilator melintasi ambang.
Komponen utama ialah:
Purata bergerak: Mengira garis asas trend.
Penunjuk perbezaan: Harga dikurangkan purata bergerak membentuk osilator.
Garis ambang: Melalui tahap ini mencetuskan isyarat.
Isyarat panjang: Oscillator melintasi sempadan.
Isyarat pendek: Oscillator melintasi di bawah ambang.
Pilihan terbalik: Flip isyarat panjang / pendek.
Strategi ini bertujuan untuk menangkap pembalikan jangka pendek dengan mengenal pasti perbezaan antara harga dan trend. Logiknya mudah dan intuitif.
Berbanding dengan strategi pembalikan lain, kelebihan adalah:
Logik yang mudah dan intuitif, mudah dilaksanakan.
Parameter minimum, ujian belakang yang mudah.
Fleksibiliti dalam penyesuaian parameter untuk tempoh yang berbeza.
Pilihan terbalik yang boleh disesuaikan dengan pasaran yang berbeza.
Hapus berhenti dan keluar kawalan risiko.
Pengurangan yang agak kecil, boleh disesuaikan melalui parameter.
Potensi untuk mengoptimumkan dengan pembelajaran mesin.
Secara keseluruhan profil risiko / ganjaran yang baik untuk perdagangan jangka pendek.
Walau bagaimanapun, risiko utama adalah:
Terlalu bergantung pada pengoptimuman parameter risiko overfitting.
Kelewatan dalam purata bergerak dan osilator.
Kekurangan pengesahan dari pembolehubah lain.
Kesan masa mungkin merosot di pasaran yang berubah.
Sukar untuk menghasilkan alfa secara berterusan, memerlukan penyesuaian yang kerap.
Perlu memantau nisbah ganjaran / risiko dan kelancaran kurva.
Frekuensi perdagangan yang tinggi meningkatkan kos transaksi.
Ketahanan di seluruh pasaran memerlukan pengesahan.
Berdasarkan analisis, penambahbaikan mungkin melibatkan:
Ujian parameter purata bergerak yang berbeza.
Menambah pengesahan jumlah.
Melaksanakan berhenti dan keluar untuk mengawal risiko.
Menilai ketahanan di pasaran dan jangka masa yang berbeza.
Pengujian balik tingkap bergelombang untuk pengesahan berterusan.
Menyesuaikan saiz kedudukan ke frekuensi yang lebih rendah.
Menggabungkan pembelajaran mesin untuk parameter yang lebih baik.
Mengoptimumkan keseluruhan strategi pengurusan risiko.
Iterasi berterusan untuk menyesuaikan diri dengan pasaran yang berubah.
Ringkasnya, ini adalah idea strategi pembalikan purata yang agak mudah. Penyesuaian parameter yang betul boleh menghasilkan hasil yang baik. Tetapi mencegah overfit dan mencapai kejayaan yang berterusan memerlukan pengujian balik, pengoptimuman dan peningkatan yang berterusan dari pelbagai dimensi.
/*backtest start: 2023-08-23 00:00:00 end: 2023-09-22 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version = 2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 05/12/2016 // DiNapoli Detrended Oscillator Strategy // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="DiNapoli Detrended Oscillator Strategy Backtest") Length = input(14, minval=1) Trigger = input(0) reverse = input(true, title="Trade reverse") hline(Trigger, color=gray, linestyle=line) xSMA = sma(close, Length) nRes = close - xSMA pos = iff(nRes > Trigger, 1, iff(nRes <= Trigger, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) plot(nRes, color=blue, title="DiNapoli") barcolor(possig == -1 ? red: possig == 1 ? green : blue )