
Strategi ini adalah sistem perdagangan yang berdasarkan pada garis rata-rata berkala, pengenalan trend dan analisis kuantitatif, idea utamanya adalah kawasan padat yang terbentuk dengan mengenal pasti garis rata-rata jangka pendek dan jangka menengah, digabungkan dengan arah trend yang disahkan oleh garis rata-rata jangka panjang, masuk ke perdagangan apabila harga melangkaui kawasan padat, dan menggunakan ATR untuk menguruskan risiko. Strategi ini dioptimumkan berdasarkan sistem garis rata tradisional, menambah penapisan kuantiti, penapisan trend dan syarat masuk kembali yang tepat, menjadikan isyarat perdagangan lebih dipercayai.
Prinsip-prinsip utama strategi ini adalah berdasarkan beberapa komponen utama:
Pengiktirafan kawasan padat rataKaedah: Garis rata 20 hari (pendek) dan 60 hari (pertengahan) membentuk kawasan padat, yang biasanya mewakili kawasan nilai persetujuan pelaku pasaran, yang mempunyai sokongan atau rintangan tertentu.
Pengesahan arah trendArah trend keseluruhan ditentukan dengan membandingkan kedudukan relatif garis purata 60 hari (rata-rata) dan 120 hari (rata-rata jangka panjang). Apabila garis purata jangka menengah terletak di atas garis purata jangka panjang, ia dikenali sebagai tren naik; sebaliknya, ia adalah tren menurun.
Menerobos dan masuk semulaStrategi ini unik kerana ia tidak memasuki pasaran secara langsung pada titik penembusan, tetapi menunggu untuk memasuki pasaran apabila harga kembali ke kawasan yang padat selepas penembusan, yang dapat mengurangkan risiko penembusan palsu.
Pengesahan pesananSinyal kemasukan perlu memenuhi syarat bahawa jumlah transaksi melebihi 1.5 kali ganda daripada purata 20 hari, memastikan bahawa pasaran mempunyai penyertaan yang mencukupi untuk menyokong pergerakan harga.
Pengurusan RisikoStrategi: Menggunakan mekanisme hentian dinamik dan hentian bergerak berdasarkan indikator ATR, membolehkan tahap hentian hentian secara automatik disesuaikan dengan turun naik pasaran dan menyesuaikan diri dengan keadaan pasaran yang berbeza.
Dari penerapan kod, syarat kemasukan berbilang adalah: harga hari sebelumnya menembusi kawasan padat naik (maksimum smaShort dan smaMid), harga hari itu kembali tetapi masih dalam kawasan padat (tidak lebih rendah dari bawah), dan trend pertengahan ke atas (smaMid > smaLong), dan syarat jumlah transaksi dipenuhi. Syarat kemasukan kosong sebaliknya.
Dari analisis mendalam mengenai pelaksanaan kod strategi ini, kelebihan-kelebihan berikut dapat disimpulkan:
Mekanisme pengesahan pelbagai peringkatKompleks strategi mengambil kira rata-rata garis rata-rata tiga tempoh masa pendek, sederhana, dan panjang, dan digabungkan dengan tingkah laku harga dan jumlah transaksi, membentuk mekanisme pengesahan isyarat bertingkat, yang berkesan mengurangkan kadar kesalahan penilaian.
Menurunkan risiko dengan melangkah ke belakangBerbeza dengan strategi penembusan tradisional yang memasuki pasaran secara langsung di titik penembusan, strategi ini membolehkan anda mendapatkan harga masuk yang lebih baik, mengurangkan kos dan risiko perdagangan dengan menunggu untuk masuk kembali.
Penapis trend meningkatkan kadar kemenanganMenentukan arah trend besar melalui hubungan garis rata jangka menengah dan jangka panjang, berdagang hanya apabila arah trend jelas, mengelakkan kerugian yang disebabkan oleh perdagangan yang kerap dalam pasaran yang bergolak.
Pengurusan risiko dinamikMekanisme Hentian Kerosakan dan Hentian Bergerak berasaskan ATR dapat menyesuaikan kedudukan perlindungan secara automatik mengikut turun naik pasaran, memberikan ruang rehat yang mencukupi kepada harga sambil melindungi keuntungan.
Pengesahan kuantiti untuk meningkatkan kebolehpercayaanMengurangkan kesalahan penghakiman dalam persekitaran kecairan yang rendah dengan memastikan bahawa urus niaga berlaku pada masa-masa yang lebih aktif dengan memerlukan jumlah urus niaga lebih besar daripada purata sebanyak 1.5 kali.
Kebolehlarasan parameter yang kuatStrategi ini menyediakan pelbagai parameter yang boleh disesuaikan, seperti kitaran purata, ATR ganda, nilai terhad, dan lain-lain, yang membolehkan peniaga menyesuaikan diri secara fleksibel mengikut keadaan pasaran dan keutamaan perdagangan yang berbeza.
Walaupun strategi ini dirancang secara menyeluruh, terdapat risiko yang berpotensi:
Ketinggalan garis purataGaris rata pada dasarnya adalah penunjuk yang ketinggalan zaman, yang mungkin tidak dapat mencerminkan perubahan harga dalam masa yang tepat dalam pasaran yang bergolak, menyebabkan kelewatan pada isyarat masuk atau keluar. Penyelesaian adalah dengan mempertimbangkan untuk memendekkan kitaran garis rata dengan sewajarnya dalam pasaran yang bergolak tinggi, atau dengan gabungan penunjuk utama lain untuk membantu keputusan.
Kesilapan yang kerapDalam pasaran yang bergolak, harga mungkin sering menembusi kawasan yang padat dan kemudian kembali, menyebabkan perdagangan yang kerap dan kerugian yang terkumpul. Ia disyorkan untuk menambah syarat penapisan tambahan, seperti memerlukan penembusan untuk mencapai peratusan tertentu, atau dalam kombinasi dengan analisis tahap rintangan sokongan.
Pengaturan Had Had Had Stop: Hentian ATR dengan pengganda tetap mungkin terlalu longgar atau terlalu ketat dalam keadaan pasaran yang berbeza. Parameter pengganda ATR harus disesuaikan dengan ciri-ciri turun naik dan pengesanan semula sejarah varieti tertentu.
Terlalu bergantung pada jumlah pesananData jumlah dagangan mungkin tidak cukup telus atau tepat di beberapa pasaran, dan bergantung kepada keadaan jumlah dagangan yang berlebihan boleh menyebabkan isyarat yang tidak berkesan. Anda boleh mempertimbangkan untuk menetapkan keadaan jumlah dagangan sebagai pilihan, atau digabungkan dengan analisis tingkah laku harga.
Parameter optimasi overfitSistem berbilang parameter mudah terjerumus ke dalam perangkap overfit, berprestasi baik pada data sejarah tetapi tidak berfungsi dengan baik di cakera. Disarankan untuk menggunakan ujian Walk-Forward Analysis untuk mengesahkan kestabilan strategi dalam tempoh masa yang berbeza.
Berdasarkan analisis kod, strategi ini boleh dioptimumkan dalam beberapa arah:
Tambah penapis kerangka masaPertimbangkan untuk menambah pengesahan trend pada jangka masa yang lebih besar, memastikan arah perdagangan selaras dengan trend kitaran yang lebih besar. Ini dilakukan kerana trend kitaran besar biasanya mempunyai kesinambungan dan kebolehpercayaan yang lebih kuat.
Memperkenalkan mekanisme penyesuaian harga: boleh menyesuaikan secara automatik kitaran garis purata dan kelipatan ATR mengikut turun naik pasaran terkini, supaya strategi dapat mengekalkan prestasi yang baik dalam pelbagai keadaan pasaran. Dalam pasaran yang bergelombang tinggi, panjangkan kitaran garis purata dengan sewajarnya, mengurangkan frekuensi isyarat; dalam pasaran yang bergelombang rendah, pendekkan kitaran garis purata dengan sewajarnya, meningkatkan kepekaan.
Menambah penapisan bermusim dan masaDalam beberapa pasaran, terdapat ciri-ciri bermusim yang jelas atau kesan masa dalam sehari, dan penapis masa boleh ditambah untuk mengelakkan tempoh masa yang kurang baik dalam sejarah.
Mengoptimumkan logik pengesahan mundurPengesahan mundur semasa hanya berdasarkan sama ada harga berada di dalam kawasan padat, boleh dipertimbangkan untuk menambah keperluan kedalaman mundur yang lebih halus, seperti meminta kedudukan perkadaran tertentu untuk mundur ke kawasan padat (seperti 38.2% dan 50%), atau digabungkan dengan pengesahan mundur pada akhir garis K.
Tambah modul pengurusan wangStrategi semasa menggunakan perdagangan jumlah tetap, yang boleh ditingkatkan kepada pengurusan kedudukan dinamik berdasarkan saiz akaun dan nisbah risiko, seperti nisbah risiko tetap atau formula Kelly, untuk mengoptimumkan kurva dana dan kawalan pengeluaran maksimum.
Menyertai pengiktirafan persekitaran pasaranMenambah pengiktirafan klasifikasi keadaan pasaran ((kedai trend / pasaran goyah), menggunakan parameter yang berbeza atau bahkan strategi perdagangan yang berbeza dalam keadaan pasaran yang berbeza, untuk mengelakkan perdagangan yang kerap dalam keadaan pasaran yang tidak sesuai.
“Multi linear trend breakout backtracking trading system with ATR dynamic stop loss” adalah strategi perdagangan kuantitatif yang menggabungkan beberapa konsep yang matang dalam analisis teknikal. Ia mengenal pasti julat nilai melalui kawasan yang padat dengan linear, menggunakan sistem linear untuk menentukan arah trend, menggabungkan tindakan harga yang menembus dan pengesahan jumlah transaksi, untuk membina sistem perdagangan yang agak sempurna.
Strategi ini memerlukan perhatian kepada masalah ketinggalan sistem linear dan risiko penyesuaian berlebihan untuk pengoptimuman parameter dalam aplikasi sebenar. Strategi ini mempunyai ruang untuk peningkatan yang besar dengan menambah mekanisme penyesuaian, pengenalan keadaan pasaran dan logik pengesahan mundur yang lebih halus.
Secara keseluruhannya, ia adalah sistem perdagangan yang direka dengan logik yang logik dan jelas, yang mencerminkan falsafah perdagangan teras “mengikuti trend + pengurusan risiko dinamik”, yang sesuai untuk digunakan oleh peniaga yang mempunyai pengalaman dalam pasaran yang jelas.
/*backtest
start: 2024-03-05 00:00:00
end: 2025-03-03 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("均线密集区交易系统(优化版2)", shorttitle="MA_Zone_Opt2", overlay=true, initial_capital=10000, default_qty_type=strategy.fixed, default_qty_value=1000, commission_value=0.1)
// === 输入参数 ===
smaShortPeriod = input.int(20, title="短期SMA周期", minval=1)
smaMidPeriod = input.int(60, title="中期SMA周期", minval=1)
smaLongPeriod = input.int(120, title="长期SMA周期", minval=1)
atrPeriod = input.int(14, title="ATR周期", minval=1)
atrMultiplierStop = input.float(3.0, title="止损ATR倍数", minval=1.0)
atrMultiplierTrail = input.float(2.0, title="移动止盈ATR倍数", minval=1.0)
volPeriod = input.int(20, title="成交量周期", minval=1)
volThreshold = input.float(1.5, title="成交量倍数", minval=1.0)
// === 计算均线 ===
smaShort = ta.sma(close, smaShortPeriod) // MA20
smaMid = ta.sma(close, smaMidPeriod) // MA60
smaLong = ta.sma(close, smaLongPeriod) // MA120
// === 计算 ATR 和成交量 ===
atrValue = ta.atr(atrPeriod)
volAvg = ta.sma(volume, volPeriod)
volCondition = volume > volAvg * volThreshold // 成交量高于平均值 1.5 倍
// === 定义均线密集区(只用 SMA20 和 SMA60) ===
maMax = math.max(smaShort, smaMid)
maMin = math.min(smaShort, smaMid)
// === 趋势过滤:SMA60 和 SMA120 的相对位置 ===
trendUp = smaMid > smaLong // 60日均线上穿120日均线,上升趋势
trendDown = smaMid < smaLong // 60日均线下穿120日均线,下降趋势
// === 交易信号逻辑 ===
// 涨破密集区:K线收盘价突破 maMax
breakUp = ta.crossover(close, maMax)
// 跌破密集区:K线收盘价跌破 maMin
breakDown = ta.crossunder(close, maMin)
// 回踩条件:
// 买入 - 前一根K线跌至密集区内,当前K线仍在密集区内,且趋势向上
pullbackUp = close[1] <= maMax and close[1] >= maMin and close >= maMin and trendUp and volCondition
// 卖出 - 前一根K线涨至密集区内,当前K线仍在密集区内,且趋势向下
pullbackDown = close[1] >= maMin and close[1] <= maMax and close <= maMax and trendDown and volCondition
// === 买卖逻辑 ===
// 买入(多单):涨破后回踩,且趋势向上
if breakUp[1] and pullbackUp
strategy.entry("Long", strategy.long)
// 动态止损和移动止盈
stopLossPrice = strategy.position_avg_price * (1 - atrMultiplierStop * atrValue / close)
trailStopPrice = close * (1 - atrMultiplierTrail * atrValue / close)
strategy.exit("Long_Exit", "Long", stop=stopLossPrice, trail_points=trailStopPrice, trail_offset=0)
// 卖出(空单):跌破后回踩,且趋势向下
if breakDown[1] and pullbackDown
strategy.entry("Short", strategy.short)
// 动态止损和移动止盈
stopLossPriceShort = strategy.position_avg_price * (1 + atrMultiplierStop * atrValue / close)
trailStopPriceShort = close * (1 + atrMultiplierTrail * atrValue / close)
strategy.exit("Short_Exit", "Short", stop=stopLossPriceShort, trail_points=trailStopPriceShort, trail_offset=0)
// === 绘制信号点 ===
plotshape(breakUp[1] and pullbackUp, title="买入信号", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(breakDown[1] and pullbackDown, title="卖出信号", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)