Appearance
FOMO (Fear of Missing Out)
Функция FOMO анализирует транзакции и показывает упущенную прибыль — сколько можно было бы заработать, совершив сделку в более удачный момент.
Активация
Включается/выключается через выпадающий список в шапке портфолио (раздел «Управление функциями»).
Интерфейс
Попап с таблицей по каждой транзакции. Обработка выполняется пачками с прогресс-баром (X из N транзакций обработано).
Для каждой транзакции отображаются три колонки:
| Колонка | Описание |
|---|---|
| Ваша прибыль | Фактическая прибыль/убыток транзакции |
| Потенциальная прибыль | Максимально возможная прибыль при идеальном тайминге |
| Разница | Упущенная выгода = Потенциальная − Ваша |
Расчёт
Для транзакций покупки (Buy)
- Загружаются исторические данные цены монеты
- В периоде до даты транзакции находится минимальная цена (лучший момент для покупки)
- Расчёт:
bestPrice = min(историческиеЦены до даты транзакции), где bestPrice < transactionPrice
potentialProfit = (marketPrice − bestPrice) × quantity
yourProfit = (marketPrice − transactionPrice) × quantity
difference = potentialProfit − yourProfitДля транзакций продажи (Sell)
- В периоде до даты транзакции находится максимальная цена (лучший момент для продажи)
- Расчёт:
bestPrice = max(историческиеЦены до даты транзакции), где bestPrice > transactionPrice
potentialProfit = (bestPrice − avg) × quantity
yourProfit = (transactionPrice − avg) × quantity
difference = potentialProfit − yourProfitОтображение в транзакциях
Блок «Упущенная выгода» также показывается в модальном окне информации о транзакции (покупка/продажа, майнинг) — если функция FOMO активна.
Техническая реализация
- Компоненты:
modules/fomoAssetsPopup/ - Расчёт лучшей цены:
BuySellTransaction.getBestPeriodFiat()— поиск оптимальной исторической цены в данных графика - Прогресс: Транзакции обрабатываются порционно для предотвращения блокировки UI