Maison  >  Article  >  développement back-end  >  php如何撮合交易?

php如何撮合交易?

WBOY
WBOYoriginal
2016-08-04 09:19:382174parcourir

举个场景


  • 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用户的这种交易。

说明

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

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

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

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn