
Sistem dagangan super trend ATR beradaptasi berkala adalah strategi pemantauan trend pintar berdasarkan purata gelombang sebenar (ATR). Strategi ini menggunakan perubahan indikator super trend untuk mengenal pasti titik peralihan trend pasaran dan melakukan dagangan multi-space secara automatik setelah trend disahkan. Sistem ini menggabungkan tetapan parameter stop-loss multi-space yang bebas dan dapat menstabilkan kedudukan dalam masa nyata berdasarkan isyarat pembalikan trend, meningkatkan kemenangan dagangan dan kecekapan penggunaan dana.
Inti strategi ini adalah berdasarkan logik pengiraan dan mekanisme penjanaan isyarat indikator SuperTrend. Indikator SuperTrend membentuk tahap sokongan dan rintangan yang dinamik dengan mengira hubungan pangkat harga dengan ATR. Langkah-langkah untuk mewujudkannya adalah seperti berikut:
Pengiraan ATRStrategi menyediakan dua kaedah pengiraan ATR, satu adalah pengiraan ATR standard, dan yang lain adalah pengiraan TR berdasarkan purata bergerak sederhana (SMA). Pengguna boleh memilih cara pengiraan yang lebih sesuai dengan keadaan pasaran semasa melalui parameter.
Orbit atas dan bawah ditentukan:
Logik penilaian trend:
Sinyal dagangan dihasilkan:
Pengurusan gudang pintarStrategi ini secara automatik membatalkan semua lamaran terlampir sebelum melakukan perdagangan baru, memastikan isyarat baru dapat dilaksanakan dengan lancar. Pada masa yang sama, sistem akan menilai apakah perlu melakukan perdagangan balik berdasarkan arah pegangan semasa.
Mekanisme kawalan risikoStrategi ini menetapkan parameter hentian yang berasingan untuk pelbagai arah kosong, dan menggunakan risiko kawalan stop loss peratusan secara seragam. Selain itu, sistem secara automatik akan meratakan kedudukan untuk mengelakkan kerugian yang lebih besar apabila trend berbalik.
Dengan analisis kod yang mendalam, strategi ini mempunyai kelebihan yang ketara:
Beradaptasi dengan turun naik pasaran: Mengubah tahap sokongan dan rintangan secara dinamik melalui penunjuk ATR, membolehkan strategi menyesuaikan diri dengan keadaan pasaran yang berbeza dan mengurangkan isyarat palsu.
Konfigurasi parameter yang fleksibelSistem ini menyediakan banyak parameter yang boleh disesuaikan, termasuk kitaran ATR, penggandaan ATR, pilihan sumber data, dan lain-lain. Pengguna boleh melakukan pengoptimuman peribadi mengikut jenis transaksi dan tempoh masa yang berbeza.
Tetapan penangguhan bebasStrategi inovatif untuk menyediakan parameter penangguhan yang bebas untuk arah berbilang ruang, lebih sesuai dengan sifat tidak simetri pasaran, arah berbilang ruang boleh menggunakan sasaran keuntungan yang berbeza.
Trend berbalikSistem ini secara automatik akan menutup kedudukan apabila trend berbalik, tanpa menunggu untuk pencetakan stop loss, melindungi keuntungan yang telah dibuat dan mengurangkan potensi kerugian.
Isyarat perdagangan visualStrategi: Strategi menunjukkan isyarat beli dan jual, paras stop loss dan warna latar trend secara intuitif pada carta, membantu peniaga lebih memahami dan mengesan keadaan sistem.
Penapisan isyarat yang tepat: Mengurangkan isyarat pecah palsu dalam pasaran yang bergolak, meningkatkan kualiti perdagangan melalui mekanisme pengesahan trend.
Walaupun strategi ini direka dengan baik, terdapat risiko yang berpotensi:
Kepekaan ParameterPenggandaan ATR dan tetapan kitaran mempunyai kesan yang besar terhadap prestasi strategi, parameter yang tidak sesuai boleh menyebabkan perdagangan berlebihan atau kehilangan isyarat penting. Penyelesaian adalah dengan mencari kombinasi parameter yang optimum melalui pengulangan data sejarah.
Risiko pembalikan arah aliran: Pada titik peralihan trend yang kuat, pasaran mungkin mengalami lonjakan besar yang menyebabkan stop loss tidak dapat dilaksanakan dengan berkesan. Ia disyorkan untuk menyesuaikan ATR atau menambah syarat penapisan turun naik pasaran tambahan dalam keadaan pasaran yang tidak menentu.
Kebergantungan satu indikatorStrategi bergantung kepada indikator supertrend, kekurangan pengesahan indikator lain yang boleh menyebabkan isyarat yang salah dalam keadaan pasaran tertentu. Anda boleh mempertimbangkan untuk menambah indikator lain untuk pengesahan isyarat.
Pelanggaran peratus tetapStrategi menggunakan peratusan tetap untuk menetapkan stop loss, tidak mengambil kira turun naik pasaran semasa, mungkin terlalu dekat dengan stop loss dalam persekitaran yang bergelombang tinggi. Anda boleh mempertimbangkan untuk mengaitkan tahap stop loss dengan pergerakan nilai ATR.
Pemprosesan isyarat berterusan: Dalam pasaran yang bergolak, perubahan trend yang kerap boleh berlaku, menyebabkan peningkatan kos perdagangan berlebihan. Anda boleh menambah mekanisme penapisan isyarat atau sekatan selang masa untuk mengurangkan frekuensi perdagangan.
Berdasarkan analisis kod, strategi ini boleh dioptimumkan dalam beberapa arah:
Tambah pengesahan jumlah transaksiGabungan penunjuk kuantiti urus niaga mengesahkan keberkesanan perubahan trend, dan isyarat perdagangan dilaksanakan hanya jika jumlah urus niaga meningkat, yang dapat mengurangkan kerugian yang disebabkan oleh pelanggaran palsu.
Analisis kitaran masaPendahuluan: Memperkenalkan kerangka analisis jangka masa berbilang, hanya berdagang ke arah trend jangka masa yang lebih besar, dapat meningkatkan kadar kemenangan sistem dengan ketara. Sebagai contoh, pelaksanaan isyarat berbilang garis jam hanya apabila garisan matahari bertukar ke atas.
Dinamika ATR: Mengubah ATR secara dinamik mengikut keadaan turun naik pasaran, menggunakan kelipatan yang lebih besar dalam keadaan turun naik yang tinggi, menggunakan kelipatan yang lebih kecil dalam keadaan turun naik yang rendah, menjadikan sistem lebih beradaptasi.
Menyertai pengenalan status pasaran: Membangunkan modul pengenalan keadaan pasaran, membezakan pasaran tren dan pasaran goyah, menerapkan strategi perdagangan yang berbeza atau kombinasi parameter dalam keadaan pasaran yang berbeza.
Mengoptimumkan strategi hentian hentian: Mempunyai tracking stop loss yang dinamik, menyesuaikan kedudukan stop loss secara automatik apabila harga bergerak ke arah yang menguntungkan, untuk melindungi keuntungan dan memberi ruang rehat yang mencukupi kepada harga.
Menambah penapis masa transaksiMenambah penapis untuk tempoh dagangan tertentu, mengelakkan pergerakan pasaran yang lebih besar atau kurang cair, meningkatkan kualiti dagangan.
Pengurusan wang yang lebih baikMengubah saiz kedudukan mengikut kekuatan isyarat strategi dan keadaan pasaran yang bergelombang, meningkatkan kedudukan pada isyarat keyakinan tinggi, mengurangkan kedudukan pada isyarat keyakinan rendah.
Sistem dagangan super trend ATR berkala adalah strategi pemantauan trend yang komprehensif yang menggabungkan analisis teknikal dan pengurusan risiko. Dengan menggunakan indikator super trend untuk menangkap titik peralihan trend pasaran, dan dilengkapi dengan mekanisme stop loss yang fleksibel, strategi ini dapat mengekalkan prestasi yang stabil dalam pelbagai persekitaran pasaran.
Kelebihan utama strategi ini adalah kemampuan beradaptasi dan konfigurasi parameter yang fleksibel, yang membolehkan ia menyesuaikan diri dengan pelbagai jenis perdagangan dan kitaran pasaran. Dengan menetapkan parameter penangguhan yang berasingan untuk arah berbilang, strategi ini dapat menyesuaikan diri dengan lebih baik dengan sifat asimetris pasaran, meningkatkan keuntungan keseluruhan.
Walaupun terdapat risiko seperti sensitiviti parameter dan kebergantungan pada satu indikator, strategi ini berpotensi untuk meningkatkan kestabilan dan keuntungan lebih lanjut melalui arah pengoptimuman yang disyorkan, terutamanya analisis kitaran masa berbilang dan penyesuaian ATR berganda yang dinamik. Akhirnya, strategi ini menyediakan pedagang dengan kerangka perdagangan yang boleh dipercayai dan sistematik yang dapat membantu mengurangkan gangguan emosi dan mencapai pelaksanaan perdagangan yang lebih objektif dan disiplin.
/*backtest
start: 2024-09-15 00:00:00
end: 2025-06-28 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=6
strategy("ZYTX SuperTrend V1", overlay=true, margin_long=100, margin_short=100, pyramiding=0)
// 输入参数
periods = input(title='ATR周期', defval=10)
src = input(hl2, title='数据源')
multiplier = input.float(title='ATR乘数', step=0.1, defval=3.0)
changeATR = input(title='改变ATR计算方法', defval=true) // 已删除多余问号
stopLossPerc = input.float(title='止损 (%)', defval=1.0, step=0.1, minval=0, maxval=100) / 100
longTakeProfitPerc = input.float(title='多单止盈 (%)', defval=2.0, step=0.1, minval=0, maxval=100) / 100
shortTakeProfitPerc = input.float(title='空单止盈 (%)', defval=1.5, step=0.1, minval=0, maxval=100) / 100
enableLong = input.bool(title='启用做多交易', defval=true)
enableShort = input.bool(title='启用做空交易', defval=true)
// 超级趋势计算
atr2 = ta.sma(ta.tr, periods)
atr = changeATR ? ta.atr(periods) : atr2
up = src - multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn
// 趋势判断
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
// 交易信号
buySignal = trend == 1 and trend[1] == -1
sellSignal = trend == -1 and trend[1] == 1
// 可视化
plot(trend == 1 ? up : na, '上升趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
plot(trend == 1 ? na : dn, '下降趋势', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
// 策略逻辑
var float entryPrice = na
if buySignal and enableLong
strategy.cancel("多单止盈")
strategy.cancel("多单止损")
strategy.cancel("空单止盈")
strategy.cancel("空单止损")
if strategy.position_size <= 0
strategy.entry("多单", strategy.long)
entryPrice := close
// 多单止盈使用独立参数
if longTakeProfitPerc > 0
strategy.exit("多单止盈", "多单", limit=entryPrice * (1 + longTakeProfitPerc), comment="多单止盈")
if stopLossPerc > 0
strategy.exit("多单止损", "多单", stop=entryPrice * (1 - stopLossPerc), comment="多单止损")
if sellSignal and enableShort
strategy.cancel("多单止盈")
strategy.cancel("多单止损")
strategy.cancel("空单止盈")
strategy.cancel("空单止损")
if strategy.position_size >= 0
strategy.entry("空单", strategy.short)
entryPrice := close
// 空单止盈使用独立参数
if shortTakeProfitPerc > 0
strategy.exit("空单止盈", "空单", limit=entryPrice * (1 - shortTakeProfitPerc), comment="空单止盈")
if stopLossPerc > 0
strategy.exit("空单止损", "空单", stop=entryPrice * (1 + stopLossPerc), comment="空单止损")
// 趋势反转平仓
if (trend == 1 and strategy.position_size < 0) or (trend == -1 and strategy.position_size > 0)
strategy.close_all(comment="趋势反转平仓")
// 信号标记
plotshape(buySignal and enableLong, title='买入信号', text='买入', location=location.belowbar,
style=shape.labelup, size=size.small, color=color.new(color.green, 0), textcolor=color.new(color.white, 0))
plotshape(sellSignal and enableShort, title='卖出信号', text='卖出', location=location.abovebar,
style=shape.labeldown, size=size.small, color=color.new(color.red, 0), textcolor=color.new(color.white, 0))
// 止盈线可视化(多空独立)
plot(strategy.position_size > 0 and longTakeProfitPerc > 0 ? entryPrice * (1 + longTakeProfitPerc) : na,
"多单止盈线", style=plot.style_linebr, color=color.new(color.blue, 0), linewidth=1)
plot(strategy.position_size < 0 and shortTakeProfitPerc > 0 ? entryPrice * (1 - shortTakeProfitPerc) : na,
"空单止盈线", style=plot.style_linebr, color=color.new(color.blue, 0), linewidth=1)
// 趋势背景色
bgcolor(trend == 1 ? color.new(color.green, 90) : trend == -1 ? color.new(color.red, 90) : na, title="趋势背景")