平台宣称30ms,为什么实际执行都在300ms以上?

这是前几天,一个朋友问我的问题。 他所在的平台宣称执行快至30ms,不过有次他切换DC的时候,发现最快的DC执行速度也就381.7ms左右,和宣传的有10倍以上的差距。 看纸面数据,这似乎足以劝退我朋友了。 不过他表示,实际交易时,遇到延迟和卡盘的情况其实并不多,也很少有滑点的情况,整体体验还是不错的。所以,他问我遇到这种情况,有没有什么问题? 一、交易是如何执行的? 实际上,这是一个普遍现象。 要了解原因,我们要先知道,交易是怎么执行的。 一般的顺序是MT4客户端—>MT4服务器—>桥—>机房—>流动性供应商。我们下单时,先要发出指令到MT4服务器,之后服务器通过桥接技术,才能把订单发送流动性供应商进行撮合。 服务器、桥和机房是可以在一起的,桥一般直接集成在服务器上。至于MT4服务器—>流动性供应商的距离,一般优质的平台会考虑将服务器和流动性供应商服务器放在一个机房内,也就是我们平时说的并置,这个产生的距离和延迟也是可以忽略不计的。 所以,MT4客户端—>MT4服务器的距离,是唯一无法避免的距离,也是订单执行时产生物理延迟的原因。 最先进的订单执行走的也是光缆,就算是光速,从我们这里跑到伦敦其实也是要150-200ms左右。而一个交易要完成,是要把成交结果反馈给交易者的,所以需要一个来回,也就是300-400ms,这也是我朋友所在平台执行速度是381.7ms的原因,实际上是个正常水平。 二、如何提高交易执行速度 不过,交易行业发展这么多年,技术也是日新月异。 这种相当于就拉了条光缆的订单执行架构,肯定不符合现在的需要,所以也派生出了很多的方法和技术。 第一个,就是在全球范围内设置服务器。 服务器离用户越近,肯定速度就越快,而且服务器之间还可以通过高速网络连接,以减少延迟,这被称作是分布式架构。 比如我所在的EBC平台在全球五大金融中心都部署了超高速独立专线服务器,基本覆盖了主要交易人群,执行耗费的时间自然大大下降了。 第二个,就是数据中心。 这个算是数据前置技术。平台提前把一些重要的数据储存在数据中心里面,用户在发出指令时可以直接访问数据中心,而不需要和千里之外的服务器连接,也可以大大节省时间。 数据中心的数量可以远远大于服务器,所以可以遍布全球,覆盖所有的交易节点。比如EBC平台...