alor-broker / Astras-Trading-UI

Astras. The Angular's trading terminal from Alor Broker. https://alorbroker.ru/
Apache License 2.0
65 stars 21 forks source link

[BUG] Подправить механизм поиска бумаги и расчет объема заявки в "Корзина заявок" #1624

Open ilya7am opened 6 months ago

ilya7am commented 6 months ago

Опишите баг

В "Корзине заявок" после выбора инструментов не всегда считается "объем заявки", хотя деньги в портфеле имеются на указанную сумму. Например, для APTK и AKUP на сумму 1000 рублей - по /commandapi/warptrans/FX1/v2/client/orders/estimate/all в теле запроса не отсылается вторая бумага (AKUP), хотя ее цена низкая и на 500 рублей можно выставить не одну заявку: image

Кроме того, раньше для "Корзина заявок" была привязка к порфтелю. При поиске бумаги отображались варианты бумаг только по конкретному рынку. Сейчас при выборе валютного рынка можно увидеть предложения акций, облигаций. Например, могу выбрать на валютке акцию APTK: image

Из-за этого при выставлении заявки будет ошибка 400, заявка не выставится: image

Воспроизведение

  1. Создать виджет "Корзина заявок" для D61971.
  2. Указать APTK и AKUP, сумма - 1000 рублей.
  3. В консоли проверить запрос /all и значения в поле "Объем заявки".
  4. Поменять рынок на валютный и в панели поиска Корзины выбрать APTK. Выставить заявку по ней.

Среда.

Windows 10 Google Chrome v120

Ожидаемое поведение

  1. Верно считает объем заявки, исходя из бюджета по бумаге. В консоли отправляются все инструменты, объем заявок по которым не превышает бюджет по ним.
  2. Поиск в корзине заявок привязан к рынку и отображает только бумаги конкретного рынка.

Скриншоты

No response

Дополнительная информация

No response

Правила

sbelashevskiy commented 6 months ago
  1. Не наблюдаю ничего подобного

https://github.com/alor-broker/Astras-Trading-UI/assets/29191749/4b477b65-c9a9-4396-825c-efc497fdf30f

Реквесты нужно смотреть последние, не взятые произвольным образом. Реквест на скрине сделан когда был добавлен первый инструмент. После него видно, что был осуществлен другой поиск. Если на скрине обратная сортировка, при которой реквесты сначала идут самые свежие, то не понятно почему взят второй, а не первый.

Чтобы утверждать, что что-то не работает, то сначала нужно посмотреть сколько свободных денег на портфеле. Либо отослать точно такой же реквест через postman.

Судя по всему там всего было около 500р, потому первая позиция расходовала весь бюджет, а на вторую ничего не оставалось. Естественно, что если оценивать ТОЛЬКО 1 позицию, что на нее будет хватать этих 500р. При этом нужно хотя бы посмотреть сколько лотов позиций можно купить, что вырезано на всех скринах image

  1. НИКОГДА не было привязки к рынку. Точно также, как и при выставлении заявок. Была и есть только фильтрация по бирже текущего портфеля. Если это нужно исправить, то это не баг, а фича реквест.
ilya7am commented 6 months ago

По п.1: при выборе бумаги для виджета у нас автоматически заполняется поле "Цена" (испр. https://github.com/alor-broker/Astras-Trading-UI/issues/1588), но если сначала вбить цену, а потом указать сам тикер, то в запросе /all не будет этой бумаги. Причем, при смене бумаги на новую (и автомат. подстановке лучшей цены в поле) также не будет считаться "Объем заявки".

https://github.com/alor-broker/Astras-Trading-UI/assets/88287882/9747f684-ce5f-4b43-a25d-a9b6afe07ed1

Вне зависимости от порядка заполнения полей должен высчитываться объем заявки по заявке(-ам) в Корзине. И при смене бумаги на новую - меняться показатель "Объема".

По п.2: Понял, спасибо, Сергей, возможно ошибся. Был уверен, что такая привязка была давно.