
Strategi dagangan penurunan nilai dinamik nilai risiko yang dirumuskan adalah kaedah dagangan kuantitatif yang berdasarkan pada penyimpangan harga terhadap purata bergerak jangka panjang. Strategi ini menghasilkan indikator risiko antara 0 dan 1 dengan mengira perbezaan pasangan harga semasa dengan purata bergerak sederhana 374 kitaran, dan memprosesnya secara dirumuskan. Apabila nilai risiko berada di bawah paras tertentu, strategi ini menganggap risiko pasaran rendah dan sesuai untuk melakukan lebih banyak; apabila nilai risiko lebih tinggi daripada paras tertentu, strategi ini menganggap risiko pasaran tinggi dan sesuai untuk melakukan kosong atau kosong.
Prinsip teras strategi ini adalah untuk mengukur keadaan risiko pasaran dengan mengumpul nilai risiko, dan kemudian membimbing keputusan perdagangan. Langkah-langkah pengiraan adalah seperti berikut:
Strategi ini juga menyediakan mekanisme hentian kerugian dengan jumlah titik tetap (atau 5 titik) untuk mengawal kerugian maksimum dalam satu perdagangan. Selain itu, strategi ini juga menunjukkan pelbagai kedudukan isyarat secara intuitif di carta melalui fungsi label untuk membantu peniaga mengenal pasti peluang perdagangan yang berpotensi.
Kuantiti Risiko: Mempermudahkan keadaan pasaran yang kompleks kepada indikator risiko antara 0-1 dengan pemprosesan standard, mudah difahami, memudahkan keputusan perdagangan.
Kebolehan beradaptasi: Menggunakan titik tertinggi dan terendah sejarah untuk menyatu, membolehkan penunjuk menyesuaikan diri dengan keadaan pasaran yang berbeza dan ciri kitaran, mengelakkan batasan parameter tetap.
Prinsip kemerosotan nilai rata-rataStrategi berdasarkan sejauh mana harga menyimpang dari garis purata jangka panjang untuk menilai overbuying dan overselling, sesuai dengan ciri pulangan purata pasaran kewangan.
Penyesuaian faktor masa: Dengan memperkenalkan faktor masa ((0.395 kali kuasa bar_index), membuat pengiraan risiko menyesuaikan secara dinamik dari masa ke masa, lebih sesuai dengan undang-undang evolusi pasaran.
Mekanisme pengurusan risikoPenetapan kerugian terbina dalam, mengawal secara langsung jumlah kerugian maksimum dalam satu transaksi, membantu melindungi keselamatan dana.
Isyarat visual: Menurunkan kesukaran penghakiman pedagang dengan menandai dengan jelas pelbagai kedudukan isyarat, meningkatkan kepraktisan strategi.
Parameter ringkas: Kurang parameter teras, mengurangkan risiko over-fit, meningkatkan kemampuan strategi untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Rata-rata bergerak jangka panjang yang ketinggalanSMA: 374 kitaran mempunyai keterlambatan yang ketara, yang boleh menyebabkan kelewatan isyarat, kehilangan masa masuk atau keluar yang terbaik dalam pasaran yang berubah dengan cepat.
Stop loss tetap tidak sesuai dengan turun naikStrategi menggunakan mata tetap sebagai standard untuk menghentikan kerugian, tanpa mengambil kira perbezaan kadar turun naik di pasaran dan tempoh yang berbeza, yang boleh menyebabkan penutupan terlalu longgar atau terlalu ketat.
Sensitiviti nilai terendahSinyal perdagangan strategi sangat bergantung kepada had risiko yang ditetapkan (<0.3, <0.4, <0.6, <0.7), yang mungkin tidak sesuai untuk semua keadaan pasaran.
Batasan penyesuaian: Menggunakan nilai teratas sejarah untuk penyatuan, mungkin perlu disesuaikan semula apabila keadaan yang melampau baru muncul, dan kekurangan data sejarah boleh menyebabkan penyatuan tidak tepat.
Mengesan risiko biasStrategi bergantung pada nilai risiko tertinggi / terendah dalam sejarah, yang boleh menyebabkan fungsi masa depan yang menyimpang dalam pengesanan prospektif, dan kesannya dalam aplikasi sebenar mungkin kurang daripada hasil pengesanan semula.
Cabaran pengoptimuman parameterParameter utama seperti kitaran SMA, nilai terhad risiko, dan titik berhenti memerlukan pengoptimuman untuk pasaran yang berbeza, meningkatkan kerumitan strategi penyesuaian.
Penyelesaian termasuk: menggunakan mekanisme hentian yang beradaptasi untuk menggantikan hentian titik tetap; memperkenalkan indikator kadar turun naik untuk menyesuaikan nilai rendah risiko; menggunakan isyarat pengesahan pelbagai kitaran; menambah syarat penapis trend untuk mengelakkan perdagangan berlawanan; mengesahkan isyarat dalam kombinasi dengan petunjuk teknikal lain.
Mekanisme penangguhan kerugian: Mengubah stop loss berangka titik tetap kepada stop loss dinamik berdasarkan ATR (amplitude of true fluctuation) yang membolehkan tahap stop loss disesuaikan secara automatik dengan turun naik pasaran, seperti jarak stop loss yang ditetapkan 1.5 kali ATR.
Dinamika penurunan nilai risiko: menukar nilai risiko tetap ((0.3, 0.4, 0.6, 0.7) kepada nilai had yang disesuaikan berdasarkan keadaan pasaran yang dinamik, anda boleh mempertimbangkan untuk menyesuaikan nilai had ini dengan menggunakan kadar turun naik atau indikator kekuatan trend.
Tambah penapis trendMemperkenalkan mekanisme penghakiman trend, seperti menggunakan arah purata bergerak dengan tempoh yang lebih lama atau petunjuk ADX, hanya berdagang di arah trend utama, dan mengelakkan operasi berlawanan arah.
Mekanisme pengesahan isyaratMenambah keperluan pengesahan isyarat, seperti memerlukan indikator risiko untuk kekal di luar had selama beberapa kitaran berturut-turut sebelum isyarat mencetuskan, mengurangkan isyarat palsu.
Filter masaPeningkatan had tetingkap masa dagangan, mengelakkan masa dagangan yang diketahui tidak cekap atau masa turun naik tinggi, meningkatkan kualiti isyarat.
Mengoptimumkan kitaran purata bergerak: Uji kitaran SMA yang berbeza (seperti 200, 300, 450, dan lain-lain) untuk menggantikan kitaran 374 yang tetap, mencari parameter yang lebih sesuai untuk pasaran tertentu.
Peningkatan dalam pengurusan dana: Memperkenalkan mekanisme pengurusan kedudukan dinamik, menyesuaikan perkadaran dana setiap dagangan mengikut tahap mutlak nilai risiko dan kadar perubahan, untuk mencapai keseimbangan risiko.
Kerangka analisis pelbagai kitaranStrategi meluas untuk mempertimbangkan indikator risiko untuk beberapa tempoh masa, melakukan perdagangan hanya apabila isyarat dari pelbagai tempoh masa adalah sama, meningkatkan kebolehpercayaan isyarat.
Arahan pengoptimuman ini bertujuan untuk meningkatkan kebolehsuaian strategi, mengurangkan isyarat palsu, mengoptimumkan pengurusan risiko dan meningkatkan prestasi keseluruhan. Dengan menggabungkan beberapa titik pengoptimuman, sistem perdagangan yang lebih mantap dapat dibina.
Strategi dagangan penurunan nilai dinamik nilai risiko yang disederhanakan adalah kaedah dagangan kuantitatif yang berdasarkan pada penyimpangan harga terhadap purata bergerak jangka panjang, untuk membimbing keputusan perdagangan dengan mengira dan menyederhanakan indikator risiko. Strategi ini menyederhanakan keadaan pasaran yang kompleks menjadi nilai risiko antara 0-1 dan secara intuitif mencerminkan keadaan pasaran yang terlalu banyak.
Kelebihan utama strategi ini adalah kemampuan untuk menyesuaikan diri dan mengukur risiko, memproses secara seragam dengan secara dinamik menjejaki nilai teratas sejarah, yang membolehkan penunjuk menyesuaikan diri dengan keadaan pasaran yang berbeza. Di samping itu, mekanisme penangguhan terbina dalam menyediakan fungsi kawalan risiko asas.
Walau bagaimanapun, strategi ini juga mempunyai batasan seperti keterlambatan purata bergerak jangka panjang, penurunan harga tetap dan berhenti tidak sesuai dengan perubahan pasaran. Untuk meningkatkan prestasi strategi, langkah-langkah pengoptimuman seperti pengenalan mekanisme berhenti rugi dinamik, penurunan harga risiko yang sesuai, penapis trend, dan pengesahan pelbagai kitaran boleh dipertimbangkan.
Secara keseluruhannya, strategi dagangan penurunan nilai dinamik nilai risiko yang dirumuskan menyediakan cara yang sistematik untuk mengenal pasti keadaan risiko pasaran dan membimbing keputusan perdagangan, sesuai sebagai alat bantu untuk perdagangan jangka menengah dan panjang. Dengan pengoptimuman parameter yang munasabah dan pengurusan risiko, strategi ini berpotensi untuk mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran.
/*backtest
start: 2025-05-13 00:00:00
end: 2025-06-11 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
//@author=Skywalking2874
strategy("Risk Trading Strategy", overlay=false, max_bars_back=5000)
// 输入参数
risk_prices = input.bool(true, "Display the price corresponding with risk thresholds")
// 计算指标值
find_ath(_src) =>
var ath = 0.0
if _src > ath
ath := _src
ath
find_atl(_src) =>
var atl = 2.5
if _src < atl
atl := _src
atl
threeseventyfour = ta.sma(close, 374)
average = (math.log(close) - math.log(threeseventyfour)) * math.pow(bar_index, 0.395)
highest_value = find_ath(average)
lowest_value = find_atl(average)
average_normalized = (average - lowest_value) / (highest_value - lowest_value)
// 绘图
plot(average_normalized, color=color.new(color.blue, 0), title="Risk")
// 交易信号定义
longCondition = average_normalized < 0.3
exitLongCondition1 = average_normalized >= 0.6
exitLongCondition2 = average_normalized >= 0.7
shortCondition = average_normalized > 0.7
exitShortCondition = average_normalized <= 0.4
// 执行交易
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Stop Loss", "Buy", stop=close - 5 * syminfo.pointvalue)
if (exitLongCondition1 or exitLongCondition2)
strategy.close("Buy")
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Stop Loss", "Sell", stop=close + 5 * syminfo.pointvalue)
if (exitShortCondition)
strategy.close("Sell")
// 绘制标签
if (risk_prices)
price_zero = threeseventyfour * math.exp((0.0*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
price_point_three = threeseventyfour * math.exp((0.3*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
price_point_four = threeseventyfour * math.exp((0.4*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
price_point_six = threeseventyfour * math.exp((0.6*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
price_point_seven = threeseventyfour * math.exp((0.7*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
label.new(bar_index, price_zero, "Buy Signal", color=color.green, textcolor=color.white, style=label.style_label_up)
label.new(bar_index, price_point_three, "Exit Long Signal", color=color.blue, textcolor=color.white, style=label.style_label_up)
label.new(bar_index, price_point_four, "Exit Short Signal", color=color.orange, textcolor=color.white, style=label.style_label_up)
label.new(bar_index, price_point_six, "Exit Long Signal 2", color=color.blue, textcolor=color.white, style=label.style_label_up)
label.new(bar_index, price_point_seven, "Sell Signal", color=color.red, textcolor=color.white, style=label.style_label_up)