Heim  >  Artikel  >  Backend-Entwicklung  >  php如何撮合交易?

php如何撮合交易?

WBOY
WBOYOriginal
2016-08-04 09:19:382141Durchsuche

举个场景


  • A用户今天花了2块钱买了100瓶水;行情现在是2快钱;然后挂单:等行情涨到2.5块钱卖掉100瓶。A等着人来买就行了

  • B用户:现在行情假设3块钱;然后挂单2.5块买50瓶。

问题

PHP使用队列如何实现B用户自动买了A用户的50瓶。B的交易完成。A的交易因为还没卖完,还继续挂单;如何实现N用户的这种交易。

说明

  • 上面的例子理解成股票挂单就好理解了。

回复内容:

举个场景


  • A用户今天花了2块钱买了100瓶水;行情现在是2快钱;然后挂单:等行情涨到2.5块钱卖掉100瓶。A等着人来买就行了

  • B用户:现在行情假设3块钱;然后挂单2.5块买50瓶。

问题

PHP使用队列如何实现B用户自动买了A用户的50瓶。B的交易完成。A的交易因为还没卖完,还继续挂单;如何实现N用户的这种交易。

说明

  • 上面的例子理解成股票挂单就好理解了。

这个问题跟语言没有关系。

需要两个队列,一个用来存储“买进”,一个用来存储“卖出”,队列中按照价格排序,相同价格按照时间排序。

然后程序不断的对比买进的最高价和卖出的最低价,如果两者有重叠则进行交易,交易价格按卖出价计算。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn