alor-broker / Astras-Trading-UI

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

[BUG] Не работает выставление стоп-лосс заявок в СС #1801

Closed ilya7am closed 4 days ago

ilya7am commented 3 weeks ago

Опишите баг

В СС при зажатом shift и клике на цену из стакана - не выставляется стоп-лосс заявка, в консоли выходит ошибка [General Error] Cannot read properties of null (reading 'portfolio'):

https://github.com/user-attachments/assets/79909fea-e7d6-4b86-bd0a-45b608050652

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

  1. Открыть виджет Скальперский стакан по любой бумаге.
  2. В настройках СС "включить горячие клавиши" и выбрать "Покупать по кликам без уведомлений".
  3. Открыть консоль, вкл. Console.
  4. Зажать Шифт и кликнуть на цену из СС.

Среда.

Windows 10 Google Chrome v128.0.6613.120

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

Нет ошибок в консоли. В СС ставятся стоп-лосс заявки по горячей клавише Shift

Скриншоты

No response

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

No response

Правила

sbelashevskiy commented 3 weeks ago

В приведенном случае и не должна ставится заявка. Должно быть оповещение, что позиция пустая. Невозвожно поставить стоп-лосс на неоткрытую позицию

uncrashable commented 3 weeks ago

Так это не стоп лосс заявка ( в нашем случае стоп маркет), тут же выставляется SL заявки, а они могут существовать без открытия позиции. image

sbelashevskiy commented 3 weeks ago

В Скальперском стакане при нажатой клавише шифт ставится стоп-лосс заявка. image image

Стоп-лосс - это семантическое название, у нас нет такой заявки в API. По факту ставится стоп-маркет с количеством лотов РАВНЫМ ТЕКУЩЕЙ ОТКРЫТОЙ ПОЗИЦИИ. Если по текущей позиции количество меньше 0, то заявка будет на покупку, иначе на продажу. Т.е. для данной команды нужна открытая позиция с количеством отличным от 0, т.к. она определяет параметры заявки. Каким образом эта команда может отработать без позиции? На видео ставится стоп-лосс image

Итого:

  1. Ошибка в консоли есть. Ее нужно поправить. При заданных условиях никакой заявки буть не должно - должно быть оповещение, что отсутствует позиция.
  2. На функциональность виджета особо не влияет т.к. без открытой позиции заявки в любом случае выставлена не будет и пользователь лишь должен видеть оповещение
uncrashable commented 3 weeks ago

Я перепутал , откомментил не ту задачу. =(((