24 September 2026 · penyelidikan

Kami Memainkan Semula Strategi Paper Selepas Mula Semula. Pesanannya Berubah.

Kami Memainkan Semula Strategi Paper Selepas Mula Semula. Pesanannya Berubah.

Kami memulakan semula strategi paper di tengah-tengah dagangan lalu mendapat urutan pesanan yang berbeza daripada urutan sebelum mula semula. Data pasaran sama, versi strategi sama, baki akaun sama. Pengiraan isyarat sepadan. Ingatan strategi tentang posisinya dan pesanan tertangguh tidak sepadan.

Kami menjejaki percanggahan itu sepanjang sehari kerja main semula. Pengajaran yang berguna mudah sahaja: mula semula ialah peristiwa pasaran bagi perisian anda. Jika anda tidak menguji cara strategi membina semula keadaannya, backtest yang bersih boleh menyembunyikan sistem paper yang lupa apa yang dimilikinya.

09:10 — Kami memilih posisi yang biasa-biasa sahaja

Strategi ujian ini berdagang kontrak perpetual yang cair: masuk long apabila purata bergerak jangka pendek melintasi ke atas purata yang lebih panjang, kemudian keluar apabila berlaku persilangan sebaliknya. Kami memulakan main semula dengan posisi kecil yang sudah terbuka dan pesanan had reduce-only yang sedang menunggu untuk mengurangkannya. Ini memberikan dua perkara untuk dibina semula semasa pemulihan: apa yang kami miliki dan apa yang telah kami minta venue lakukan.

Pada titik semakan, akaun memegang 0.04 kontrak. Pesanan untuk 0.01 masih terbuka. Proses strategi telah menyimpan kedua-dua nilai dalam memori, tetapi laluan permulaannya hanya mendapatkan posisi. Ia menganggap pesanan yang dicache sudah tiada.

09:25 — Pesanan pendua pertama muncul

Selepas dimulakan semula, strategi melihat posisi long sedia ada, menjalankan logik isyaratnya lalu menghantar satu lagi pesanan trim 0.01. Kini venue paper mempunyai 2 pesanan aktif. Setiap pesanan itu sendiri tidak bermasalah. Namun, kedua-duanya boleh menjual dua kali ganda jumlah yang dirancang jika kedua-duanya terisi.

Pada mulanya kami menyalahkan gelung isyarat. Gelung itu bukan puncanya; snapshot yang tidak lengkaplah puncanya. Strategi bertanya, “Apakah posisi saya?” tetapi tidak pernah bertanya, “Pesanan manakah yang masih aktif?”

Keadaan selepas mula semulaApa yang dipercayai oleh prosesApa yang dipegang oleh akaun
PosisiLong 0.04Long 0.04
Pesanan trim terbukaTiada2 pesanan, masing-masing 0.01
Pendedahan yang dirancang selepas satu pesanan terisiLong 0.03Boleh menjadi long 0.02

10:00 — Kami membaiki pemulihan, kemudian menemui isu masa

Kami mengubah proses permulaan supaya keadaan dibina semula daripada posisi akaun dan pesanan terbuka sebelum keputusan baharu dibenarkan. Langkah itu menghapuskan pesanan pendua. Kemudian kami menjadikan gangguan sambungan kurang kemas: satu pesanan terisi ketika strategi berada di luar talian, dan pemberitahuan pengisian tiba selepas sambungan semula.

Snapshot akaun sudah mencerminkan pengisian itu. Pemberitahuan yang tertangguh kemudian mengurangkan posisi setempat buat kali kedua. Selama beberapa saat, strategi percaya ia memegang 0.02 kontrak sedangkan akaun memegang 0.03. Pengimbangan semula seterusnya dibuat berdasarkan kekurangan yang tidak wujud.

Kami menambah peraturan penyelarasan: jadikan snapshot akaun sebagai titik permulaan, gunakan pengecam peristiwa untuk mengabaikan pengisian yang sudah dicerminkan di situ, dan jangan hantar pesanan sehingga penyegerakan awal selesai. Pemberitahuan boleh tiba lewat atau dua kali. Pemulihan mesti dapat menangani kedua-duanya.

13:40 — Main semula mengesan percanggahan yang tersembunyi

Kami memainkan semula laluan harga yang sama untuk larian asal dan larian selepas mula semula. Perbandingan P&L akhir tentu terlepas masalah ini: kedua-dua versi berakhir dengan posisi yang sama selepas pasaran berbalik arah. Perbandingan peristiwa pesanan mendedahkannya.

Kami merekodkan setiap keputusan bersama keadaan yang dibacanya: posisi, pesanan terbuka, pengecam pengisian terakhir yang diproses, nilai isyarat dan versi strategi. Maka peristiwa pertama yang menyimpang dapat dijelaskan. Satu larian melihat pesanan yang masih aktif; satu lagi melihat senarai kosong. Kemudian, satu larian memproses pengisian yang sama dua kali.

Baki akhir yang sepadan tidak membuktikan tingkah laku yang sepadan. Bandingkan urutan keputusan dan pesanan, terutamanya sekitar titik pemulihan.

16:20 — Perkara yang akan kami buat secara berbeza lain kali

Kami menghabiskan terlalu banyak masa memainkan semula data harga sebelum memeriksa peralihan keadaan akaun. Lain kali, kami akan suntik kes kegagalan terlebih dahulu dan memastikan laluan pasaran hampir mendatar. Dengan itu, ralat perisian mudah dilihat tanpa pergerakan tidak menentu yang mengaburkan diagnosis.

Kami juga belajar untuk menyimpan snapshot pemulihan bersama versi strategi dan log peristiwa. Ini membolehkan kami menghasilkan semula kegagalan dalam beberapa minit, tanpa bergantung pada ingatan seseorang tentang urutan penyambungan semula yang tepat.

Strategi paper yang hanya berfungsi dengan betul selagi prosesnya terus berjalan belum lulus latihan penuh. Mulakan semula ketika posisi masih terbuka, buat pengisian tiba lewat, dan periksa setiap pesanan yang dihantarnya selepas itu. Tujuannya bukan untuk membuktikan bahawa ia tidak akan gagal. Tujuannya adalah untuk melihat cara ia pulih sebelum akaun paper memberi anda pengajaran yang sama secara mengejut.

dagangan paperkeadaan strategibacktestingpengurusan pesanankebolehulangan
← Semua catatan