Я пытаюсь построить фиктивный обмен активами в PHP.Для данного актива, XYZ, ниже находится книга заказов:
| buy_price | amount | sell_price | amount |
|-----------|--------|------------|--------|
| 99.3 | 100 | 99.6 | 110 |
| 99.2 | 150 | 99.7 | 170 |
| 99.1 | 125 | 99.8 | 200 |
Теперь, если пользователь размещает ордер на покупку 400 единиц по рыночной цене , ордера будут выполняться следующим образом:
110 units filled at 99.6
170 units filled at 99.7
120 units filled at 99.8
Как я могу условно выполнить циклы открытых ордеров на продажу, чтобы заказ на покупку 400 единиц заполнялся по разным существующим ценам ордеров на продажу в книге заявок?Я также хотел бы хранить массивы выполненных сделок, например:
$trade1 = ["amount" => 110, "price" => 99.6]
$trade2 = ["amount" => 170, "price" => 99.7]
$trade3 = ["amount" => 120, "price" => 99.8]