All
筛选:
如何将法定货币存入我的账户?
我需要帮助进行账户验证
为什么无法访问我的账户?
是否有加密货币取款手续费?
我需要帮助登录我的账户
本文是Maker Protection的概述。如需完整技术细节(包括REST、WebSocket和FIX的协议专属行为),请参阅Maker Protection开发者指南。
Maker Protection是一种短暂的固定延迟机制,适用于可能吃单的订单,覆盖Kraken Derivatives部分市场。它为挂单方的挂单提供短暂的响应窗口,使其在被对手方成交前能够对新信息作出反应。Maker Protection已于2026年9月24日正式上线。
在启用Maker Protection的市场中,所有可能吃单的订单操作都会在到达撮合引擎前被短暂搁置。仅挂单(Post-only)的下单操作及所有撤单请求不受此限制。
延迟时长:上线时为20毫秒,最长不超过100毫秒。各市场的延迟时长以makerProtectionMillis字段发布。
适用市场:仅限部分衍生品(合约)市场,现货市场不受影响。
一致性:REST、WebSocket和FIX的行为完全一致。
公平性:延迟对所有客户一视同仁,不设任何账户豁免。
如何规避:以Post-only方式提交订单即可。未设置Post-only的限价订单即便最终会挂在盘口上,也仍会被搁置——延迟取决于订单类型,而非成交结果。
被搁置的订单在释放时才进入排队,而非在收到时入队。
权威数据来源是GET /instruments和GET /trading/instruments接口中的makerProtectionMillis字段。若某市场未启用Maker Protection,该字段将完全缺失。字段缺失与字段值为零含义相同:均表示无延迟。
上线时(2026年9月24日)共覆盖59个市场。
流动性最高的10个线性永续市场被排除在外,以确保主流币种的吃单流不受影响。
2026年9月24日之后上线的所有永续合约,自上线起即启用Maker Protection。
新增市场将在每次维护窗口前提前在status.kraken.com上公告。
操作 | 是否延迟? |
|---|---|
限价订单、IOC、FOK或市价订单 | 是 |
Post-only订单 | 否 |
修改可挂单且可吃单的订单 | 是 |
修改挂单中的Post-only订单 | 否 |
止损、止盈或追踪止损下单 | 否 |
止损或止盈触发后发出的订单 | 是,除非触发的订单为Post-only |
含新非只挂单父订单的订单组 | 是 |
挂载至现有订单的订单组 | 否 |
撤单、全部撤单、定时全部撤单 | 否 |
大宗交易及其他场外成交流量同样豁免。
公开API中不存在“持有中”订单状态。Maker Protection体现为激进订单的额外延迟,设计系统时需考虑以下特性:
验证在释放时执行。杠杆、价格限制及市场状态均在延迟结束时检查,而非提交时。提交时有效的订单,仍可能被拒绝。
完整窗口期始终执行。若使订单具有攻击性的流动性在窗口期内消失,订单仍需等满延迟时间。持有中的订单不会被重新评估。
订单按序释放。持有订单按先进先出原则释放,后提交的订单不会超越先提交的订单。
延迟时间“至少”为配置窗口时长。由止损或止盈触发器触发的订单,需等到撮合引擎处理下一个事件时才会释放,因此在交易清淡的市场中,等待时间可能明显超过配置的窗口时长。
请勿自行测量延迟时间。请直接读取makerProtectionMillis,因为该值随时可能变更。
持有中的订单尚未进入订单簿,也不保证最终能成功进入。在窗口期内,订单可能受到与您交易无关的事件影响:
市场已暂停:订单将以marketSuspended状态被拒绝。
账户触发风险控制或被强制平仓:订单将以CANCELLED_WHILE_HELD状态被拒绝。
杠杆或价格限制对您不利:订单可能在释放时被拒绝。
修改杠杆或保证金模式:在有请求处于持有状态期间,此类修改将被拒绝。请等持有请求释放后再重试。
若在提交订单约一个窗口期后收到拒绝通知,通常并非因为订单本身格式有误,请查看返回的状态码。
持有期间可随时撤单,撤单操作从不延迟。但撤单无法撤回已发出的攻击性指令。撤单仅取消该订单在订单簿上挂单的权利,无法免除其成交义务。
已撤销的持有订单仍可能成交。若在窗口期内市场走势对您有利,订单释放时仍会尽可能吃取流动性。撤单成功后请勿重复提交相同订单。
具体结果取决于持有的请求类型:
限价订单:撤单请求被确认后,订单以即时或取消(IOC)方式释放,尽可能成交,剩余部分自动丢弃。您将收到两条响应:撤单响应,以及约一个窗口期后的订单响应。若订单在释放时无法成交,REST v3返回iocWouldNotExecute。
IOC、FOK或市价订单:无可闪兑内容,撤单返回ORDER_NOT_FOUND,订单仍将在释放时落单。
修改挂单指令:在窗口期内,原订单以原价格保持活跃。撤单请求被吸收,订单在释放时按修改内容重新定价,并不再作为挂单指令。
订单组:若父订单处于挂起状态,则整个订单组在延迟窗口内无法撤销,窗口结束后自动生效。请在订单组生效后再执行撤销。
死亡开关(cancelallordersafter):处于挂起状态的订单将以相同方式转换处理。死亡开关不会撤回已挂起的订单。
若需确保既无挂单留存、也无新订单成交,请等待延迟窗口结束(最长100毫秒),再执行撤销操作。
挂起订单释放时,无论账户使用何种自成交策略,系统将自动撤销与之匹配的所有挂单指令。此规则适用于整个账户树,包括主账户、同级账户及子账户。
相关挂单指令将以CANCELLED_BY_SELF_TRADE为原因被撤销,释放后的订单正常成交执行。
FOK订单及询价(RFQ)除外,仍按已配置的策略正常执行。
从未进入挂起状态的订单不受影响。
若依赖REJECT_TAKER保护Maker Protection市场上的挂单报价,该保护对自身释放的订单不适用。
并发挂起数量限制。同一时间最多可挂起250个请求。超出上限的请求将被拒绝,并以触达订单数量上限的方式上报(REST v3返回tooManyOrders,REST v4返回TOO_MANY_ORDERS,行情数据及SBE返回ORDER_LIMIT_EXCEEDED)。该上限限制的是同时存在的挂起数量,而非发单速率。主账户与子账户共享此上限,待早前挂起请求释放后可安全重试。
账户限额在挂起时确定。为防止账户设置在延迟窗口内被修改,部分限额在挂起时即已结算,而非等到释放时:
当前委托数量限额:若已达上限,订单仍会被接受,但将被转换,使其无法以挂单形式停留在订单簿。
最大仓位:提交时系统将为订单预留相应额度。此时被拒绝的订单,即便后续释放了额度也仍维持拒绝状态;已预留额度对后续订单不可用,后续订单将以MAX_POSITION_EXCEEDED为由被拒绝。
客户订单ID:挂起期间,系统将为该请求保留对应的客户订单ID。在窗口期内重复使用该ID提交新订单,将立即被拒绝并返回clientOrderIdAlreadyExist。请等待窗口期结束后再复用ID,或通过订单ID处理进行中的撤销操作。
批量订单不作为整体挂起,延迟窗口从批次中首条吃单指令开始计算。
首条主动吃单指令之前的指令立即发送。
首条主动吃单指令及其之后的所有指令,共同等待延迟窗口结束。
撤销指令始终立即发送。在同一批次中,位于目标订单之后的撤销指令可接管该订单的挂起名额;位于其之前的撤销指令则无法做到。
如需确保被动指令无延迟进入订单簿,请将其排在批次中所有主动吃单指令之前。
REST。连接将在延迟期间保持,响应中包含最终处理结果。请将客户端超时时间设置为明显高于延迟窗口的值。由于窗口不超过100毫秒,单一超时预算可覆盖所有市场。若在主动吃单订单中设置了processBefore,须将挂起时间纳入考量,否则该订单每次都会以wouldProcessAfterSpecifiedTime被拒绝。
WebSocket。订单挂起期间不推送任何消息。订单释放后,系统将正常推送open_orders和fills事件,时间约比之前延迟一个窗口期。
FIX。请求挂起时,网关会发送一条告知性ExecutionReport:新订单挂起时为Pending New(39=A),修改订单时为Pending Replace(39=E)。该报告仅供参考,并非终态。挂起的新订单尚无OrderID,因此在窗口期内ClOrdID是追踪订单的唯一标识。正式确认将在释放后返回。
若订单组中某一腿在对手腿成交时处于持有状态,该腿不会被移除,两腿均可能同时生效。相关修复正在进行中。
在启用Maker Protection的市场中,订单组任意一腿成交后,请及时核查成交记录,切勿假定另一腿已自动取消。
自2026年8月27日起,Maker Protection已在客户UAT环境的上线市场中启用,延迟窗口同为20毫秒,持有上限同为250个,与生产环境一致。如需获取UAT访问权限,请联系您的客户经理。建议测试以下场景:
在持有期间取消订单,以及处理此后仍然成交的情况
在持有修改请求期间取消订单
即使已设置REJECT_TAKER,您的挂单指令仍可能被已释放的订单取消
处理下单时触发的tooManyOrders错误并进行重试
在同一窗口内重复使用客户订单ID
批量指令的排序,以及客户端超时设置高于该市场makerProtectionMillis值的情况