
Gambaran Keseluruhan Strategi
Strategi ini adalah sistem perdagangan yang mengikuti trend berdasarkan saluran Donchian dan purata gelombang sebenar ATR. Strategi ini menggunakan orbit tengah saluran Donchian dengan kitaran garis K 4 jam dan sejauh mana ia menyimpang dari harga semasa, digabungkan dengan ATR sebagai pengukur pergerakan dinamik untuk mencari peluang masuk dan keluar dalam turun naik pasaran. Strategi ini menggunakan peningkatan dan hentian kerugian yang menonjol, dengan cara pengurusan kedudukan dengan jumlah perdagangan tetap (USD 5.1T), untuk menggunakan dana yang berkesan dalam keadaan pergerakan yang bergelombang.
Prinsip Strategi
Logik teras strategi ini adalah berdasarkan kepada beberapa elemen utama:
- Kerangka analisis pelbagai kitaranStrategi: menjalankan dagangan pada garis K 1 minit, tetapi menggunakan 4 jam garis K ((240 minit) indikator teknikal pengiraan data, mencapai kelebihan analisis pelbagai kitaran.
- Pengiraan laluan Dongxian: Berdasarkan data K-Line 4 jam pada 20 kitaran, kiraan purata bergerak sederhana harga atas (maksimum harga), bawah (minimum harga) dan pertengahan (harga penutupan)
- Jarak dinamik ditentukan: Menggunakan 2 kali ganda nilai ATR sebagai selang dagangan dinamik, membolehkan strategi menyesuaikan diri dengan perubahan turun naik pasaran.
- Logik pelaksanaan transaksi:
- Keadaan awal ((tidak memegang kedudukan): Perbelanjaan pertama dilakukan apabila laluan Dongxian ditarik dari harga semasa yang lebih besar daripada selang yang ditetapkan.
- Keadaan memegang kedudukan: apabila harga asas dan perbezaan harga semasa melebihi selang, melakukan operasi menambah atau mengurangkan kedudukan.
- Pentadbiran kedudukan: jumlah yang ditetapkan untuk setiap dagangan ((5.1 USDT), dan jumlah dagangan berdasarkan harga semasa.
- Mekanisme kedudukan rata: apabila kenaikan harga melebihi selang, pelaksanaan menjual, jika kedudukan tidak mencukupi, semua kedudukan tersedia dijual.
Kelebihan Strategik
- Kelebihan analisis pelbagai kitaranDengan melakukan perdagangan dalam jangka masa yang lebih pendek (k baris 1 minit) tetapi membuat keputusan berdasarkan petunjuk teknikal yang lebih lama (k baris 4 jam), mengurangkan gangguan bunyi pasaran jangka pendek, sambil mengekalkan keupayaan untuk mengesan trend jangka menengah dan jangka panjang.
- Dinamika untuk menyesuaikan diri dengan turun naik pasaranDengan menggunakan ATR sebagai metrik turun naik, strategi dapat menyesuaikan selang dagangan secara automatik mengikut perubahan turun naik pasaran, menetapkan selang yang lebih besar di pasaran turun naik tinggi dan selang yang lebih kecil di pasaran turun naik rendah.
- Mekanisme binaan tangkiApabila harga terus menurun, strategi ini akan menambah kedudukan pada setiap titik selang, purata kos untuk membina kedudukan, dan mengurangkan risiko dalam satu transaksi.
- Transaksi jumlah tetap: Menggunakan jumlah tetap dan bukannya jumlah tetap untuk setiap urus niaga, lebih sesuai dengan prinsip pengurusan risiko, mengelakkan masalah overinvestment pada harga tinggi atau kurangnya pelaburan pada harga rendah.
- Rekod log lengkapStrategi mewujudkan rekod log dagangan terperinci dan label visual, termasuk jenis dagangan, harga, jarak, jumlah dan jumlah pegangan, untuk memudahkan analisis dan pengoptimuman strategi.
Risiko Strategik
- Risiko pembalikan arah aliranStrategi mungkin tidak dapat mengenal pasti perubahan pasaran dalam masa yang tepat apabila trend kuat berbalik, menyebabkan kerugian besar selepas kenaikan saham berturut-turut. Penyelesaian: memperkenalkan indikator pengesahan trend atau menetapkan had jumlah maksimum kenaikan saham.
- Risiko kehabisan danaPenyelesaian: Tetapkan had peratusan penggunaan jumlah keseluruhan atau secara dinamik menyesuaikan jumlah dagangan tunggal.
- Kepekaan ParameterPilihan: ATR ganda ((2 kali ganda) dan kitaran laluan Dongxian ((20) mempunyai kesan besar terhadap prestasi strategi, penetapan parameter yang tidak betul boleh menyebabkan terlalu banyak atau terlalu sedikit isyarat. Penyelesaian: mencari kombinasi parameter yang optimum melalui retrospeksi sejarah, atau melaksanakan mekanisme penyesuaian parameter.
- Risiko kecairan: Dalam pasaran yang kurang cair, harga pasaran boleh menyebabkan slippage yang lebih besar, menjejaskan kesan pelaksanaan strategi yang sebenarnya. Penyelesaian: Pertimbangkan untuk menggunakan harga terhad atau menambah syarat penapis kecairan.
- Kos komisen yang terkumpulStrategi: mungkin sering berdagang, menghasilkan kos dagangan yang tinggi (setakan 0.1%), mungkin merosakkan keuntungan dalam jangka panjang. Penyelesaian: Optimumkan frekuensi dagangan atau pertimbangkan untuk menggunakan bursa dengan komisen yang lebih rendah.
Arah pengoptimuman strategi
- Menambah penapisan persekitaran pasaranMenggabungkan indikator turun naik (seperti bandwidth Brin atau ATR) untuk menilai keadaan pasaran semasa, menyesuaikan parameter strategi atau menangguhkan perdagangan dalam keadaan pasaran yang berbeza. Ini dapat mengelakkan kerugian kos yang disebabkan oleh perdagangan yang kerap dalam pasaran yang tidak menentu atau goyah.
- Dinamika penyesuaian ATRATR boleh disesuaikan mengikut kadar turun naik sejarah atau dinamika intensiti trend pasaran, menggunakan kelipatan yang lebih kecil untuk mengikuti harga dengan lebih rapat di pasaran yang sedang tren, dan menggunakan kelipatan yang lebih besar di pasaran yang bergolak untuk mengurangkan isyarat palsu.
- Memperkenalkan mekanisme stop loss: Tetapkan had kerugian maksimum atau jejak hentian untuk mengelakkan kerugian satu transaksi yang terlalu besar. Terutama selepas beberapa kali kenaikan, pertimbangkan untuk menetapkan tahap hentian komprehensif untuk melindungi keselamatan dana.
- Optimumkan pengurusan kedudukanAnda boleh mempertimbangkan untuk menggunakan jumlah dagangan yang berkurangan atau meningkat, dan bukannya jumlah tetap, dengan peratusan dana yang disesuaikan setiap dagangan mengikut saiz kedudukan yang telah dibina atau pergerakan turun naik pasaran.
- Tambah penapis masa transaksiAnalisis prestasi pada masa perdagangan yang berbeza, mengelakkan masa yang tidak cekap atau berisiko tinggi, seperti waktu persilangan pada masa perdagangan Asia, Eropah dan Amerika atau sebelum dan selepas data ekonomi utama diumumkan.
- Pengesahan untuk mengintegrasikan petunjuk lainIa boleh digabungkan dengan RSI, MACD dan lain-lain sebagai pengesahan tambahan, meningkatkan kualiti isyarat perdagangan dan mengurangkan kesalahan masuk ke pasaran.
- Menyesuaikan diri dengan kitaran laluan Dongxian: Mengubah kitaran pengiraan saluran Dongxian mengikut keadaan pasaran yang dinamik, menggunakan kitaran yang lebih pendek untuk meningkatkan kelajuan tindak balas di pasaran yang bergelombang tinggi, dan menggunakan kitaran yang lebih lama di pasaran yang bergelombang rendah untuk mengurangkan bunyi.
ringkaskan
Strategi dagangan yang mengesan pergerakan dalam selang masa yang berganda dalam saluran multi-siklus dan ATR adalah sistem dagangan kuantitatif yang menggabungkan analisis teknikal dan pengurusan risiko. Dengan menggunakan data kitaran 4 jam untuk membuat keputusan dalam garis K 1 minit, strategi ini dapat mengesan trend jangka menengah dengan berkesan, sambil menggunakan ATR untuk menyesuaikan selang masa dagangan secara dinamik untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Strategi ini sangat sesuai untuk keadaan pasaran yang bergelombang, tetapi perlu berhati-hati dengan risiko pembalikan trend dan pengurusan wang. Dengan menambah langkah-langkah pengoptimuman seperti penapis keadaan pasaran, penyesuaian parameter dinamik dan mekanisme penangguhan kerugian, anda dapat meningkatkan lagi kestabilan strategi dan keuntungan jangka panjang. Dalam aplikasi praktikal, disarankan untuk melakukan pengesanan balik yang mencukupi, mengoptimumkan parameter untuk jenis perdagangan tertentu, dan melaksanakan langkah-langkah kawalan risiko yang ketat untuk memastikan keselamatan wang.
Kod sumber strategi
/*backtest
start: 2024-04-02 00:00:00
end: 2025-04-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=5
strategy("Donchian Channel and ATR Strategy", overlay=true, currency="USDT", commission_type=strategy.commission.percent, commission_value=0.1)
// 用pine编写策略,实时执行。
// 获得suiusdt合约的4小时K线,用4小时k线20周期,计算唐奇安通道 和ATR。
// 最新的 ATR * 2 为间隔。每次买卖金额都是5.1usdt,根据金额计算交易数量。
// 策略基于1分钟k线执行。
// 开始时,baseprice为空。
// 如果 唐奇安通道中轨 - 当前价格 > 间隔, 则市价买入5.1usdt,记录成交价格为 baseprice。
// 重新计算计算唐奇安通道 和ATR, 还是使用4小时K线的20个周期。
// baseprice不为空,
// 如果 baseprice - 当前价格 > 间隔, 则市价买入5.1usdt,记录成交价格为 baseprice;
// 如果 当前价格 - baseprice > 间隔, 则市价卖出5.1usdt,记录成交价格为 baseprice。
// 卖出时,判断仓位是否足够卖出,不够则卖出剩余的仓位。卖出后,如果没有仓位了,设置baseprice为空。
// 标签和日志记录:买还是卖(buy/sell),初次买入标记为initBuy,价格,间隔,买入的数量,买入后仓位的总数量。
// 用不同颜色区分买卖。
// 获取4小时K线数据
resolution_4h = "240" // 4小时K线
high_4h = request.security(syminfo.tickerid, resolution_4h, high)
low_4h = request.security(syminfo.tickerid, resolution_4h, low)
close_4h = request.security(syminfo.tickerid, resolution_4h, close)
// 计算唐奇安通道和ATR(基于4小时K线)
length = 20
donchian_upper = ta.highest(high_4h, length)
donchian_lower = ta.lowest(low_4h, length)
donchian_middle = ta.sma(close_4h, length)
atr_value = ta.atr(length) // 使用4小时K线计算ATR
// 设置交易参数
trade_amount = 5.1 // 每次交易金额(USDT)
var float baseprice = na // 当前基准价格
var float total_position_qty = 0 // 总仓位数量
// 日志记录函数
log_trade(action, price, interval, qty, total_qty, color) =>
log_text = str.format("{0} @ {1} | Interval: {2} | Qty: {3} | Total Qty: {4}",
action, str.tostring(price), str.tostring(interval),
str.tostring(qty), str.tostring(total_qty))
// 策略逻辑
interval = atr_value * 2 // 间隔 = ATR * 2
if (na(baseprice))
if (donchian_middle - close > interval) // 使用1分钟K线的close价格判断
qty = trade_amount / close // 计算交易数量
strategy.entry("Buy", strategy.long, qty=qty)
baseprice := close // 更新基准价格
total_position_qty += qty // 更新总仓位数量
log_trade("initBuy", baseprice, interval, qty, total_position_qty, color.green) // 记录日志和标签
else
if (baseprice - close > interval) // 使用1分钟K线的close价格判断
qty = trade_amount / close
strategy.entry("Buy", strategy.long, qty=qty)
baseprice := close
total_position_qty += qty
log_trade("Buy", baseprice, interval, qty, total_position_qty, color.blue)
else if (close - baseprice > interval)
if (total_position_qty > 0)
qty = trade_amount / close
if (total_position_qty >= qty)
strategy.close("Buy", qty=qty)
total_position_qty -= qty
log_trade("Sell", baseprice, interval, qty, total_position_qty, color.red)
else
strategy.close("Buy")
total_position_qty := 0
log_trade("Sell (Full Position)", baseprice, interval, total_position_qty, 0, color.red)
baseprice := na // 清空基准价格
// 绘制唐奇安通道和ATR(基于4小时K线)
plot(donchian_upper, title="Donchian Upper", color=color.blue, linewidth=2)
plot(donchian_middle, title="Donchian Middle", color=color.orange, linewidth=2)
plot(donchian_lower, title="Donchian Lower", color=color.blue, linewidth=2)
plot(atr_value, title="ATR", color=color.red, linewidth=2)