Pengenalan Order RPI

08/07 23:00:00 (UTC+7)Panduan Spot Trading

Pengenalan Order RPI

Order Retail Price Improvement (RPI) adalah jenis order khusus yang dirancang secara eksklusif untuk market maker yang telah disetujui. Order ini hanya cocok dengan order non-algoritmik yang ditempatkan melalui antarmuka Aplikasi atau Web sehingga memberikan likuiditas pasar yang lebih terarah bagi trader retail dan harga eksekusi yang lebih baik. Sementara itu, order ini melindungi order penyedia likuiditas milik market maker agar tidak dipertemukan dengan order algoritmik sehingga menjaga keadilan dan integritas pasar secara keseluruhan.

 

I. Apa Itu Order RPI?

Order RPI adalah limit order khusus yang hanya dapat dikirim melalui OpenAPI oleh market maker yang sudah masuk dalam whitelist. Order ini memiliki empat karakteristik utama:

•Pencocokan Terarah: Hanya cocok dengan order non-algoritmik yang dikirim melalui antarmuka Aplikasi dan antarmuka Web. Order ini tidak akan cocok dengan order API (termasuk order RPI lainnya) atau order bot grid.

• Prioritas terendah: Pada tingkat harga yang sama, order RPI hanya akan dicocokkan setelah seluruh order non-RPI pada tingkat harga tersebut dieksekusi.

•Maker Only: Ini adalah limit order pasif yang selalu menyediakan likuiditas ke order book dan tidak pernah mengambil likuiditas.

•Perbedaan Visibilitas: Ditampilkan secara normal di antarmuka Aplikasi dan antarmuka Web; tidak terlihat di order book API publik.

II. Siapa yang Dapat Mengirim Order RPI?

Order RPI hanya dapat dikirim melalui OpenAPI oleh market maker yang telah disetujui dan masuk dalam whitelist, serta dibatasi dengan ketat untuk pasangan perdagangan yang sudah masuk dalam whitelist.

• Jika order dikirim oleh market maker yang tidak masuk dalam whitelist, akan muncul pesan: "Order RPI hanya tersedia bagi market maker yang telah disetujui".

• Jika order dikirim untuk pasangan perdagangan yang tidak masuk dalam whitelist, akan muncul pesan: "Order RPI hanya didukung untuk pasangan perdagangan tertentu".

III. Bagaimana Cara Mengirim Order RPI?

Order RPI hanya dapat dikirim melalui OpenAPI dengan dukungan metode REST dan WebSocket. Saat menempatkan order, jenis order (type) harus diatur sebagai limit order (buy-limit atau sell-limit) dan field time-in-force harus diatur ke rpi. Seluruh parameter lainnya tetap sama dengan limit order standar.

Metode REST

Endpoint penempatan order spot, batch, dan margin semuanya mendukung order RPI (type harus diatur ke buy-limit atau sell-limit). Anda hanya perlu menambahkan field time-in-force (bernilai rpi) ke parameter permintaan yang sudah ada.

• Penempatan Order Spot: POST /v1/order/orders/place

• Penempatan Order Batch: POST /v1/order/batch-orders

• Penempatan Order Margin: POST /v1/order/auto/place

Contoh permintaan (Order Beli RPI Spot):

{

"account-id": "12345",

"symbol": "btcusdt",

"type": "buy-limit",

"amount": "0.01",

"price": "50000",

"time-in-force": "rpi"

}

Metode WebSocket

Channel trading WebSocket juga mendukung penempatan order RPI menggunakan parameter yang sama seperti REST API:

• Penempatan Order Spot: Channel create-order

• Penempatan Order Batch: Channel create-batchorder

• Penempatan Order Margin: Channel create-margin-order

Kode Error Umum

Kode Error

Deskripsi

order-rpi-maker-not-allowed

Akun saat ini tidak masuk dalam whitelist RPI dan tidak diizinkan untuk mengirim order RPI.

order-rpi-symbol-not-allowed

Pasangan perdagangan ini tidak masuk dalam whitelist RPI dan tidak mendukung pengiriman order RPI.

order-rpi-only-limit-maker

Jenis order harus buy-limit atau sell-limit.

order-rpi-not-enabled

Fitur RPI saat ini dinonaktifkan. Silakan hubungi tim operasional untuk mengonfirmasi jadwal peluncuran.

 

Pasangan Perdagangan Apa Saja yang Mendukung Order RPI?

Panggil endpoint Dapatkan Semua Pasangan Perdagangan GET /v2/settings/common/symbol. Setiap pasangan perdagangan dalam respons menyertakan field enable_rpi (boolean). Nilai true menunjukkan bahwa dukungan RPI diaktifkan untuk pasangan perdagangan tersebut, sedangkan nilai false menunjukkan bahwa RPI tidak didukung.

Contoh respons (hanya field utama):

{

"status": "ok",

"data": [

{ "sc": "btcusdt", "dn": "BTC/USDT", "enable_rpi": true },

{ "sc": "ethusdt", "dn": "ETH/USDT", "enable_rpi": false }

]

}

