Автообновление счета в портфеле не должно дубли…

#42 от 16.09.2016, статус: Ошибка отклонена


Обсуждение
And год назад
## Шаги: - в начале часа (например, 13:01) обновить баланс счета - дождатся пока произойдет плановое автообновление баланса счета (это происходит где-то в 15-25 минут, т.е. например 13:15) ## Ожидаемый результат: Автообновление не применится к счету, т.к. за этот час пользователь внес актуальную информацию ## Актуальный результат: Баланс счета автообновляется, и отображается +N% к актуальному балансу
And год назад
Тоже самое, когда в начале часа пополнил счет, пополнил в 13:00, в 13:30 система считает, что по нему есть доход.
And год назад
Проблема актуальна. :)
Михаил Фурсов год назад
Про эту возможность думал, нашел только один способ ее сделать, который будет работать надежно и для ПАММ и для акций и для валютных пар: на момент подтверждения надо будет не просто указать момент времени, но еще и котировку. Для ПАММ котировка - это текущий уровень доходности за все время (она показана на странице счета) Только в этом случае сайт будет знать на какой значение опираться, чтобы точно считать разницу при последующих обновлениях. Что думаете?
And год назад
Смысл с котировками я понимаю, но это ломает простоту процесса, т.к. вместо одного числа нужно будет вписать 2. Один из вариантов решения - вывести в диалоге обновления состояния счета время последнего обновления (текст) и чекбокс, при нажатии на который последнему обновлению ставится флаг, присутствие которого будет означать что новое обновление не должно повлиять на прогноз. Ещё вариант - задать каждому брокеру (провайдеру данных) атрибут, в котором будет указан временной период обновления данных, и использовать кейс с диапазоном времени. Если в диапазоне есть значение (например, шаг - 1 час, пример, с 13:00 до 14:00), которое ввел юзер, то не обновляем прогноз. Если вне диапазона обновление данных брокера - то обновляем прогноз.
And год назад
Я ещё немного помедитирую над вопросом, возможно появится идея.
And год назад
Не нашёл серебрянной пули. Но из двух вариантов, этот кажется мне логичней. Если с этим есть технические сложности, давайте обсуждать какие. "задать каждому брокеру (провайдеру данных) атрибут, в котором будет указан временной период обновления данных, и использовать кейс с диапазоном времени. Если в диапазоне есть значение (например, шаг - 1 час, пример, с 13:00 до 14:00), которое ввел юзер, то не обновляем прогноз. Если вне диапазона обновление данных брокера - то обновляем прогноз."
Михаил Фурсов год назад
And, тут тоже не все так просто - у каждого брокера своя задержка при отображении данных на публику + для каждого брокера у investflow свой алгоритм обновления: у кого за раз можно все счета стянуть, у кого по 1 счету и приходится выстраивать приоритеты очередей - обновлять в первую очередь те счета что входят в портфели или имеют больший капитал. Более того, брокеры дают данные с разной гранулярностью - кто-то с точностью до минуты, а кто-то с точностью до часа. Что делать если вывод был в середине часа? Данных об этой котировке вообще нет. Поэтому, самое точное это ввод котировок. По сравнению с текущим положением это ничего не усложнит, так как поле будет опциональным. Но для тех кто хочет ввести точные данные - это упростит. Я реально вернусь к этой задаче в конце месяца. Сейчас опять в дороге 2-3 недели, глобальных изменений постараюсь не делать за это время.
And год назад
"Поэтому, самое точное это ввод котировок. По сравнению с текущим положением это ничего не усложнит, так как поле будет опциональным. Но для тех кто хочет ввести точные данные - это упростит." Только усложнит. Пример: "когда в начале часа пополнил счет, пополнил в 13:00, в 13:30 система считает, что по нему есть доход." В случае введения котировки лишнее телодвижение, что легче посмотреть и исправить счет через время. Самое точное, это да. Но с точки зрения пользователя, этим полем никто не будет пользоватся (в лучшем случае один я :)) ), т.к. заходить на счет и смотреть его котировку, вместо того, что бы проигнорировать проблему вряд ли кто-то будет. В этом случае нововведение теряет всякий смысл. Т.е. можем говорить только за упрощение для пользователя, не за доп. действия. "And, тут тоже не все так просто - у каждого брокера своя задержка при отображении данных на публику + для каждого брокера у investflow свой алгоритм обновления: у кого за раз можно все счета стянуть, у кого по 1 счету и приходится выстраивать приоритеты очередей - обновлять в первую очередь те счета что входят в портфели или имеют больший капитал. Более того, брокеры дают данные с разной гранулярностью - кто-то с точностью до минуты, а кто-то с точностью до часа. Что делать если вывод был в середине часа? Данных об этой котировке вообще нет. " Об этих техсложностях я и говорил. Если выписать проблемы, то вот они: 1. у каждого брокера своя задержка при отображении данных на публику 2. разные алгоритмы обновления: batch processing или вытягивание данных по 1-му счету 3. различная частота обновления данных: некоторые с точностью до 1 мин, другие с точность до 1 часа; из чего следует, что если средства со счета выводятся в середине часа, а точность брокера - до 1 мин, то не ясно какие цифры использовать Впринципе не так много, и они решаемы следующими способами, если я их верно понял, и перечень всеобъемлющ. 1 и 2 решаемы способом, который я описывал выше - задержка и алгоритмы обновления не означают ничего для решения, если обновление происходит в течении переода (например, не реже и не чаще чем 1 раз в час). В этом случае для прогноза берется первое случившееся событие - данные которые ввел пользователь, или данные обновления в пределах этого периода/часа (13:00-13:59)/ 3 означает то, что система не знает какие данные актуальны, её (если у брокера данные имеют точность до 1 мин) или те, которые должны были быть на начало часа (если следовать идее алгоритма), но есть одно но, из за которого проблема совсем не проблема. Если пользователь выводит средства то, они же не обновятся в тот же момент, а самые актуальные будут считаться данные, которые он введет - "прогнозирование" в этом случае не нужно вовсе. Если описанные проблемы всеобъемлющи, то описанное решение должно закрыть их. Алсо, есть нюанс с частотой обновления счета/брокера. В описании я подразумевал что оно равняется 1 ч, реально это значение может быть переменной зависящей от счета/брокера.
Добавить комментарий

Последние комментарии