> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Presisi dan pembulatan

> Bagaimana harga dan kuantitas direpresentasikan sebagai bilangan bulat, dan mengapa setiap field dibulatkan ke arah yang dipilih untuknya.

Setiap angka di jalur penyelesaian adalah bilangan bulat. Tidak ada floating point di jalur mana pun yang nilainya bisa memengaruhi saldo — karena dua mesin yang menghitung ekspresi floating-point yang sama bisa berbeda di bit terakhir, dan di jalur eksekusi konsensus, beda satu bit terakhir berarti fork.

Karena itu harga dan kuantitas disimpan dalam satuan bilangan bulat tetap, dan setiap konversi antara yang Anda ketik dan yang disimpan protokol punya arah pembulatan yang terdefinisi.

<h2 id="tick-size-and-lot-size">
  Tick size dan lot size
</h2>

| Kendala       | Berlaku untuk | Efek                                    |
| ------------- | ------------- | --------------------------------------- |
| **Tick size** | Harga         | Harga harus kelipatan bulat darinya     |
| **Lot size**  | Kuantitas     | Kuantitas harus kelipatan bulat darinya |

Keduanya ditetapkan per pasar dan dipublikasikan di [spesifikasi kontrak](/id/trading/markets). Order yang tidak memenuhinya ditolak, bukan diam-diam disesuaikan — venue yang membulatkan harga Anda diam-diam berarti mengubah order Anda tanpa memberi tahu.

<h2 id="rounding-is-a-risk-decision">
  Pembulatan adalah keputusan risiko
</h2>

Arah pembulatan bukan preferensi format. **Setiap pilihan pembulatan mengalokasikan sepersekian galat kepada seseorang**, dan aturannya konsisten: bila galat akan menciptakan risiko, bulatkan secara konservatif; bila galat akan menjadi transfer sistematis, bulatkan secara adil.

<h3 id="rounded-conservatively-against-the-account">
  Dibulatkan konservatif terhadap akun
</h3>

| Field                          | Arah         | Alasan                                                                        |
| ------------------------------ | ------------ | ----------------------------------------------------------------------------- |
| Margin awal                    | **Ke atas**  | Margin yang dinyatakan terlalu kecil membuat risiko juga tampak terlalu kecil |
| Margin pemeliharaan            | **Ke atas**  | Angka ini menetapkan ambang batas likuidasi                                   |
| Agunan bebas                   | **Ke bawah** | Mencegah membuka sedikit lebih besar daripada yang tertutupi                  |
| Saldo yang dapat ditarik       | **Ke bawah** | Mencegah menarik melebihi yang tersedia                                       |
| Ukuran beli atau jual maksimum | **Ke bawah** | Mencegah melampaui kapasitas sebenarnya                                       |

Polanya: apa pun yang menjawab *seberapa banyak yang boleh ditanggung akun ini* dibulatkan melawan akun. Kebutuhan margin yang dibulatkan ke bawah sepersekian, diulang di setiap posisi di venue ini, adalah pernyataan risiko yang secara sistematis terlalu rendah — kecil per kejadian, dan persis jenis galat yang baru muncul justru ketika galat itu penting.

<h3 id="rounded-fairly">
  Dibulatkan adil
</h3>

| Field                        | Arah                 | Alasan                                                         |
| ---------------------------- | -------------------- | -------------------------------------------------------------- |
| Biaya dan pembebanan funding | **Setengah ke atas** | Bias sistematis ke arah venue tidak bisa dipertanggungjawabkan |
| Rebate dan imbalan           | **Setengah ke atas** | Alasan yang sama, arah sebaliknya                              |
| P\&L terealisasi             | **Setengah ke atas** | Penyelesaian tidak boleh condong ke pihak mana pun             |
| P\&L yang ditampilkan        | **Setengah ke atas** | Konsisten dengan penyelesaian                                  |

Di field-field ini, arah pembulatan yang konsisten akan menjadi transfer, bukan margin keamanan. Biaya yang selalu dibulatkan ke atas adalah pungutan tersembunyi; yang selalu dibulatkan ke bawah adalah subsidi. Setengah ke atas tidak membuat pihak mana pun unggul secara sistematis.

**Satu pengecualian:** biaya yang akan membulat menjadi nol justru dibulatkan **ke atas**. Transaksi yang sama sekali tidak membayar biaya lebih buruk daripada transaksi yang membayar jumlah terkecil yang dapat direpresentasikan.

<Note>
  Inilah sebabnya nilai posisi, penggunaan margin, dan tampilan laba Anda bisa berbeda satu satuan terkecil dari perhitungan yang Anda lakukan sendiri. Selisih itu bukan galat — itu aturan pembulatan untuk field tersebut, diterapkan dengan sengaja.
</Note>

<h2 id="what-this-means-in-practice">
  Artinya dalam praktik
</h2>

* **Penuhi tick size dan lot size** sebelum mengirim. Penolakan karena harga yang tidak sesuai adalah penolakan order paling umum yang sebenarnya bisa dihindari.
* **Jangan menakar sampai satuan terakhir.** Agunan bebas dibulatkan ke bawah dan margin dibulatkan ke atas, jadi order yang ditakar persis sebesar saldo Anda yang tersedia bisa ditolak. Sisakan ruang galat.
* **Harapkan selisih tampilan yang kecil.** Untuk mereproduksi sebuah nilai secara persis, Anda harus menerapkan aturan pembulatan yang sama pada input bilangan bulat yang sama, bukan menghitung ulang dalam floating point.
* **Rekonstruksi dari bilangan bulat.** Jika Anda melakukan rekonsiliasi secara terprogram, bekerjalah dalam satuan protokol. Mengonversi ke tipe desimal lalu kembali akan memunculkan lagi persis ambiguitas yang hendak dihilangkan oleh bilangan bulat.

<h2 id="where-to-go-next">
  Langkah berikutnya
</h2>

<CardGroup cols={2}>
  <Card title="Pasar" href="/id/trading/markets">
    Tick size, lot size, dan spesifikasi kontrak per pasar.
  </Card>

  <Card title="IntentionKernel" href="/id/protocol/architecture/kernel">
    Mengapa aritmetika fixed-point adalah syarat konsensus.
  </Card>

  <Card title="Mode margin" href="/id/trading/margin-modes">
    Tempat pembulatan konservatif muncul pada saldo Anda yang tersedia.
  </Card>

  <Card title="Biaya" href="/id/programs/fees">
    Bagaimana pembebanan dihitung dan dibulatkan.
  </Card>
</CardGroup>
