Sasaran keuntungan berbilang peringkat dan strategi kuantitatif henti kerugian dinamik dipertingkatkan

TP SL ML QS AT EXIT ENTRY
Tarikh penciptaan: 2025-02-20 11:36:09 Akhirnya diubah suai: 2025-02-20 14:56:34
Salin: 1 Bilangan klik: 314
2
fokus pada
319
Pengikut

Sasaran keuntungan berbilang peringkat dan strategi kuantitatif henti kerugian dinamik dipertingkatkan Sasaran keuntungan berbilang peringkat dan strategi kuantitatif henti kerugian dinamik dipertingkatkan

Gambaran keseluruhan

Ini adalah strategi perdagangan kuantitatif yang dipertingkatkan yang dibangunkan berdasarkan penguji strategi metrobonez1ty. Ciri utama strategi ini adalah mewujudkan objektif keuntungan bertingkat dan mekanisme berhenti rugi dinamik, sambil mengekalkan fleksibiliti untuk berintegrasi dengan isyarat indikator luaran.

Prinsip Strategi

Logik teras strategi ini terletak di sekitar mekanisme keluar bertingkat. Dari segi masuk, strategi ini mencetuskan isyarat perdagangan berbilang dan kosong melalui dua sumber input longEntry dan shortEntry. Untuk setiap arah perdagangan, strategi ini menetapkan tiga sasaran keuntungan yang berasingan (TP1, TP2, TP3), dan setiap sasaran boleh disesuaikan secara dinamik berdasarkan isyarat indikator luaran.

Kelebihan Strategik

  1. Mekanisme Keluar Fleksibel: Sokongan untuk beberapa kedudukan sasaran keuntungan, dan boleh keluar dari kedudukan secara beransur-ansur mengikut keadaan pasaran.
  2. Pengurusan risiko dinamik: Mengubah kedudukan henti secara dinamik melalui isyarat penunjuk luaran, memberikan kawalan risiko yang lebih pintar.
  3. Kemudahan penyesuaian yang tinggi: Syarat masuk dan keluar strategi boleh disesuaikan dengan gaya perdagangan yang berbeza melalui petunjuk luaran.
  4. Mekanisme penapisan yang baik: mengurangkan kesan isyarat palsu dengan meminta pengesahan pelbagai isyarat.

Risiko Strategik

  1. Risiko bergantung pada isyarat: strategi sangat bergantung pada kualiti isyarat penunjuk luaran, dan isyarat penunjuk yang tidak tepat boleh menyebabkan perdagangan yang salah.
  2. Risiko pengoptimuman parameter: Pelbagai objektif keuntungan dan parameter henti rugi perlu dioptimumkan dengan teliti, dan pengoptimuman berlebihan boleh menyebabkan overfit.
  3. Risiko kesesuaian dengan keadaan pasaran: Dalam keadaan pasaran yang berbeza, sasaran keuntungan berlainan peringkat yang tetap mungkin tidak cukup fleksibel.

Arah pengoptimuman strategi

  1. Penyesuaian parameter dinamik: mekanisme penyesuaian boleh diperkenalkan untuk menyesuaikan sasaran keuntungan dan parameter berhenti kerugian secara automatik mengikut turun naik pasaran.
  2. Penilaian kualiti isyarat: Menambah mekanisme penilaian kualiti isyarat masuk dan keluar, meningkatkan lagi ketepatan transaksi.
  3. Pengurusan kedudukan yang dioptimumkan: Peratusan peruntukan kedudukan yang berbeza boleh ditetapkan mengikut matlamat keuntungan yang berbeza.
  4. Pengiktirafan persekitaran pasaran: Tambah modul pengiktirafan persekitaran pasaran, menggunakan parameter yang berbeza dalam keadaan pasaran yang berbeza.

ringkaskan

Strategi ini menyediakan kerangka perdagangan yang komprehensif melalui objektif keuntungan bertingkat dan mekanisme hentian kerugian dinamik. Kelebihan strategi adalah fleksibiliti dan penyesuaian, tetapi juga memerlukan penjagaan yang berhati-hati terhadap pengoptimuman parameter dan kesesuaian pasaran. Dengan arah pengoptimuman yang dicadangkan, strategi dapat meningkatkan kestabilan dan kesesuaian lebih lanjut, menjadi sistem perdagangan yang lebih baik.

Kod sumber strategi
/*backtest
start: 2025-02-04 00:00:00
end: 2025-02-18 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=6
strategy("Enhanced Strategy Tester with multi TP and SL Trigger", overlay=true, margin_long=100, margin_short=100)

// Entry Signals
longEntry = input.source(close, 'Long Entry Trigger', 'long signal source')
shortEntry = input.source(close, 'Short Entry Trigger', 'short signal source')

// Exit Triggers
activateLongExit = input.bool(false, 'Activate Long Exit Signals')
longExit1 = input.source(high, 'Long Exit TP1')
longExit2 = input.source(high, 'Long Exit TP2')
longExit3 = input.source(high, 'Long Exit TP3')

activateShortExit = input.bool(false, 'Activate Short Exit Signals')
shortExit1 = input.source(low, 'Short Exit TP1')
shortExit2 = input.source(low, 'Short Exit TP2')
shortExit3 = input.source(low, 'Short Exit TP3')

// Stop Loss from External Indicator
useSLSignal = input.bool(false, 'Activate SL Signal')
slSignal = input.source(low, 'SL', 'SL Signal Source')

// Long Entry Condition
longCondition = not na(longEntry) and longEntry > 0
if (longCondition and strategy.opentrades == 0)
    strategy.entry('long', strategy.long)
    strategy.exit('exit_long_tp1', 'long', limit=longExit1, comment='TP1 hit')
    strategy.exit('exit_long_tp2', 'long', limit=longExit2, comment='TP2 hit')
    strategy.exit('exit_long_tp3', 'long', limit=longExit3, comment='TP3 hit')
    strategy.exit('exit_long_sl', 'long', stop=useSLSignal ? slSignal : na, comment='SL hit')

// Long Exit Condition
if (activateLongExit)
    if (not na(longExit1) and longExit1 > 0)
        strategy.close('long', comment='TP1 at Exit')
    if (not na(longExit2) and longExit2 > 0)
        strategy.close('long', comment='TP2 at Exit')
    if (not na(longExit3) and longExit3 > 0)
        strategy.close('long', comment='TP3 at Exit')

// Short Entry Condition
shortCondition = not na(shortEntry) and shortEntry > 0
if (shortCondition and strategy.opentrades == 0)
    strategy.entry('short', strategy.short)
    strategy.exit('exit_short_tp1', 'short', limit=shortExit1, comment='TP1 hit')
    strategy.exit('exit_short_tp2', 'short', limit=shortExit2, comment='TP2 hit')
    strategy.exit('exit_short_tp3', 'short', limit=shortExit3, comment='TP3 hit')
    strategy.exit('exit_short_sl', 'short', stop=useSLSignal ? slSignal : na, comment='SL hit')

// Short Exit Condition
if (activateShortExit)
    if (not na(shortExit1) and shortExit1 > 0)
        strategy.close('short', comment='TP1 at Exit')
    if (not na(shortExit2) and shortExit2 > 0)
        strategy.close('short', comment='TP2 at Exit')
    if (not na(shortExit3) and shortExit3 > 0)
        strategy.close('short', comment='TP3 at Exit')