Order book
Setiap instrumen punya order book sendiri, disimpan di memori sebagai tiga struktur yang bekerja sama:Slab arena — satu wilayah slot order teralokasi di muka
Level hargapeta terurut, harga → levelpuncak ditemukan dengan berjalan ke ujung, bukan memindai
Indeks orderid order → slotbatal dan ubah berwaktu konstan
order
order
order
order
order
Rantai berkait ganda dalam urutan kedatangan, sehingga prioritas dalam level bersifat posisional, bukan dihitung.
Alasan urutan pakai ulang tetapSlot yang dibebaskan dipakai ulang dalam urutan tetap dan indeks di-seed tetap. Bukan pilihan performa: dua validator dengan urutan pakai ulang berbeda akan fork.
kepala tiap level
akses langsung
Order tinggal di dalam
slab arena — wilayah teralokasi di muka dengan alokasi dan pelepasan berwaktu konstan. Karena itu operasi order book tidak melakukan alokasi di jalur panas, dan slot yang dibebaskan dipakai ulang dalam urutan tetap alih-alih di mana pun alokator kebetulan menaruhnya. Detail terakhir itu bukan pilihan performa: jika dua validator memakai ulang slot dalam urutan berbeda, apa pun yang mengamati tata letak slot akan menyimpang.
Disiplin yang sama berlaku pada indeks order, yang di-seed secara tetap alih-alih acak. Peta hash dengan seed per proses adalah pertahanan standar terhadap serangan kolisi; di jalur eksekusi konsensus, itu adalah fork.
Harga berupa bilangan bulat di sepanjang jalur — satuan subtick, bukan desimal. Lihat Presisi untuk pemetaannya ke apa yang Anda kirim.
Prioritas
Prioritas ditentukan harga dulu, lalu posisi dalam rantai pada harga itu. “Waktu” adalah posisi kanonis order tersebut dalam barisan blok yang dikomit, bukan kapan order itu tiba di suatu node. Inilah yang menghapus perlombaan latensi intrablok. Dua order dalam blok yang sama punya urutan prioritas terdefinisi yang dihitung identik oleh setiap validator, dan sedekat apa pun Anda dengan node tertentu tidak mengubahnya. Antarblok, kedatangan tetap berpengaruh — tetapi satuan persaingannya adalah blok, bukan mikrodetik. Urutan tahap kernel memperkuat hal ini: pembatalan dieksekusi sebelum penempatan agresif di dalam satu blok, sehingga kuotasi terpasang tidak bisa diambil order yang masuk di blok yang sama dengan pembatalannya.Mencocokkan order
Order masuk
Melintasi order book?
Konsumsi level lawan terbaik
Terbitkan eksekusi
Selesai
Pasang atau tolak sisanya, sesuai masa berlakuGTC terpasang · IOC membatalkannya · FOK tidak dieksekusi kecuali penuh · post-only ditolak alih-alih melintasi
sisa — ambil level berikutnya
tanpa sisa
- GTC — pasang sisanya di order book.
- IOC — batalkan sisanya.
- FOK — jika order tidak bisa dieksekusi penuh, tidak ada yang dieksekusi sama sekali.
- ALO — post-only: jika order akan mengambil likuiditas, order itu ditolak alih-alih melintasi order book.
Pencegahan self-trade
Ketika order masuk akan bertemu likuiditas terpasang milik pemilik yang sama, pencocokan itu ditekan alih-alih dieksekusi. Sisi mana yang mengalah dapat dikonfigurasi:
Maker yang dibatalkan dengan cara ini dikumpulkan selama matching dan dihapus sebagai bagian dari blok yang sama, sehingga order book tidak membawa order yang sudah ditekan.
Kepemilikan untuk pemeriksaan ini ditentukan pada tingkat akun yang dilacak order book. Lihat Pencegahan self-trade untuk sudut pandang sisi trading.
Apa yang tidak dilakukan matching
Matching tidak menghitung biaya, tidak merealisasi laba dan rugi, tidak menyesuaikan posisi, dan tidak memeriksa margin. Semua itu terjadi setelah matching, di lembaga kliring, digerakkan oleh eksekusi yang dihasilkan matching. Matching juga tidak memutuskan apakah order boleh ada. Kecukupan margin, batas order terbuka, kendala reduce-only, dan konversi market-to-limit sudah diselesaikan sebelum order sampai ke order book. Saat matcher melihat order, pertanyaannya tinggal di titik mana order itu ditempatkan di order book.Ke mana selanjutnya
Lembaga Kliring
Apa yang terjadi pada saldo dan posisi setelah eksekusi terbentuk.
Jenis order
Sudut pandang sisi trading: apa yang bisa Anda kirim dan bagaimana masing-masing berperilaku.
Order book
Kedalaman, level, dan cara membaca order book sebagai trader.
IntentionKernel
Letak matching dalam eksekusi blok.