Sistem Perdagangan Berbilang Pengayun: Strategi Pengurusan Kedudukan Berbilang Arah Automatik Berdasarkan TSL

TSL 摆动交易 趋势跟踪 自动化交易系统 多方向交易 防护止损 波动率适应
Tarikh penciptaan: 2025-03-06 10:57:03 Akhirnya diubah suai: 2025-03-06 10:57:03
Salin: 0 Bilangan klik: 348
2
fokus pada
319
Pengikut

Sistem Perdagangan Berbilang Pengayun: Strategi Pengurusan Kedudukan Berbilang Arah Automatik Berdasarkan TSL Sistem Perdagangan Berbilang Pengayun: Strategi Pengurusan Kedudukan Berbilang Arah Automatik Berdasarkan TSL

Gambaran keseluruhan

Sistem perdagangan indikator bergoyang berganda adalah strategi perdagangan kuantitatif berdasarkan analisis teknikal, yang terasnya bergantung pada pengenalan titik tinggi dan rendah yang bergoyang untuk menentukan perubahan trend pasaran. Strategi ini membina tahap tracking stop loss yang dinamik dengan mengesan harga tertinggi dan terendah dalam tempoh N kitaran terakhir, sebagai sempadan keputusan perdagangan berganda. Sistem ini secara automatik melaksanakan isyarat beli apabila harga menembusi tahap TSL, dan secara automatik melaksanakan isyarat jual apabila harga jatuh dari tahap TSL, sambil menguruskan kedudukan secara automatik, memastikan setiap memegang kedudukan dalam satu arah.

Prinsip Strategi

