Strategi penjejakan pembalikan melampau


Tarikh penciptaan: 2024-02-20 15:17:41 Akhirnya diubah suai: 2024-02-20 15:17:41
Salin: 0 Bilangan klik: 605
1
fokus pada
1617
Pengikut

Strategi penjejakan pembalikan melampau

Gambaran keseluruhan

Strategi pelacakan reversal teratas dengan mengesan titik teratas dalam julat turun naik harga, dan melakukan lebih banyak shorting pada titik teratas, untuk mengesan trend.

Prinsip Strategi

Strategi ini adalah berdasarkan kepada prinsip-prinsip berikut:

  1. Gunakan fungsi keselamatan untuk mendapatkan harga tertinggi tinggi dan harga terendah rendah dari K baris dengan tempoh yang berbeza, dan periksa sama ada ia sama dengan harga terendah tertinggi dari K baris sebelumnya, untuk menentukan sama ada titik teratas baru telah dicapai.

  2. Apabila titik ekstrim baru dikesan, jika masa kini adalah bermulut, maka di titik ekstrim itu berbalik kosong; jika masa kini adalah kosong, maka di titik ekstrim itu berbalik kosong.

  3. Tetapkan titik hentian untuk titik teratas baru yang terbentuk selepas melakukan lebih banyak shorting, untuk mencapai hentian trend.

  4. Dengan menetapkan jangka masa yang berbeza untuk tempoh yang berbeza, anda dapat menyesuaikan strategi anda.

Kelebihan Strategik

Strategi ini mempunyai kelebihan utama:

  1. Ia mampu menangkap perubahan harga pada titik-titik kritikal dengan berkesan, melakukan operasi pembalikan, dan mengesan trend.

  2. Pengurusan masa dan wang telah ditetapkan untuk mengawal masa dan wang yang digunakan untuk strategi, mengurangkan risiko.

  3. Menggunakan titik maksimum baru sebagai titik berhenti, anda boleh menyesuaikan kedudukan berhenti anda mengikut pelbagai pergerakan harga baru, untuk mencapai berhenti dinamik.

  4. Logik strategi ringkas, mudah difahami, mudah untuk diselaraskan dan dioptimumkan.

Risiko Strategik

Strategi ini juga mempunyai risiko:

  1. Penghakiman titik ekstrem mungkin berlaku dalam kes-kes yang boleh menyebabkan kesalahan pengurangan yang berlebihan. Ia boleh dioptimumkan dengan menyesuaikan logik penghakiman titik ekstrem.

  2. Kedudukan hentian yang berdekatan dengan titik masuk mungkin meningkatkan kemungkinan hentian yang dicetuskan. Hentian terapung dari regex boleh ditetapkan untuk menyelesaikan masalah ini.

  3. Tanpa mempertimbangkan logik kenaikan dan pembalikan kedudukan yang mengikuti trend, mungkin sukar untuk mendapat keuntungan dalam keadaan trend. Peraturan kenaikan dan pembalikan kedudukan boleh ditambah untuk pengoptimuman.

  4. Tetapan mata wang dan julat masa adalah lebih padat dan tidak boleh disesuaikan secara dinamik. Sistem pengoptimuman parameter boleh dibina untuk menyelesaikannya.

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa arah:

  1. Mengoptimumkan logik penghakiman titik teratas, menambah lebih banyak syarat penapisan untuk mengelakkan kesalahan penghakiman.

  2. Menambah mekanisme penutupan kerugian terapung, menyesuaikan jarak penutupan kerugian mengikut perubahan harga dan amplitud turun naik.

  3. Tambahan modul kenaikan dan reverse positioning berdasarkan trend dan turun naik, meningkatkan keuntungan.

  4. Menubuhkan mekanisme pengoptimuman parameter untuk menguji dan mengoptimumkan parameter secara automatik.

  5. Menggabungkan model pembelajaran mesin untuk menilai tindakan dan membantu membuat keputusan strategi.

ringkaskan

Strategi pelacakan reversal yang melampau ini mempunyai daya adaptasi dan keuntungan yang lebih kuat dengan menangkap titik-titik perubahan harga yang melampau dan mengesan pergerakan trend. Dengan terus mengoptimumkan penilaian titik-titik yang melampau, mekanisme berhenti-rugi, dan peraturan pembukaan kedudukan, strategi ini dijangka menjadi strategi perdagangan kuantitatif yang stabil dan boleh dipercayai.

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

//Noro
//2018

//@version=2
strategy(title = "Noro's Extremum Strategy v1.0", shorttitle = "Extremum str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title = 'Timeframe for extremums')
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
highm = request.security(syminfo.tickerid, tf, high[1])
lowm = request.security(syminfo.tickerid, tf, low[1])
upcolorm = highm == highm[1] ? lime : na
dncolorm = lowm == lowm[1] ? red : na
plot(highm, color = upcolorm, linewidth = 3)
plot(lowm, color = dncolorm, linewidth = 3)

//Signals
size = strategy.position_size
up = size > 0 ? highm * 1000000 : highm != highm[1] ? highm : up[1]
dn = size < 0 ? 0 : lowm != lowm[1] ? lowm : dn[1]
exit = true

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if highm > 0 and high[1] < highm and highm == highm[1]
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = up)
    
if lowm > 0 and low[1] > lowm and lowm == lowm[1]
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dn)

if exit
    strategy.close_all()