Strategi Pembalikan Titik Pangsi yang Penting


Tarikh penciptaan: 2024-01-29 14:58:15 Akhirnya diubah suai: 2024-01-29 14:58:15
Salin: 1 Bilangan klik: 682
1
fokus pada
1617
Pengikut

Strategi Pembalikan Titik Pangsi yang Penting

Gambaran keseluruhan

Strategi ini dioptimumkan berdasarkan strategi pembalikan matawang tradisional, terutamanya dengan mengira ATR dan menetapkan faktor penapisan ATR untuk menapis matawang yang tidak bermakna dan hanya berdagang matawang yang benar-benar penting.

Prinsip Strategi

Logik teras strategi ini adalah untuk mengira sokongan titik tinggi dan sokongan titik rendah yang penting. Langkah utama untuk mengira sokongan titik tinggi adalah:

  1. Hitung ATR dan setkan faktor penapisan ATR at_mult
  2. Menerusi sejumlah K baris di sebelah kiri ((set by leftBars)), jika titik penyokong tinggi lebih tinggi daripada titik tinggi pada mana-mana K baris di sebelah kiri + ATR*atr_mult, maka garisan tidak akan berfungsi.
  3. Menerusi sejumlah K baris di sebelah kanan ((set by rightBars), jika titik sokongan tinggi lebih tinggi daripada titik tinggi mana-mana K baris di sebelah kanan + ATR*atr_mult, maka garisan tidak akan berfungsi.
  4. Jika penyokong ketinggian masih sah selepas ujian di atas, kembalilah ke ketinggian itu sebagai penyokong ketinggian yang penting.

Logik untuk mengira titik rendah adalah sama.

Selepas mendapat titik sokongan penting, apabila harga menembusi titik sokongan tinggi penting, buat shorting; apabila harga menembusi titik sokongan rendah penting, buat lebih banyak.

Analisis kelebihan

Kelebihan utama strategi ini ialah:

  1. Dengan ATR dan parameter penapisan at_mult, anda boleh menapis turun naik kecil yang tidak masuk akal, hanya berdagang dengan titik-titik yang benar-benar penting, dan mengelakkan perdagangan yang tidak masuk akal.
  2. Parameter ATR boleh disesuaikan secara dinamik untuk menyesuaikan ruang perdagangan secara automatik dalam pasaran yang bergolak besar, untuk mengelakkan perdagangan berlebihan.
  3. Strategi pembalikan pivot mempunyai kadar kemenangan dan keuntungan yang lebih tinggi.

Analisis risiko

Risiko utama strategi ini ialah:

  1. Tetapan parameter ATR yang tidak betul boleh menyaring terlalu banyak peluang perdagangan yang sah. Jika ATR terlalu besar, sokongan yang sah juga boleh disaring.
  2. Strategi pembalikan titik penyokong sendiri masih mempunyai risiko yang terkurung, dan anda perlu menetapkan stop loss untuk mengawal risiko tersebut.
  3. Strategi reverse osmosis adalah lebih sensitif terhadap kos transaksi dan memerlukan penempatan yang munasabah untuk menghentikan kerugian dan berhenti.

Untuk mengawal risiko di atas, anda boleh mengoptimumkan dari beberapa aspek berikut:

  1. Mengoptimumkan parameter ATR untuk memastikan peluang dagangan yang mencukupi.
  2. Tetapkan nisbah stop loss yang munasabah.
  3. Menyesuaikan jumlah pelabur dengan betul untuk mengurangkan kos transaksi.

Arah pengoptimuman

Strategi ini juga boleh dioptimumkan dengan cara berikut:

  1. Gabungan dengan penunjuk lain untuk menilai keadaan trend pasaran, mengelakkan perdagangan berbalik muncul dalam keadaan trend. Anda boleh mempertimbangkan untuk memasukkan penunjuk seperti MACD, KDJ.

  2. Menambah algoritma pembelajaran mesin, parameter pengoptimuman automatik. Anda boleh menggunakan algoritma genetik, hutan rawak dan lain-lain untuk mencari kombinasi parameter yang optimum.

  3. Menambah data kuantitatif untuk latihan dan mencari julat ATR terbaik. Menambah data sejarah dapat meningkatkan ketepatan pilihan parameter.

  4. Ia boleh dipertimbangkan untuk digunakan dengan gabungan strategi lain, menggabungkan kelebihan pelbagai jenis strategi. Sebagai contoh, gabungan strategi dengan trend track, reverse in consolidation, and trend in trend.

ringkaskan

Strategi pembalikan titik penting ini menapis turun naik kecil yang tidak masuk akal dengan cara mengira ATR dan menetapkan faktor penapisan, dan hanya berdagang di titik penting. Ini dapat meningkatkan tahap keuntungan strategi dengan berkesan.

Kod 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"}]
*/

//@version=4
strategy("QuantNomad - Significant Pivot Reversal Strategy", shorttitle = "SPPS", overlay=true)

// Inputs 
leftBars   = input(4,   title = 'PP Left Bars')
rightBars  = input(2,   title = 'PP Right Bars')
atr_length = input(14,  title = 'ATR Length')
atr_mult   = input(0.1, title = 'ATR Mult')

// Pivot High Significant Function
pivotHighSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (high[right] < high[right+i] + atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (high[right] < high[i] + atr * atr_mult)
            pp_ok := false
    
    pp_ok ? high[right] : na

// Pivot Low Significant Function
pivotLowSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (low[right] > low[right+i] - atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (low[right] > low[i] - atr * atr_mult)
            pp_ok := false
    
    pp_ok ? low[right] : na


swh = pivotHighSig(leftBars, rightBars)
swl = pivotLowSig (leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

if (le)
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]


se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

if (se)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)