Jika permintaan order RPI dikirim untuk pasangan perdagangan yang tidak mendukung RPI, sistem akan mengembalikan kode error order-rpi-symbol-not-allowed.

IV. Cakupan Pencocokan

Order yang Dapat Dicocokkan dengan Order RPI

• Sumber: Antarmuka Aplikasi/Web

• Jenis: Market order, limit order, advanced limit-FOK, advanced limit-IOC, take-profit order/stop-loss order, market/limit order yang dipicu oleh conditional order

• Khusus: Copy trading/follow trading order dan iceberg order diperlakukan sebagai order biasa dan dapat dicocokkan secara normal

Order yang Tidak Memenuhi Syarat untuk Pencocokan RPI

• Semua order API (termasuk order RPI lainnya dan conditional order yang dipicu melalui channel API)

• Order bot grid

 

V. Aturan Trading

Butir Aturan

Deskripsi

Produk yang Didukung

Spot (termasuk Margin)

Mekanisme Order

Sama persis dengan limit order standar (persyaratan margin, ukuran order minimum/maksimum, dan batas harga yang sama)

Operasi yang Didukung

Penempatan order batch, perubahan order (harga/jumlah), pembatalan order, pembatalan order batch, dan eksekusi sebagian order

Ketidakkompatibilan

Tidak dapat digabung dengan conditional order (TP/SL, trigger order, dll.)

Batas Harga

Saat order ditempatkan, harga order tidak boleh melampaui harga order non-RPI di sisi berlawanan; jika melampaui, order akan dibatalkan

Contoh Batas Harga

•Mengirim order beli RPI pada harga 99 → Diterima.

•Mengirim order beli RPI pada harga 102 → Ditolak karena harganya melampaui harga order non-RPI pada Ask 2 (harga 102).

Level

Harga

Jumlah

Ask 2

102

25

Ask 1

100 (RPI)

15

Bid 1

99 (RPI)

10

Bid 2

98

20

VI. Visibilitas Order

Modul

Skenario

Deskripsi

Order Book

Aplikasi/Web

Order RPI ditampilkan secara normal tanpa tag khusus; otomatis disembunyikan saat harganya melampaui. Order yang disembunyikan tetap aktif di mesin pencocokan dan dapat dieksekusi ketika memenuhi syarat.

OpenAPI

Tidak terlihat.

Riwayat Order Pribadi

Aplikasi/Web

Market maker dapat melihat order RPI beserta tag "RPI" pada catatan order terkini dan historis; order milik pengguna biasa tidak menampilkan tag khusus.

OpenAPI

Order RPI ditampilkan secara normal dan dapat dibedakan dari order biasa.

Contoh Penyembunyian Harga Bersilangan

Contoh 1: Dua order RPI dengan harga yang bersilangan (harga beli ≥ harga jual) → kedua sisi disembunyikan.

/

Harga

Jumlah

Terlihat

Ask 4

1.005

20

Ya

Ask 3

1.003 (RPI)

15

Ya

Ask 2

1.001 (RPI)

10

Tidak

Ask 1

999 (RPI)

5

Tidak

Bid 1

1.002 (RPI)

10

Tidak

Bid 2

1.000 (RPI)

20

Tidak

Bid 3

998

25

Ya

Bid 4

997 (RPI)

30

Ya

Contoh 2: Order RPI bersilangan dengan order API atau order strategi grid → order RPI disembunyikan; order counterparty ditampilkan seperti biasa

/

Harga

Jumlah

Terlihat

Ask 4

1.005

20

Ya

Ask 3

1.003 (RPI)

15

Ya

Ask 2

1.001 (RPI)

10

Tidak

Ask 1

999 (RPI)

5

Tidak

Bid 1

1.002 (Bot Grid)

10

Ya

Bid 2

1.000 (API)

20

Ya

Bid 3

998

25

Ya

Bid 4

997 (RPI)

30

Ya

VII. Struktur Biaya

Order RPI dikenai tarif biaya maker RPI khusus yang menggantikan tarif biaya maker asli market maker. Order non-RPI tetap dikenai tarif biaya asli.

Tarif biaya RPI khusus dapat dilihat melalui endpoint GET /v2/reference/transact-fee-rate. Respons endpoint tersebut menambahkan field baru rpiFeeRate yang menunjukkan tarif biaya maker RPI yang saat ini berlaku. Sebagai alternatif, Anda juga dapat menghubungi langsung tim Operasional Market Maker HTX.

 

VIII. Pembaruan Endpoint API dan Data Stream

Untuk mendukung mekanisme order RPI, endpoint yang ada telah disesuaikan sesuai aturan berikut.

Data Pasar REST

Nama Endpoint

HTTP Request

Deskripsi Perubahan

Kedalaman Order Book

GET /market/depth

Menambahkan parameter opsional includeRpi (Boolean, default false). Jika diatur ke true, data kedalaman tanpa agregasi (step0) akan menyertakan order RPI. Tier agregasi lainnya tidak akan terpengaruh.

Kedalaman Order Book Lengkap

GET /market/fullMbp

Sama seperti di atas dengan penambahan parameter includeRpi

Transaksi Pasar Terbaru

GET /market/trade

