Sumber dimuat naik... memuat...

Strategi Dagangan Penembusan Zon Harga Dinamik Berdasarkan Sistem Kuantitatif Sokongan dan Rintangan

Penulis:ChaoZhang, Tarikh: 2024-12-11 15:03:50
Tag:

img

Ringkasan

Strategi ini adalah sistem perdagangan kuantitatif berdasarkan penembusan julat harga. Ia beroperasi dengan menetapkan had harga atas dan bawah secara dinamik dan melaksanakan dagangan apabila harga memecahkan tahap utama ini. Konsep terasnya adalah untuk menangkap peluang trend apabila pasaran keluar dari julat harga yang ditetapkan sambil menyesuaikan diri dengan perubahan pasaran melalui penyesuaian dinamik zon harga. Strategi ini menggunakan pengurusan kedudukan yang fleksibel, yang membolehkan dagangan tambahan dalam arah yang sama untuk memaksimumkan keuntungan dari trend utama.

Prinsip Strategi

Strategi ini beroperasi berdasarkan mekanisme teras berikut: Pertama, ia menetapkan saiz langkah yang sesuai untuk instrumen dagangan yang berbeza, biasanya sekitar 1.5% daripada harga instrumen. Sistem ini menubuhkan zon harga di atas dan di bawah harga semasa, mencetuskan isyarat panjang apabila harga memecahkan di atas had atas dan isyarat pendek apabila memecahkan di bawah had bawah. Selepas setiap pecah, zon harga menyesuaikan diri untuk menyesuaikan diri dengan persekitaran pasaran baru. Strategi ini menyokong penambahan kedudukan dalam arah yang sama, membolehkan sehingga 200 kedudukan, yang membolehkan memaksimumkan keuntungan semasa trend yang kuat. Pemprosesan pesanan termasuk beberapa perlindungan, termasuk pemprosesan pada penutupan bar, pengiraan semula selepas pelaksanaan perdagangan, dan pengiraan pada setiap tanda harga.

Kelebihan Strategi

  1. Penyesuaian Dinamik yang Kuat: Zon harga menyesuaikan diri secara automatik dengan perubahan pasaran, membolehkan strategi menyesuaikan diri dengan keadaan pasaran yang berbeza.
  2. Keupayaan Mengikuti Trend yang Luar Biasa: Dengan membenarkan kedudukan tambahan dalam arah yang sama, strategi dapat memanfaatkan sepenuhnya trend yang kuat.
  3. Kawalan Risiko yang Komprehensif: Syarat stop-loss yang jelas ditetapkan, secara automatik menutup kedudukan apabila harga memecahkan di bawah zon.
  4. Penggunaan luas: Strategi ini boleh digunakan untuk pelbagai pasaran melalui parameter saiz langkah yang sesuai untuk instrumen perdagangan yang berbeza.
  5. Kecekapan Pengkomputeran Tinggi: Menggunakan kelenturan pembolehubah dan kaedah pengiraan yang cekap untuk memastikan operasi strategi yang lancar.

Risiko Strategi

  1. Risiko pasaran yang berbelit-belit: Pelanggaran palsu yang kerap di pasaran yang terhad dalam julat boleh menyebabkan berhenti berturut-turut.
  2. Risiko Pengurusan Posisi: Menambah kedudukan dalam arah yang sama boleh menyebabkan kepekatan yang berlebihan, yang memerlukan kawalan yang betul terhadap pendedahan risiko arah.
  3. Risiko slippage: Slippage yang ketara semasa tempoh tidak menentu boleh menjejaskan prestasi strategi.
  4. Sensitiviti Parameter: Keberkesanan strategi secara langsung bergantung kepada tetapan saiz langkah yang sesuai, yang memerlukan ujian menyeluruh.

Arahan Pengoptimuman Strategi

  1. Menggabungkan Penunjuk Volatiliti: Sesuaikan saiz langkah secara dinamik berdasarkan turun naik pasaran untuk meningkatkan kebolehsesuaian strategi.
  2. Tambah Mekanisme Penapisan: Sertakan penunjuk pengesahan trend untuk mengurangkan kerugian daripada pecah palsu.
  3. Meningkatkan Pengurusan Posisi: Merancang mekanisme kawalan kedudukan yang lebih terperinci untuk mengimbangi pulangan dan risiko.
  4. Mengoptimumkan Pelaksanaan Perintah: Tambah laluan pesanan pintar untuk mengurangkan kesan slippage.
  5. Sertakan Dimensi Masa: Pertimbangkan ciri masa pasaran untuk menyesuaikan parameter strategi dalam tempoh yang berbeza.

Ringkasan

Ini adalah trend yang direka dengan baik mengikuti strategi dengan logik yang jelas. Melalui tetapan zon harga dinamik dan penyesuaian, digabungkan dengan pengurusan kedudukan yang fleksibel, strategi dapat menangkap peluang trend pasaran dengan berkesan. Walaupun terdapat ruang untuk pengoptimuman, secara keseluruhan, strategi menyediakan kerangka perdagangan kuantitatif yang kukuh. Melalui pengoptimuman dan peningkatan berterusan, prestasi strategi dapat ditingkatkan lagi. Reka bentuk strategi mempertimbangkan dengan teliti pelbagai aspek perdagangan praktikal, termasuk pemprosesan pesanan dan kecekapan pengiraan, menunjukkan kepraktisan yang kuat.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=5
// 每个图表上画对应间隔的横线,自己手画吧
// 同方向追加20单,订单成交后重新计算,每个tick重新计算,变量保存1000个周期,k线结束后再处理一次订单,按照代码顺序来绘制plot
strategy("Price Level Breakout Strategy", overlay=true, pyramiding=200, calc_on_order_fills=true, calc_on_every_tick=true, max_bars_back=1000, process_orders_on_close=true, explicit_plot_zorder=true)
// var创建持久性变量,:=是更新变量,不重新声明
// 这个是全局变量
// a = array.new<string>(200)
// array.push(a, "a")
// plot(close, color = array.get(a, close > open ? 1 : 0))
string ticker = syminfo.ticker
var float step_size = 1000
// label.new(x=bar_index, y=close, text="当前品种代码: " + ticker)
// 根据定值画1.5的平行线
if ticker == "000300"
    step_size := 4000 * 0.015
if ticker == "XAUUSD"
    step_size := 3000 * 0.016
if ticker == "BTCUSD"
    step_size := 60000 * 0.015
if ticker == "SILVER"
    step_size := 50 * 0.015
if ticker == "UKOIL"
    step_size := 150 * 0.015
if ticker == "GBPUSD"
    step_size := 1.6 * 0.015
if ticker == "EURUSD"
    step_size := 1.1 * 0.015
    // 从0开始画200条间隔线
if ticker == "USDJPY"
    step_size := 100 * 0.015
var float start_value = close
var float up_number = close + step_size
var float low_number = close - step_size
// hline(3.14, title='Pi', color=color.blue, linestyle=hline.style_dotted, linewidth=2)
// plot(1)
// 当价格突破上限,产生买入信号
if close > up_number
    // 生成买入信号
    strategy.entry(id = "Buy", direction = strategy.long)
    // 更新新的价格区间
    start_value := start_value + step_size
    up_number := start_value + step_size
    low_number := start_value - step_size
    strategy.close(id = "Sell")
// 当价格跌破下限,产生卖出信号
if close < low_number
    // 生成卖出信号
    strategy.entry("Sell", strategy.short)
    // 更新新的价格区间
    start_value := start_value - step_size
    up_number := start_value + step_size
    low_number := start_value - step_size
    strategy.close(id = "Buy")


Lebih lanjut