Существует два вида очереди, которые содержат
- Очередь продавца
- Очередь покупателя
Обе очереди содержат только количество, а не цену.
Но существуют некоторые условия для элементов этой очереди, такие как,
- Все или Нет: все количество должно быть продано или нет.
- Минимальный размер билета: Существует некоторый минимальный размер блока, установленный заказом.
- Mix: содержит оба вышеперечисленных условия.
мы должны сопоставлять ордера из обеих очередей таким образом, чтобы происходила максимальная торговля.
Нет условие, что после обработки обе очереди должны быть пустыми. Пример: Очередь торгов: 40,30-40A, 100A Очередь предложений: 20A, 100,120,40
Торговля происходит следующим образом:
20A и 40
- Обновленная очередь:
- Очередь торгов: 20,30-40A, 100A
- Очередь предложений: 100,120,40
100 и 20
- Обновленная очередь:
- Очередь торгов: 30-40A, 100A
- Предложение Очередь: 80 120,40
30-40A и 80:
- Обновленная очередь:
- Тендерная очередь: 100A
- Предложение очереди: 40 120,40
100A и 40 не произойдет: как условие (1) все или ничего не применимо.
(100A) и (40+ (120- (100-40))):
- Обновленная очередь:
- Очередь торгов: пусто
- Очередь предложений: 60,40
Может кто-нибудь предложить мне, какой алгоритм будет иметь место в такой реализации. Заранее спасибо !!!