Sistem perdagangan terobosan pelarasan volatiliti dwi kitaran dan pengurusan kedudukan dinamik serta strategi kedudukan piramid

ATR Donchian Channels BREAKOUT TREND FOLLOWING POSITION SIZING PYRAMIDING Turtle Trading
Tarikh penciptaan: 2025-06-16 15:14:24 Akhirnya diubah suai: 2025-08-12 17:46:27
Salin: 0 Bilangan klik: 333
2
fokus pada
319
Pengikut

Sistem perdagangan terobosan pelarasan volatiliti dwi kitaran dan pengurusan kedudukan dinamik serta strategi kedudukan piramid Sistem perdagangan terobosan pelarasan volatiliti dwi kitaran dan pengurusan kedudukan dinamik serta strategi kedudukan piramid

Gambaran keseluruhan

Sistem dagangan terobosan penyesuaian kadar turun naik dua kitaran adalah strategi kuantitatif yang direka berdasarkan undang-undang dagangan ribut yang terkenal, yang menggunakan dua kitaran masa yang berbeza ((20 hari dan 55 hari) untuk menangkap penembusan pasaran, sambil menggabungkan indikator kadar turun naik untuk pengurusan kedudukan dinamik. Sistem ini menggabungkan pelbagai teknik perdagangan kuantitatif seperti pemantauan trend, perdagangan penembusan, penyesuaian kadar turun naik dan penambahan kedudukan piramid, untuk menangkap trend pasaran jangka panjang. Logik teras strategi adalah masuk ke dalam pasaran ketika harga mencapai paras tinggi atau rendah sebelum penembusan harga, dengan mengira kadar turun naik ((ATR), dan melakukan penambahan kedudukan piramid yang munasabah, dan akhirnya membuat kerugian atau keuntungan melalui penembusan berulang yang pendek.

Prinsip Strategi

Dari analisis kod, ia dapat dilihat bahawa prinsip-prinsip utama strategi ini merangkumi aspek-aspek berikut:

  1. Kejayaan dua pusinganStrategi menggunakan dua set sistem masuk - Sistem 1 menggunakan 20 hari tinggi / rendah sebagai isyarat masuk utama; Sistem 2 diaktifkan selepas kerugian perdagangan sebelumnya, menggunakan 55 hari tinggi / rendah sebagai isyarat masuk. Reka bentuk ini dapat menyesuaikan sensitiviti masuk secara automatik mengikut keadaan pasaran.

  2. Pengukuran kadar turun naik dan pengurusan kedudukanStrategi: Menggunakan purata 20 hari gelombang sebenar (((ATR) sebagai ukuran kadar turun naik pasaran, dengan formula: unit kedudukan = jumlah risiko / (N * nilai titik) untuk mengira kedudukan yang munasabah. Di mana jumlah risiko sama dengan keuntungan akaun yang dikalikan dengan peratusan risiko yang ditetapkan (((default 1%)). Kaedah ini memastikan pendedahan risiko yang konsisten dalam pelbagai persekitaran kadar turun naik.

  3. Mekanisme penambahan simpanan piramidApabila harga yang telah mendapat keuntungan terus bergerak ke arah yang menguntungkan (jarak sekurang-kurangnya 0.5N), strategi ini membenarkan unit baru dengan saiz yang sama ditambahkan. Kaedah penambahan simpanan piramida ini dapat meningkatkan potensi keuntungan dalam pasaran yang sedang berkembang.

  4. Siklus pendek berbalik untuk menembusi paras paras parasStrategi: Gunakan 10 hari rendah / tinggi sebagai isyarat keluar dari kedudukan tinggi / kosong. Apabila harga jatuh ke bawah 10 hari rendah, matikan semua kedudukan tinggi; apabila harga menembusi 10 hari tinggi, matikan semua kedudukan kosong.

  5. Mekanisme pertukaran sistemStrategi akan menyesuaikan sistem masuk secara automatik mengikut hasil perdagangan. Jika perdagangan dalam satu arah rugi, perdagangan di arah yang sama akan menggunakan sistem 2 (siklus 55 hari); Setelah perdagangan yang menguntungkan, sistem 1 (siklus 20 hari) akan digunakan semula.

Dengan menggunakan kombinasi prinsip-prinsip ini, strategi dapat memasuki pasaran yang sedang tren lebih awal, melabur dengan baik, dan keluar pada awal pembalikan trend, untuk menangkap trend pasaran jangka menengah dan jangka panjang dengan berkesan.

Kelebihan Strategik

Dari penguraian kod yang lebih mendalam, kita dapat menyimpulkan bahawa strategi ini mempunyai beberapa kelebihan utama:

  1. Keputusan perdagangan automatikStrategi: Melakukan dagangan sepenuhnya berdasarkan peraturan kuantitatif, menghilangkan gangguan emosi buatan manusia, memastikan pelaksanaan disiplin perdagangan yang ketat. Kod ini menentukan dengan jelas syarat masuk, kenaikan dan keluar, tanpa penilaian subjektif.

  2. Pengurusan risiko dinamikDengan mengehadkan risiko setiap perdagangan kepada peratusan tetap hak dan kepentingan akaun (default 1%) dan digabungkan dengan ATR untuk menyesuaikan saiz kedudukan, strategi ini dapat mengekalkan pendedahan risiko yang konsisten dalam pelbagai persekitaran kadar turun naik. Kaedah ini secara automatik mengurangkan kedudukan di pasaran yang bergelombang tinggi dan meningkatkan kedudukan yang sesuai di pasaran yang bergelombang rendah.

  3. Sesuaikan diri dengan keadaan pasaranReka bentuk dua kitaran membolehkan strategi menyesuaikan diri secara automatik mengikut keadaan pasaran. Menggunakan kitaran yang lebih pendek dalam pasaran trend keuntungan berturut-turut (20 hari) untuk mengekalkan kepekaan; beralih ke kitaran yang lebih lama setelah mengalami kerugian (55 hari) untuk mengurangkan isyarat palsu.

  4. Mekanisme pertumbuhan semulaStrategi: Mengira saiz kedudukan berdasarkan hak dan kepentingan akaun semasa, meningkatkan kedudukan secara automatik dengan pertumbuhan akaun, untuk mencapai kesan keuntungan; dan meluaskan potensi keuntungan dalam trend yang kuat melalui mekanisme kenaikan kedudukan piramid.

  5. Kebolehan beradaptasiReka bentuk strategi sesuai untuk pelbagai kelas aset, terutamanya dalam pasaran dengan ciri-ciri trend yang jelas seperti emas. Dengan menyesuaikan parameter, ia dapat dioptimumkan untuk ciri-ciri pasaran yang berbeza.

  6. Kawalan risiko yang jelas: Menggunakan 10 hari reverse breakout sebagai isyarat keluar, menyediakan titik berhenti yang jelas untuk setiap perdagangan, mengawal risiko perdagangan tunggal dengan berkesan; dan mengawal risiko sistematik dengan menetapkan peratusan risiko maksimum.

Risiko Strategik

Walaupun terdapat banyak kelebihan, strategi ini mempunyai risiko yang berpotensi:

  1. Risiko penembusan palsuDalam pasaran yang bergolak, harga mungkin sering menembusi titik tinggi / rendah tetapi kemudiannya jatuh kembali dengan cepat, menyebabkan kerugian berturut-turut. Kekurangan mekanisme penapisan pecah palsu dalam kod mungkin menghasilkan lebih banyak isyarat tidak berkesan dalam pasaran yang tidak trend.

  2. Peningkatan risiko pengambilalihanMekanisme penambahan kedudukan piramid sangat berkesan semasa trend berterusan, tetapi jika trend tiba-tiba berbalik, kedudukan beberapa unit boleh menyebabkan kerugian yang lebih besar. Walaupun strategi menetapkan syarat untuk keluar, tetapi dalam perubahan yang teruk, kerugian yang lebih besar mungkin masih berlaku.

  3. Kepekaan ParameterPrestasi strategi sangat bergantung kepada pelbagai parameter yang ditetapkan (siklus masuk, kitaran keluar, kitaran ATR, jarak kedudukan, dan lain-lain). Persekitaran pasaran yang berbeza mungkin memerlukan kombinasi parameter yang berbeza, dan parameter tetap mungkin menyebabkan prestasi yang tidak stabil.

  4. Risiko kecairan: Dalam pasaran yang kurang likuid, penambahan saham yang besar boleh menyebabkan peningkatan slippage atau kesukaran untuk berdagang pada harga yang dijangkakan, yang menjejaskan kesan pelaksanaan sebenar. Tidak ada mekanisme pengendalian masalah likuid dalam kod.

  5. Pendedahan kepada risiko sistemikSebagai strategi pemantauan trend semata-mata, ia mungkin mempunyai hubungan yang tinggi dengan strategi trend lain semasa penurunan atau turun naik yang meluas di pasaran, dan sukar untuk memberikan perlindungan yang pelbagai.

  6. Masalah ketepatan pengiraan: Menggunakan fungsi math.floor di dalam kod untuk mengambil keseluruhan kedudukan yang dikira ke bawah, ia boleh menyebabkan kedudukan terlalu kecil atau tidak dapat diperdagangkan dalam akaun kecil. Di samping itu, penetapan nilai titik yang tidak betul juga boleh menyebabkan kedudukan yang dikira salah.

Untuk mengawal risiko ini, anda boleh mempertimbangkan untuk menambah penapis trend, menetapkan had kedudukan maksimum, mengoptimumkan peraturan kenaikan kedudukan, dan meningkatkan mekanisme penyesuaian kadar turun naik.

Arah pengoptimuman strategi

Berdasarkan analisis kod, strategi ini boleh dioptimumkan dengan cara berikut:

  1. Tambah penapis trendStrategi semasa adalah semata-mata berdasarkan perdagangan harga yang pecah, mudah terjejas oleh pecah palsu. Indikator trend (seperti purata bergerak, ADX, dan lain-lain) boleh ditambah sebagai syarat penapisan, hanya menjalankan perdagangan apabila arah trend selaras, mengurangkan perdagangan yang rugi di pasaran goyah.

  2. Optimumkan peraturan kenaikanMekanisme penambahan simpanan yang sedia ada agak mudah, boleh mempertimbangkan untuk memperkenalkan kadar penambahan simpanan yang berkurangan ((unit penambahan simpanan yang beransur-ansur berkurangan) atau menetapkan had jumlah penambahan simpanan maksimum, mengimbangi keperluan untuk mengembangkan keuntungan dan mengawal risiko.

  3. Pengaturan parameter dinamikAnda boleh menyesuaikan kitaran masuk / keluar dan selang penambahan kedudukan berdasarkan kadar turun naik pasaran atau kekuatan trend. Sebagai contoh, anda boleh memanjangkan kitaran masuk di pasaran yang bergelombang tinggi dan memendekkan kitaran keluar di pasaran yang bergelombang rendah, menjadikan strategi anda lebih fleksibel.

  4. Tambah waktu penapisanUntuk mengelakkan pengumuman data ekonomi utama atau pergerakan yang kurang baik, dan untuk mengurangkan risiko turun naik yang luar biasa, syarat penapisan masa perdagangan ditambah.

  5. Pengesahan pelbagai kerangka masa: Menggabungkan arah trend dengan kitaran masa yang lebih lama sebagai syarat penapisan perdagangan, contohnya, hanya menjalankan perdagangan apabila trend sunset selaras dengan arah trend 4 jam, meningkatkan kualiti isyarat.

  6. Pengurusan wang yang optimumModel pengurusan wang yang lebih kompleks seperti formula Kelly atau kaedah nilai f yang optimum boleh diperkenalkan untuk mengoptimumkan lebih lanjut keluk pertumbuhan wang mengikut nisbah risiko yang disesuaikan secara dinamik dengan kadar kemenangan yang dijangkakan dan kadar keuntungan / kerugian.

  7. Peningkatan mekanisme penghalangStrategi semasa hanya mempunyai mekanisme keluar yang berasaskan terbalik terbalik, boleh mempertimbangkan untuk menambah mekanisme penguncian keuntungan, seperti menebus sebahagian kedudukan apabila mencapai sasaran keuntungan tertentu, sambil menangkap trend dan melindungi keuntungan.

Arahan pengoptimuman ini dapat meningkatkan kestabilan dan keuntungan strategi, terutamanya adaptasi dalam keadaan pasaran yang berbeza.

ringkaskan

Sistem perdagangan terobosan dengan penyesuaian kadar turun naik dua kitaran adalah strategi perdagangan kuantitatif yang lengkap berdasarkan peraturan perdagangan tsunami, menggabungkan pelbagai teknik perdagangan kuantitatif seperti masuk terobosan, pengurusan kedudukan kadar turun naik, penambahan simpanan piramid dan kitaran penyesuaian. Strategi ini memasuki trend dengan menangkap harga yang pecah, memanfaatkan peluang risiko kawalan kadar turun naik, dan memaksimumkan keuntungan trend melalui penambahan simpanan piramid.

Nilai teras strategi ini adalah bahawa reka bentuk sistem menyeluruhnya, termasuk semua aspek masuk, keluar, pengurusan kedudukan dan kawalan risiko, membentuk sistem perdagangan yang mandiri. Khususnya, mekanisme kedudukan penyesuaian kadar turun naik dan reka bentuk penyesuaian dua kitaran, membolehkan strategi mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran.

Walau bagaimanapun, sebagai strategi trend-following, ia mungkin tidak berfungsi dengan baik dalam pasaran yang bergolak, dan perlu diperbaiki dengan cara seperti menambah penapis trend, mengoptimumkan peraturan penambahbaikan, dan penyesuaian parameter dinamik. Pada masa yang sama, strategi ini sesuai digunakan sebagai sebahagian daripada portfolio, dan digunakan bersama dengan jenis strategi lain (seperti strategi pulangan rata-rata) untuk mencapai kurva keuntungan yang lebih lancar.

Secara keseluruhannya, ini adalah strategi perdagangan kuantitatif yang direka dengan logik dan jelas, dengan asas teori yang baik dan nilai praktikal. Dengan pengoptimuman parameter dan mekanisme pelengkap yang sesuai, strategi ini berpotensi menghasilkan keuntungan yang stabil dalam pelbagai persekitaran pasaran.

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

//@version=5
//策略声明和基础设置
strategy("Turtle Trading System (Full Version)", overlay=true, pyramiding=5)

//风险控制参数
riskPercent = input.float(0.5, title="每笔交易风险占资金百分比", minval=0.1, maxval=5.0, step=0.1)
pointValue = input.float(1.0, title="点值($/点)")

//入场周期参数
entryPeriod1 = input.int(20, title="系统1入场周期")
entryPeriod2 = input.int(55, title="系统2入场周期(亏损后)")

//出场和波动性参数
exitPeriod = input.int(10, title="出场周期")
nPeriod = input.int(20, title="N周期(ATR)")
pyramidSpacing = input.float(0.5, title="每N x ...添加单位", step=0.1)

//波动性指标计算
N = ta.atr(nPeriod)//计算ATR作为市场波动性的量化标准

//系统1入场通道计算(20周期)
entryHigh1 = ta.highest(high, entryPeriod1)//计算20周期内最高价作为做多突破位
entryLow1 = ta.lowest(low, entryPeriod1)//计算20周期内最低价作为做空突破位

//系统2入场通道计算(55周期)
entryHigh2 = ta.highest(high, entryPeriod2)//计算55周期内最高价作为保守做多突破位
entryLow2 = ta.lowest(low, entryPeriod2)//计算55周期内最低价作为保守做空突破位

//出场通道计算(10周期)
exitLong = ta.lowest(low, exitPeriod)//计算10周期内最低价作为多头出场位
exitShort = ta.highest(high, exitPeriod)//计算10周期内最高价作为空头出场位

//交易状态跟踪变量
var bool lastLongLoss = false//记录上次多头交易是否亏损
var bool lastShortLoss = false//记录上次空头交易是否亏损
var float lastLongEntryPrice = na//记录上次多头入场价格
var float lastShortEntryPrice = na//记录上次空头入场价格

//账户权益和风险计算
equity = strategy.equity//获取当前账户总权益
riskDollars = equity * (riskPercent / 100)//计算每笔交易允许的风险金额
unitSize = riskDollars / (N * pointValue)//基于ATR计算标准头寸规模
positionSize = math.round(unitSize, 3)//设定最终头寸大小

//入场信号生成逻辑
useSystem1Long = close > entryHigh1[1]//系统1多头入场条件
useSystem2Long = lastLongLoss and close > entryHigh2[1]//系统2多头入场条件(仅在上次亏损后)
useSystem1Short = close < entryLow1[1]//系统1空头入场条件
useSystem2Short = lastShortLoss and close < entryLow2[1]//系统2空头入场条件(仅在上次亏损后)

//金字塔加仓条件
canAddLong = strategy.opentrades > 0 and strategy.position_size > 0 and close >= lastLongEntryPrice + (pyramidSpacing * N)
//多头加仓条件
canAddShort = strategy.opentrades > 0 and strategy.position_size < 0 and close <= lastShortEntryPrice - (pyramidSpacing * N)
//空头加仓条件

//出场信号生成
longExit = close < exitLong//多头出场条件
shortExit = close > exitShort//空头出场条件

//多头入场执行
if (useSystem1Long or useSystem2Long)
    strategy.entry("Long", strategy.long, qty=positionSize)//执行多头开仓
    lastLongEntryPrice := close//记录多头入场价格作为加仓基准
    lastLongLoss := false//重置多头亏损状态

//空头入场执行
if (useSystem1Short or useSystem2Short)
    strategy.entry("Short", strategy.short, qty=positionSize)//执行空头开仓
    lastShortEntryPrice := close//记录空头入场价格作为加仓基准
    lastShortLoss := false//重置空头亏损状态

//多头加仓执行
if (canAddLong)
    strategy.entry("Long Add", strategy.long, qty=positionSize)//执行多头加仓
    lastLongEntryPrice := close//更新多头入场价格基准

//空头加仓执行
if (canAddShort)
    strategy.entry("Short Add", strategy.short, qty=positionSize)//执行空头加仓
    lastShortEntryPrice := close//更新空头入场价格基准

//多头出场执行
if (longExit)
    strategy.close("Long")//平掉初始多头头寸
    strategy.close("Long Add")//平掉所有多头加仓头寸
    lastLongLoss := close < lastLongEntryPrice//根据出场价格更新亏损状态

//空头出场执行
if (shortExit)
    strategy.close("Short")//平掉初始空头头寸
    strategy.close("Short Add")//平掉所有空头加仓头寸
    lastShortLoss := close > lastShortEntryPrice//根据出场价格更新亏损状态

//系统1入场信号可视化
plot(entryHigh1, title="20周期高点", color=color.green)//绘制系统1多头入场线
plot(entryLow1, title="20周期低点", color=color.red)//绘制系统1空头入场线

//系统2入场信号可视化
plot(entryHigh2, title="55周期高点", color=color.lime, linewidth=1)//绘制系统2多头入场线
plot(entryLow2, title="55周期低点", color=color.maroon, linewidth=1)//绘制系统2空头入场线

//出场信号可视化
plot(exitLong, title="10周期低点(多头出场)", color=color.orange)//绘制多头出场信号线
plot(exitShort, title="10周期高点(空头出场)", color=color.blue)//绘制空头出场信号线