Logik utama strategi ini adalah untuk menjejaki tahap stop loss (TSL) dan ia dilaksanakan seperti berikut:

  1. Tahap harga utama dalam kitaran pengiraan:

    • lulusta.highest(high, no)Hitung harga tertinggi dalam tempoh no yang lalu
    • lulusta.lowest(low, no)Hitung harga terendah dalam tempoh no yang lalu ((sup)
  2. Menentukan kedudukan harga berbanding dengan paras tertinggi dan terendah pada tempoh sebelumnya:

    • Apabila harga penutupan lebih tinggi daripada harga tertinggi dalam kitaran sebelumnya, nilai avd adalah 1 (kecenderungan naik)
    • Apabila harga penutupan adalah lebih rendah daripada harga terendah dalam kitaran sebelumnya, nilai avd adalah -1 (kecenderungan menurun)
    • Dalam kes lain, avd diberi nilai 0 (tidak ada trend yang jelas)
  3. Membina tahap tracking stop loss (TSL):

    • Apabila trend ke atas, TSL menetapkan kedudukan sokongan ((sup), sebagai titik berhenti
    • Apabila trend ke bawah, TSL ditetapkan sebagai titik rintangan (res), yang berfungsi sebagai titik isyarat pembalikan
  4. Menjana isyarat dagangan:

    • isyarat beli ((Buy): apabila harga penutupan melepasi TSL
    • Isyarat Jual: Apabila TSL di bawah harga penutupan
  5. Untuk melakukan transaksi:

    • Beli apabila isyarat mencetuskan, kosongkan kedudukan kepala kosong dan buka kedudukan kepala
    • Jual apabila isyarat mencetuskan, kosongkan kedudukan multihead dan buka kedudukan kosong

Sistem ini juga mengandungi komponen visual, seperti tanda titik jual beli, garis K dan latar belakang yang berubah warna, dan garis mendatar yang menunjukkan harga pembukaan saham secara langsung, meningkatkan pengalaman visual proses perdagangan.

Kelebihan Strategik

  1. Keupayaan menangkap trend yang kuat: Dengan mengira harga tertinggi dan terendah secara dinamik, dapat menangkap perubahan trend pasaran dengan berkesan, menyesuaikan diri dengan turun naik dalam kitaran pasaran yang berbeza.

  2. Tingkat automasi yang tinggi: Sistem secara automatik melakukan pengiktirafan isyarat beli dan menjual dan pelaksanaan perdagangan, mengurangkan campur tangan manusia dan kesan emosi.

  3. Mekanisme perdagangan dua hala: menyokong perdagangan multihead dan kosong pada masa yang sama, membolehkan peluang keuntungan diperoleh dalam pasaran naik dan turun.

  4. Pengurusan risiko terbina dalam: reka bentuk untuk mengesan tahap hentian (TSL) pada dasarnya merangkumi fungsi hentian, mengehadkan kerugian maksimum untuk satu perdagangan.

  5. Maklum balas dagangan visual: Melalui antara muka grafik, isyarat dagangan dan harga pembukaan kedudukan ditunjukkan dengan jelas, yang membolehkan peniaga memantau dan menilai prestasi strategi dalam masa nyata.

  6. Fleksibiliti parameter: Dengan menyesuaikan parameter kitaran berayun ((no), dapat disesuaikan dengan ciri-ciri pasaran dalam tempoh masa yang berbeza, dari garis pendek hingga garis panjang menengah dapat digunakan.

  7. Petunjuk isyarat yang jelas: Sistem menyediakan isyarat isyarat bertulis dan visual yang berganda, mengurangkan kemungkinan kesalahan operasi.

Risiko Strategik

  1. Kegagalan dalam pasaran goyah: Dalam pasaran goyah mendatar, strategi ini mungkin menghasilkan isyarat palsu yang kerap, yang menyebabkan kerugian berturut-turut.

  2. Titik tergelincir dan risiko kelewatan pelaksanaan: Dalam dagangan dalam talian, mungkin terdapat perbezaan masa antara penjanaan isyarat dan pelaksanaan pesanan, yang menyebabkan harga transaksi sebenar menyimpang dari harga yang ideal.

  3. Keterbatasan pengurusan kedudukan tetap: Strategi semasa menggunakan unit tetap ((qty = 1) untuk berdagang, kekurangan mekanisme untuk menyesuaikan saiz kedudukan mengikut turun naik pasaran atau saiz akaun.

  4. Sensitiviti parameter: prestasi strategi sangat bergantung pada tetapan parameter kitaran berayun ((no), dan nilai parameter yang berbeza mungkin diperlukan dalam keadaan pasaran yang berbeza.

  5. Kelemahan dalam menghadapi keadaan kecemasan: Dalam keadaan perubahan harga yang cepat yang disebabkan oleh berita besar atau peristiwa Black Swan, tahap stop loss mungkin tidak dapat disesuaikan dengan cepat, menyebabkan kerugian yang lebih besar.

Kaedah untuk mengurangkan risiko ini termasuk: pengesahan isyarat dalam kombinasi dengan petunjuk lain, pelaksanaan pengurusan kedudukan dinamik, penetapan had kerugian maksimum, parameter penyesuaian mengikut kadar turun naik, dan parameter strategi pengesanan dan pengoptimuman secara berkala.

Arah pengoptimuman strategi

  1. Pengurusan kedudukan dinamik: saiz kedudukan yang disesuaikan secara dinamik berdasarkan turun naik pasaran atau perkadaran baki akaun, dan bukan perdagangan unit tetap. Ia boleh dicapai dengan menambahkan kod berikut:
   volatility = ta.atr(14) / close * 100  // 计算波动率百分比
   position_size = strategy.equity * 0.01 / volatility  // 根据波动率调整仓位
  1. Optimasi penapisan isyarat: memperkenalkan penunjuk teknikal tambahan seperti RSI, MACD atau ATR sebagai penapis isyarat, mengurangkan isyarat palsu. Contohnya:
   rsi = ta.rsi(close, 14)
   valid_buy = Buy and rsi < 70  // 避免在超买区域买入
   valid_sell = Sell and rsi > 30  // 避免在超卖区域卖出
  1. Parameter penyesuaian diri: parameter kitaran ayunan yang disesuaikan berdasarkan dinamik turun naik pasaran ((no), nilai yang lebih kecil digunakan dalam persekitaran turun naik yang rendah, nilai yang lebih besar digunakan dalam persekitaran turun naik yang tinggi.

  2. Menambah sasaran keuntungan: menetapkan sasaran keuntungan berdasarkan ATR atau tahap sokongan / rintangan, mengunci sebahagian keuntungan apabila pasaran bergerak cukup jauh ke arah yang menguntungkan.

  3. Penapis masa: Tambah sekatan pada tetingkap masa perdagangan untuk mengelakkan masa pasaran yang kurang cair atau tidak stabil.

  4. Mekanisme kawalan penarikan balik: Mekanisme penangguhan perdagangan berdasarkan peratusan penarikan balik hak dan faedah akaun, yang menghentikan perdagangan apabila kerugian berturut-turut mencapai nilai terhad yang ditetapkan.

  5. Pengesahan pelbagai kitaran: menggabungkan arah trend dengan kitaran masa yang lebih tinggi, hanya membuka posisi di arah yang selaras dengan trend kitaran yang lebih tinggi, meningkatkan peluang menang.

Arahan pengoptimuman ini dapat meningkatkan strategi dengan ketara, terutama dalam perubahan keadaan pasaran yang berbeza.

ringkaskan

Sistem perdagangan indikator berayun ganda adalah strategi perdagangan automatik berasaskan analisis teknikal yang menangkap perubahan trend pasaran dan melakukan perdagangan dua hala berayun ganda dengan mengesan tahap stop loss secara dinamik (TSL). Strategi ini berfungsi dengan baik di pasaran dengan trend yang jelas, dapat mengesan pergerakan harga dengan berkesan dan menguruskan kedudukan secara automatik.

Kelebihan utama strategi ini adalah mekanisme penjanaan isyarat yang mudah dan berkesan dan fungsi pengurusan risiko terbina dalam, yang sangat sesuai untuk perdagangan trend jangka pendek dan sederhana. Walau bagaimanapun, strategi ini mungkin menghadapi cabaran dengan isyarat palsu yang kerap di pasaran yang bergolak dan memerlukan pengoptimuman lebih lanjut untuk meningkatkan kesesuaian dalam pelbagai persekitaran pasaran.

Strategi ini dapat meningkatkan pengembalian dan kestabilan penyesuaian risiko mereka dengan melaksanakan langkah-langkah pengoptimuman seperti pengurusan kedudukan dinamik, pengesahan isyarat pelbagai indikator, dan penyesuaian parameter yang sesuai. Bagi peniaga kuantitatif, sistem automatik berdasarkan peraturan yang jelas ini menyediakan kerangka yang boleh dipercayai untuk mengurangkan gangguan emosi dan mengekalkan disiplin perdagangan.

Pada akhirnya, kejayaan strategi ini bergantung kepada penyesuaian yang baik oleh peniaga dalam parameter dan pemahaman tentang ciri-ciri pasaran. Adalah disyorkan untuk melakukan retrospeksi sejarah yang mencukupi dan mengesahkan perdagangan simulasi sebelum digunakan di pasaran.

Kod sumber strategi
/*backtest
start: 2024-05-06 00:00:00
end: 2025-03-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Accurate Swing Trading System with Auto Entry (Long & Short)", overlay=true)

// Parameters
no = input.int(3, title="Swing")
Barcolor = input.bool(true, title="Barcolor")
Bgcolor = input.bool(false, title="Bgcolor")

// Calculate TSL (Trailing Stop Level)
res = ta.highest(high, no)
sup = ta.lowest(low, no)
avd = close > res[1] ? 1 : close < sup[1] ? -1 : 0
avn = ta.valuewhen(avd != 0, avd, 0)
tsl = avn == 1 ? sup : res

// Define Buy and Sell Conditions
Buy = ta.crossover(close, tsl)
Sell = ta.crossunder(close, tsl)

plotshape(Buy, "BUY", shape.labelup, location.belowbar, color.green, text="BUY", textcolor=color.black)
plotshape(Sell, "SELL", shape.labeldown, location.abovebar, color.red, text="SELL", textcolor=color.black)

// Plot TSL
colr = close >= tsl ? color.green : close <= tsl ? color.red : na
plot(tsl, color=colr, linewidth=3, title="TSL")
barcolor(Barcolor ? colr : na)
bgcolor(Bgcolor ? colr : na)

// Alerts
alertcondition(Buy, title="Buy Signal", message="Buy")
alertcondition(Sell, title="Sell Signal", message="Sell")

// Automatic Entry & Exit with 1 Unit
if (Buy)
    strategy.entry("Long", strategy.long, qty=1)  // Enter long with 1 unit
    strategy.close("Short")  // Close any open short positions
    alert("Buy Signal - Entry Long", alert.freq_once_per_bar_close)
    alert("Buy Entry Sound", alert.freq_once_per_bar_close)

if (Sell)
    strategy.entry("Short", strategy.short, qty=1)  // Enter short with 1 unit
    strategy.close("Long")  // Close any open long positions
    alert("Sell Signal - Entry Short", alert.freq_once_per_bar_close)
    alert("Sell Entry Sound", alert.freq_once_per_bar_close)

// Plotting lines for open trades
var float long_price = na
var float short_price = na

// For Long Position: Plot the entry line at the price of the open position
if (strategy.opentrades > 0)
    if (strategy.opentrades.entry_id(0) == "Long" and not na(strategy.opentrades.entry_price(0)))
        long_price := strategy.opentrades.entry_price(0)
    if (strategy.opentrades.entry_id(0) == "Short" and not na(strategy.opentrades.entry_price(0)))
        short_price := strategy.opentrades.entry_price(0)

plot(long_price, color=color.green, style=plot.style_line, linewidth=2, title="Long Entry Line", offset=-1)
plot(short_price, color=color.red, style=plot.style_line, linewidth=2, title="Short Entry Line", offset=-1)