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.
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.
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")