Strategi ini adalah sistem perdagangan kuantitatif berdasarkan rentang harga. Strategi ini beroperasi dengan mengatur batas harga atas dan bawah secara dinamis dan mengeksekusi perdagangan ketika harga menembus tingkat kunci ini. Konsep inti adalah untuk menangkap peluang tren ketika pasar keluar dari rentang harga yang ditetapkan sambil beradaptasi dengan perubahan pasar melalui penyesuaian zona harga yang dinamis. Strategi ini menggunakan manajemen posisi yang fleksibel, memungkinkan perdagangan tambahan ke arah yang sama untuk memaksimalkan keuntungan dari tren utama.
Strategi ini beroperasi berdasarkan mekanisme inti berikut: Pertama, menetapkan ukuran langkah yang sesuai untuk instrumen perdagangan yang berbeda, biasanya sekitar 1,5% dari harga instrumen. Sistem ini menetapkan zona harga di atas dan di bawah harga saat ini, memicu sinyal panjang ketika harga melanggar batas atas dan sinyal pendek ketika harga melanggar batas bawah. Setelah setiap pemecahan, zona harga menyesuaikan diri untuk beradaptasi dengan lingkungan pasar baru. Strategi ini mendukung penambahan posisi ke arah yang sama, memungkinkan hingga 200 posisi, memungkinkan maksimalisasi keuntungan selama tren yang kuat. pemrosesan pesanan mencakup beberapa perlindungan, termasuk pemrosesan di bar close, perhitungan ulang setelah pelaksanaan perdagangan, dan komputasi pada setiap tanda harga.
Ini adalah tren yang dirancang dengan baik mengikuti strategi dengan logika yang jelas. Melalui pengaturan dan penyesuaian zona harga yang dinamis, dikombinasikan dengan manajemen posisi yang fleksibel, strategi dapat secara efektif menangkap peluang tren pasar. Meskipun ada ruang untuk optimasi, secara keseluruhan, strategi menyediakan kerangka kerja perdagangan kuantitatif yang kuat. Melalui optimasi dan perbaikan terus-menerus, kinerja strategi dapat ditingkatkan lebih lanjut. Desain strategi secara menyeluruh mempertimbangkan berbagai aspek perdagangan praktis, termasuk pemrosesan pesanan dan efisiensi komputasi, 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")