自我交易預防

上次更新時間: 2025年4月1日

Kraken 限制客戶自行成交訂單(即同時作為同一交易的 maker 和 taker)。這可防止洗盤交易,洗盤交易是一種市場操控形式,交易者同時買賣同一金融工具,以在市場中製造誤導性的人為活動。

成功下達自我撮合訂單是可能的(將會傳回有效的訂單 ID),但 taker 訂單將會立即取消。當來自同一帳戶的兩筆訂單將會撮合時,具體的訂單流程如下:

  • 如果兩筆數量相同的訂單會導致自我執行,maker(限價)訂單將會保留在訂單簿上,而 taker(市價)訂單將會被取消(無論訂單大小)。

  • 如果訂單可以從訂單簿部分成交,則會取消導致自我撮合的剩餘數量。

  • 如果有兩筆掛單,第一筆將具有時間優先權,而第二筆可能會與第三筆主動訂單的任何剩餘數量一起取消。

在帳戶管理中,因自我交易預防而被取消的訂單將顯示「已取消」狀態,原因為「無法與自己交易」:

Trading_CanceledCannotTradeWithSelf_09102021.png

以下是透過 Kraken REST API 進行的訂單流程和產生的訂單狀態範例。API 呼叫在 XDGUSD 訂單簿頂部下達買入限價訂單,隨後立即下達 XDGUSD 的賣出市價訂單,導致市價訂單因自我交易限制而自動取消:

  • $ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=limit price=0.002449 volume=5000 {"error":[],"result":{"descr":{"order":"buy 5000.00000000 XDGUSD @ limit 0.0024490"},"txid":["OQMVWA-LSE57-4LPF45"]}}

  • $ ./krakenapi AddOrder pair=xdgusd type=sell ordertype=market volume=5000 {"error":[],"result":{"descr":{"order":"sell 5000.00000000 XDGUSD @ market"},"txid":["OSLIEB-IQBNV-K7P5ET"]}}

  • $ ./krakenapi QueryOrders txid=OSLIEB-IQBNV-K7P5ET {"error":[],"result":{"OSLIEB-IQBNV-K7P5ET":{"refid":null,"userref":0,"status":"canceled","reason":"Cannot trade with self","opentm":1588683502.71,"closetm":1588683502.7117,"starttm":0,"expiretm":0,"descr":{"pair":"XDGUSD","type":"sell","ordertype":"market","price":"0","price2":"0","leverage":"none","order":"sell 5000.00000000 XDGUSD @ market","close":""},"vol":"5000.00000000","vol_exec":"0.00000000","cost":"0.000000000","fee":"0.000000000","price":"0.000000000","stopprice":"0.000000000","limitprice":"0.000000000","misc":"","oflags":"fciq"}}}

訂單資訊欄位/值的完整詳細資料可透過 QueryOrdersClosedOrders 文件取得。

本文所示的小數點和千位分隔符號可能與我們交易平台上顯示的格式不同。請查閱我們關於如何使用 小數點和逗號 的文章以獲取更多資訊。

需要更多幫助?