Closed uncrashable closed 1 month ago
@uncrashable отображаются ВСЕ сделки за текущую сессию. Это программа, у нее нет понятия закрыли сделку или не закрыли. Это только на словах все просто и понятно. Для реализации нужно четкое условие как определять закрытые группы сделок, которые не должны отображаться. Закрыть/открыть сделку можно и несколько раз за день. Каким образом мы должны понимать когда закрыта одна сделка, а когда другая если у нас есть только список сделок за день? Суммировать объем по всем сделкам за день и если равен нулю не отображать - тоже не имеет смысла
Ну и вообще неплохо бы общаться в терминах АСТРАСА. Там нет понятия закрыть сделку. В Астрас сделка это 1 операция с бумагой, выполненная биржей. Ее невозможно открыть или закрыть - это просто факт операции.
Приведу 2 примера.
Если в первом случае понятно относительно чего разбивать сделки на группы, то во втором нет
@uncrashable отображаются ВСЕ сделки за текущую сессию. Это программа, у нее нет понятия закрыли сделку или не закрыли. Это только на словах все просто и понятно. Для реализации нужно четкое условие как определять закрытые группы сделок, которые не должны отображаться. Закрыть/открыть сделку можно и несколько раз за день. Каким образом мы должны понимать когда закрыта одна сделка, а когда другая если у нас есть только список сделок за день? Суммировать объем по всем сделкам за день и если равен нулю не отображать - тоже не имеет смысла
Ну и вообще неплохо бы общаться в терминах АСТРАСА. Там нет понятия закрыть сделку. В Астрас сделка это 1 операция с бумагой, выполненная биржей. Ее невозможно открыть или закрыть - это просто факт операции.
Приведу 2 примера.
- У меня нет открытой позиции. В текущей сесии проходит 1 сделка, на пример покупка 3х лотов. Далее 3 сделки на продажу по 1 лоту. В этом случае еще можно разделить сделки на группы.
- У меня открытая позиция. В портфеле 2 лота. Затем я покупаю еще 2 лота и продаю 2 лота. Считать это закрытием сделки? По сделкам есть закрытие, по позиции нет.
Если в первом случае понятно относительно чего разбивать сделки на группы, то во втором нет
В такой реализации теряется смысл самой фичи. Скальперы это используют для понимания того, какую часть от общей позиции можно скинуть что бы сделка была относительно в прибыли, даже при снижении котировок. (понимаю, не очень понятно)
Я думаю, тут можно решить вопрос относительно времени сделки и наличие у трейдера открытой позиции - это же мы видим.
т.е. рассмотрю на примере покупки какого-либо актива. (ниже в тексте, под словом "система" понимаем общую работу Астрас, сама программа)
Трейдер покупает акцию, у него появляется индикатор, что по какой то цене он купил 1 акцию. Т.е. появляется единичка напротив цены. Еще купил акцию по другой цене , опять же видим еще одну единичку напротив цены. Система то понимает что у нас прошли 2 сделки на покупку и то что у нас теперь в портфеле 2 акции - понимает. Теперь я продаю 1 акцию - опять же индикатор отобразит это, но в целом система видит же у нас акцию этой конкретной компании, она же у нас осталась в портфеле - видит. Теперь я еще покупаю 1 акцию, опять же единичка отображается, и позиция моя не равна 0, поэтому у меня до сих пор отображается индикатор сделки (см скрин) Далее я выставил 2 лота на продажу. Т.е. закрыл сделку. Моя позиция по данному инструменту стала = 0. Поэтому индикаторы все исчезают.
Вторая сделка. (у нас сейчас при повторном открытии сделки, начинают отображаться и прошлые заявки).
Теперь при входе в новую сделку, мы можем зафиксировать время, этой новой сделки. И далее отображать сделки только те, которые по времени были совершены позже. Отображать до тех пор , пока у нас в портфеле снова не будет по позиции отображаться 0.
и да, сейчас думаю, что есть смысл все таки выделять направление: при покупках квадратик сделать зеленым , при продажах квадратик красный
Итого я вижу два варианта фильтрации отображаемых сделок:
Сортируем все сделки по дате. Начиная с первой суммируем количество каждой сделки (с учетом знака в зависимости от покупки/продажи) пока не получим общий 0. Отбрасываем такую группу. И так пока не дойдем до конца и либо сделки кончатся, либо останется группа сделок по которой сумма не равно 0 Здесь текущая позиция не учитывается вообще
Сортируем все сделки по дате. Начиная с последней от текущей позиции отнимаем количество каждой сделки (с учетом знака в зависимости от покупки/продажи и с учетом знака текущей позиции) пока не получим общий 0. Здесь учитывается текщая позиция, но какой эффект будет при наличии на начало текущей сессии открытой позиции непонятно
Опишите баг
Стакан отображает прошлые сделки.
Открыли сделку , напротив цены отображается объем. - закрыли сделку отображение исчезло.
Но когда я вхожу в следующую сделку, то объем от первой сделки также начинает отображаться. - так быть недолжно. Отображение сделок работает только в рамках одной сделки, после ее закрытия, все должно исчезнуть со стакана. И при следующем входе в сделку, индикатор отобразит только текущую.
Воспроизведение
Создать виджет скальперский стакан, выставить индикатор на отображение собственных сделок. Войти в сделку и закрыть ее. Повторно войти в сделку по другой цене и увидим, что индикатор отображает и прошлую сделку.
Среда.
Виндовс 10 , Хром
Ожидаемое поведение
Описал выше
Скриншоты
Тут все верно. https://github.com/user-attachments/assets/6c0ce39f-f5ab-4dbd-b30b-f08d5fb185c3
Повторный вход в сделку отобразил и прошлую и текущую
https://github.com/user-attachments/assets/e7d77551-3d8e-4ff7-80d3-22d7e5f0f32b
Дополнительная информация
No response
Правила