Respons untuk setiap transaksi menambahkan field isRpiTrade (Boolean); true menunjukkan bahwa eksekusi tersebut dihasilkan oleh order RPI.

Riwayat Transaksi Terbaru

GET /market/history/trade

Sama seperti di atas dengan penambahan field isRpiTrade

Ticker Terbaru untuk Semua Pasangan Perdagangan

GET /market/tickers

Tidak ada perubahan struktur; eksekusi RPI tetap diperhitungkan dalam metrik seperti biasa.

Detail Ticker Gabungan

GET /market/detail/merged

Tidak ada perubahan struktur; eksekusi RPI tetap diperhitungkan dalam metrik seperti biasa.

Detail Pasar 24 Jam

GET /market/detail

Tidak ada perubahan struktur; eksekusi RPI tetap diperhitungkan dalam metrik seperti biasa.

Data Candlestick (K-Line)

GET /market/history/kline

Tidak ada perubahan struktur; eksekusi RPI tetap diperhitungkan dalam metrik seperti biasa.

WebSocket Market Data Stream

Channel

Mencakup Order RPI

Deskripsi

market.$symbol.bbo

Tidak

Data Best Bid/Offer per tick; order RPI dikecualikan dari perhitungan.

market.$symbol.depth.$type

Tidak

Data kedalaman pasar, order RPI yang masih menunggu tidak disertakan dalam push

market.$symbol.fullDepth.$type

Ya (Baru)

Menambahkan push channel baru untuk mengagregasikan order RPI yang masih menunggu. Protokolnya konsisten dengan depth channel sehingga market maker dapat berlangganan secara independen ke data kedalaman lengkap yang mencakup RPI.

market.$symbol.mbp.$levels

Tidak

Incremental MBP depth; order RPI tidak disertakan dalam push.

market.$symbol.mbp.refresh.$levels

Tidak

Full MBP snapshot; order RPI tidak disertakan dalam push.

Endpoint Penempatan dan Query Order (REST)

Nama Endpoint

HTTP Request

Deskripsi Perubahan

Tempatkan Order Spot

POST /v1/order/orders/place

Menambahkan field time-in-force (nilai: rpi).

Tempatkan Order Batch

POST /v1/order/batch-orders

Menambahkan field time-in-force (nilai: rpi).

Tempatkan Order Margin

POST /v1/order/auto/place

Menambahkan field time-in-force (nilai: rpi).

Lihat Open Order Saat Ini

GET /v1/order/openOrders

Field baru time-in-force ditambahkan ke respons (nilai rpi menunjukkan order RPI).

Lihat Detail Order

GET /v1/order/orders/{order-id}

Field baru time-in-force ditambahkan ke respons (nilai rpi menunjukkan order RPI).

Nilai enum baru rpi_cancel ditambahkan ke canceled-source yang menunjukkan order dibatalkan oleh sistem karena harganya bersilangan dengan order non-RPI.

Lihat berdasarkan clientOrderId

GET /v1/order/orders/getClientOrder

Field baru time-in-force ditambahkan ke respons (nilai rpi menunjukkan order RPI).

Nilai enum baru rpi_cancel ditambahkan ke canceled-source yang menunjukkan order dibatalkan oleh sistem karena harganya bersilangan dengan order non-RPI.

Detail Transaksi

GET /v1/order/orders/{order-id}/matchresults

Field baru time-in-force ditambahkan ke respons (nilai rpi menunjukkan order RPI).

Nilai enum baru rpi_cancel ditambahkan ke canceled-source yang menunjukkan order dibatalkan oleh sistem karena harganya bersilangan dengan order non-RPI.

Cari Riwayat Order

GET /v1/order/orders

Field baru time-in-force ditambahkan ke respons (nilai rpi menunjukkan order RPI).

Nilai enum baru rpi_cancel ditambahkan ke canceled-source yang menunjukkan order dibatalkan oleh sistem karena harganya bersilangan dengan order non-RPI.

Riwayat Order dalam 48 Jam Terakhir

GET /v1/order/history

Field baru time-in-force ditambahkan ke respons (nilai rpi menunjukkan order RPI).

Nilai enum baru rpi_cancel ditambahkan ke canceled-source yang menunjukkan order dibatalkan oleh sistem karena harganya bersilangan dengan order non-RPI.

Transaksi Terkini dan Historis

GET /v1/order/matchresults

Field baru time-in-force ditambahkan ke respons (nilai rpi menunjukkan order RPI).

Order Push (WebSocket)

Channel

Deskripsi

Deskripsi Perubahan

orders#${symbol}

Push pembaruan order

Field baru time-in-force ditambahkan (nilai: rpi) sehingga order RPI dan order reguler dapat dibedakan secara real-time.

trade.clearing#${symbol}#${mode}

Pembaruan transaksi dan pembatalan order pasca-kliring

Field time-in-force baru ditambahkan (nilai: rpi); nilai enum baru rpi_cancel ditambahkan ke canceled-source sehingga pembatalan yang dipicu oleh harga bersilangan dapat diidentifikasi secara real-time.

Dokumentasi Order RPI berakhir di sini.