Sistem Perdagangan Multi-Osilator: Strategi Manajemen Posisi Multi-Arah Otomatis Berdasarkan TSL

TSL 摆动交易 趋势跟踪 自动化交易系统 多方向交易 防护止损 波动率适应
Tanggal Pembuatan: 2025-03-06 10:57:03 Akhirnya memodifikasi: 2025-03-06 10:57:03
menyalin: 0 Jumlah klik: 348
2
fokus pada
319
Pengikut

Sistem Perdagangan Multi-Osilator: Strategi Manajemen Posisi Multi-Arah Otomatis Berdasarkan TSL Sistem Perdagangan Multi-Osilator: Strategi Manajemen Posisi Multi-Arah Otomatis Berdasarkan TSL

Ringkasan

Sistem perdagangan indikator multi-swing adalah strategi perdagangan kuantitatif yang didasarkan pada analisis teknis, yang intinya bergantung pada identifikasi titik tinggi dan rendah yang bergoyang untuk menentukan perubahan tren pasar. Strategi ini membangun tingkat stop loss yang dilacak secara dinamis dengan melacak harga tertinggi dan terendah dalam periode N terakhir.

Prinsip Strategi

Logika inti dari strategi ini berkisar pada pelacakan level stop loss (TSL), yang diimplementasikan sebagai berikut:

  1. Tingkat harga kunci dalam siklus perhitungan:

    • lulusta.highest(high, no)Hitung harga tertinggi dari no siklus terakhir (res)
    • lulusta.lowest(low, no)Hitung harga minimum dari no siklus terakhir ((sup))
  2. Menentukan posisi harga relatif terhadap titik tinggi dan rendah di periode sebelumnya:

    • Ketika harga penutupan lebih tinggi dari harga tertinggi di periode sebelumnya, nilai avd adalah 1 (trend naik)
    • Ketika harga penutupan berada di bawah harga terendah pada periode sebelumnya, nilai avd adalah -1 (dalam tren turun)
    • Dalam kasus lain, avd diberi nilai 0 (tidak ada tren yang jelas)
  3. Konstruksi Tracking Stop Loss Level (TSL):

    • Ketika tren naik, TSL menetapkan posisi support ((sup), sebagai titik stop loss
    • Ketika tren turun, TSL ditetapkan sebagai titik resistensi (res), yang berfungsi sebagai titik sinyal pembalikan
  4. Menciptakan sinyal perdagangan:

    • Sinyal beli ((Buy): Ketika harga close out melewati TSL
    • Sinyal Sell: Ketika TSL di bawah harga close
  5. Melakukan transaksi:

    • Ketika sinyal pembelian dipicu, kosongkan posisi teratas dan buka posisi teratas
    • Penjualan pada saat sinyal dipicu, kosongkan posisi multihead dan buka posisi kosong

Sistem ini juga mencakup komponen visual seperti tanda titik jual beli, garis K dan latar belakang yang berubah warna, dan garis horizontal yang menampilkan harga buka posisi secara real-time, yang meningkatkan pengalaman visual dari proses perdagangan.

Keunggulan Strategis

  1. Trend Capture: Dengan menghitung harga tertinggi dan terendah secara dinamis, dapat secara efektif menangkap perubahan tren pasar dan beradaptasi dengan fluktuasi dalam siklus pasar yang berbeda.

  2. Tingkat otomatisasi yang tinggi: Sistem secara otomatis melakukan identifikasi sinyal beli dan jual dan eksekusi transaksi, mengurangi intervensi manusia dan pengaruh emosional.

  3. Mekanisme perdagangan dua arah: mendukung perdagangan multihead dan headless, memungkinkan peluang keuntungan di pasar naik dan turun.

  4. Manajemen risiko internal: Tracking Stop Loss Levels (TSL) pada dasarnya dirancang untuk menyertakan fitur stop loss, yang membatasi kerugian maksimum pada satu transaksi.

  5. Umpan balik perdagangan visual: Melalui antarmuka grafis, sinyal perdagangan dan harga pembukaan posisi ditampilkan dengan jelas, sehingga memudahkan pedagang untuk memantau dan menilai kinerja strategi secara real-time.

  6. Fleksibilitas parameter: Dengan menyesuaikan parameter siklus berayun ((no), dapat disesuaikan dengan karakteristik pasar dalam periode waktu yang berbeda, dapat diterapkan dari garis pendek hingga garis panjang menengah.

  7. Sinyal yang jelas: Sistem memberikan sinyal ganda teks dan visual, mengurangi kemungkinan kesalahan operasi.

Risiko Strategis

  1. Performa buruk di pasar bergoyang: Dalam pasar bergoyang horizontal, strategi ini dapat menghasilkan sinyal palsu yang sering terjadi, yang menyebabkan stop loss berkelanjutan.

  2. Titik geser dan risiko keterlambatan eksekusi: Dalam perdagangan langsung, mungkin ada perbedaan waktu antara generasi sinyal dan eksekusi pesanan, yang menyebabkan harga transaksi aktual menyimpang dari harga yang ideal.

  3. Keterbatasan manajemen posisi tetap: Strategi saat ini menggunakan satuan tetap ((qty = 1) untuk perdagangan, kurangnya mekanisme untuk menyesuaikan ukuran posisi berdasarkan volatilitas pasar atau ukuran akun.

  4. Sensitivitas parameter: Kinerja strategi sangat bergantung pada pengaturan parameter siklus berayun ((no), yang mungkin memerlukan nilai parameter yang berbeda dalam lingkungan pasar yang berbeda.

  5. Kecenderungan untuk menanggapi keadaan darurat yang lemah: Dalam perubahan harga yang cepat yang disebabkan oleh berita besar atau peristiwa black swan, tingkat stop loss mungkin tidak dapat disesuaikan dengan tepat dan menyebabkan kerugian yang lebih besar.

Metode untuk mengurangi risiko ini meliputi: pengakuan sinyal dalam kombinasi dengan indikator lain, pelaksanaan manajemen posisi dinamis, pengaturan batas stop loss maksimum, parameter yang disesuaikan dengan volatilitas, dan parameter strategi yang diperiksa dan dioptimalkan secara berkala.

Arah optimasi strategi

  1. Manajemen Posisi Dinamis: Dimensi posisi disesuaikan secara dinamis berdasarkan fluktuasi pasar atau rasio saldo akun, bukan perdagangan unit tetap. Hal ini dapat dicapai dengan menambahkan kode berikut:
   volatility = ta.atr(14) / close * 100  // 计算波动率百分比
   position_size = strategy.equity * 0.01 / volatility  // 根据波动率调整仓位
  1. Optimasi penyaringan sinyal: memperkenalkan indikator teknis tambahan seperti RSI, MACD atau ATR sebagai filter sinyal, mengurangi sinyal palsu. Misalnya:
   rsi = ta.rsi(close, 14)
   valid_buy = Buy and rsi < 70  // 避免在超买区域买入
   valid_sell = Sell and rsi > 30  // 避免在超卖区域卖出
  1. Parameter penyesuaian diri: parameter siklus ayunan yang disesuaikan berdasarkan dinamika volatilitas pasar (no), menggunakan nilai yang lebih kecil dalam lingkungan fluktuasi rendah, menggunakan nilai yang lebih besar dalam lingkungan fluktuasi tinggi.

  2. Menambahkan target laba: menetapkan target laba berdasarkan ATR atau level dukungan / resistensi, mengunci sebagian keuntungan ketika pasar bergerak cukup jauh ke arah yang menguntungkan.

  3. Filter waktu: Tambahkan batasan jendela waktu perdagangan untuk menghindari periode pasar yang kurang likuiditas atau bergejolak.

  4. Mekanisme pengendalian penarikan: menerapkan mekanisme penarikan yang didasarkan pada persentase penarikan hak dan kepentingan akun, yang menghentikan perdagangan ketika kerugian berturut-turut mencapai batas yang ditentukan.

  5. Konfirmasi multi-siklus: Menggabungkan arah tren dari siklus waktu yang lebih tinggi, hanya membuka posisi di arah yang konsisten dengan tren siklus yang lebih tinggi, meningkatkan tingkat kemenangan.

Hal ini dapat secara signifikan meningkatkan keandalan dan adaptasi strategi, terutama dalam perubahan lingkungan pasar yang berbeda untuk memberikan pengembalian yang lebih baik untuk penyesuaian risiko.

Meringkaskan

Multiple Swing Indicator Trading System adalah strategi perdagangan otomatisasi berbasis analisis teknis yang menangkap perubahan tren pasar dan melakukan perdagangan dua arah multi-saluran dengan secara dinamis melacak tingkat stop loss (TSL). Strategi ini berkinerja baik di pasar dengan tren yang jelas, mampu secara efektif melacak pergerakan harga dan mengelola posisi secara otomatis.

Keunggulan inti dari strategi ini adalah mekanisme penciptaan sinyal yang sederhana dan efektif dan fungsi manajemen risiko yang dibangun, terutama untuk perdagangan tren jangka pendek dan menengah. Namun, strategi ini mungkin menghadapi tantangan dengan sinyal palsu yang sering terjadi di pasar yang bergoyang dan perlu dioptimalkan lebih lanjut untuk meningkatkan adaptasi dalam berbagai lingkungan pasar.

Strategi ini dapat lebih meningkatkan pengembalian dan stabilitas penyesuaian risiko dengan menerapkan langkah-langkah optimasi seperti manajemen posisi dinamis, konfirmasi sinyal multi-indikator, dan penyesuaian parameter adaptif. Untuk pedagang kuantitatif, sistem otomatisasi yang didasarkan pada aturan yang jelas ini memberikan kerangka kerja yang andal untuk mengurangi gangguan emosional dan menjaga disiplin perdagangan.

Pada akhirnya, keberhasilan strategi ini tergantung pada pengaturan parameter yang disesuaikan dengan baik oleh pedagang dan pemahaman tentang karakteristik pasar. Disarankan untuk melakukan retrospeksi sejarah yang memadai dan verifikasi perdagangan analog sebelum menerapkannya di pasar.

Kode 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)