交易所核心撮合逻辑
2021-03-10 11:23:51 2 举报
交易所核心撮合逻辑
作者其他创作
大纲/内容
MatchEngine.afterPropertiesSet会在match服务启动的时候初始化redis中的订单到内存中
撮合核心逻辑: MatcherServiceImpl.pushMatchOrder-MatchEngine.matchPushOrder- Matcher.matchInsOrder 1.biz传过来的挂入订单信息,把订单放入redis对应stockId的订单列表中 2.获取当前内存队列中的最优价格,与推送进来的订单进行比对,如果符合要求则进行撮合 3.例如是输入买单则与卖单的最低价匹配,按照最先时间的订单进行撮合 4.撮合完成后把撮合的订单,数量,价格,推送到EngineEventHandler.match(对redis中的订单进行处理以及消息发送ex-match-for-biz.mathAmqpTemplateForBiz交割队列 ex-match-for-quote.mathAmqpTemplateForQuote行情队列)
mobilebihuex/trade/trade
检验:登录校验,交易对为空,数量价格精度,是否冻结,白名单,免手续,ieo判断可用资产是否足够,判断涨停板时间价格,支付密码
api-web/api/v1/user/trade
交割逻辑:ExchangeOrderServiceImpl.confirmMathOrder 货币的交割 1.从买方的货币账户的冻结中扣掉交割的货币数量 2.给系统的货币账户增加平台应得的手续费 3.给卖放的货币账户增加赢得的货币数量 交易币的交割 1.从卖方的交易币账户的冻结里扣掉成交的数量 2.把平台的手续费加给平台交易币账户 3.把剩余部分加给买方的交易币账户
home-webtrade/limit/pending
0 条评论
下一页