Как разработать биржевое приложение для трейдеров
Биржевое приложение позволяет трейдерам и инвесторам постоянно отслеживать изменение цен и следить за новостями рынков ценных бумаг. В данной статье мы расскажем, как создавали подобный инструмент.
Определение функционала продукта
Наш заказчик занимается торгами на бирже, а потому сразу поделился представлениями о желаемом функционале приложения. В частности, его интересовали такие возможности:
- беспрерывный мониторинг цен;
- построение графиков по заданным показателям;
- построение фигур для технического анализа состояния рынка;
- а также формирование кастомизированных уведомлений.
Умный формат цен
В процессе проектирования наши разработчики подробно изучили и проанализировали предметную область.В результате, общение с клиентом стало более эффективным – появилось понимание реализации и улучшения функционала.
К примеру, наши специалисты обнаружили проблему форматирования ценовых показателей. В частности, стоимость акций может измеряться десятками тысяч долларов, при этом для работы с криптовалютами используются 8-16 знаков после запятой. Однако даже мельчайшие колебания необходимо контролировать и отображать корректно.
Учитывая это, наши программисты создали кастомизированную функцию регулирования получаемых значений. Порядок значений определяет, сколько знаков должно быть отображено после запятой. Например, если акция стоит больше 10 000$, то центы не отображаются, а для сверхмалых величин, наоборот, показываются 4 значащих разряда.
Собственный сервис-агрегатор
Существующие агрегаторы собирают и выдают информацию о котировках, объёмах торговли и новостях на платной основе, поэтому мы выявили перспективу создания своего агрегатора. В итоге сведения приходят с разработанного смежной командой сервиса-агрегатора.
Помимо этого, ещё одним требованием разработки приложения была необходимость сохранения алертов и графиков пользователя на удалённом сервере. Для этой цели мы использовали протокол WebSocket. К слову, на настоящий момент он является наиболее оптимальным вариантом для приложений реального времени. В результате, после регистрации пользователь может получить доступ к своим схемам и алертам даже на другом устройстве.
Фильтр для анализа оповещений
Вдобавок, отслеживание стоимости бумаг происходит онлайн, следовательно, формируется объёмный поток сообщений, способных активировать оповещения. Однако проверка условий активации каждого сигнала приводит к перегрузке.
По этой причине мы реализовали фильтр на стороне сервера, который анализирует алерты. Он объединяет минимумы и максимумы параметров, пропуская только релевантные события.
Библиотеки для взаимодействия с сервером
Отметим, что серверная часть продукта состоит из трёх модулей:
- сервис агрегирования данных;
- сервис обработки алертов;
- стриминговый сервис.
Взаимодействие организовано с помощью библиотек Action Cable Client и Action Cable Server. Они упрощают подключение и обмен данными в режиме онлайн. Чтобы их получить, следует подписаться на интересующие каналы – для этого отправляется сообщение с ключами всех отслеживаемых характеристик.
Выбор системы управления БД
Кроме того, в целях повышения производительности мы применили СУБД Redis. Она значительно снижает время отклика на запрос к БД за счёт размещения определённого количества данных в основной памяти телефона.
Описанные выше компоненты работают следующим образом. Redis хранит и обновляет файлы, доступ к которым требуется наиболее часто. А раз в сутки вся информация переносится на жёсткий диск, что и обеспечивает бесперебойную работу.
Результат
Таким образом, разработка инструмента для валютных и фондовых бирж сопряжена с решением множества нетривиальных задач. Тем не менее, исследование сферы применения, а также изучение новых и перспективных технологий позволили нам представить высококачественное, востребованное биржевое приложение, соответствующее всем требованиям и пожеланиям заказчика.
Хотите создать похожий проект? Тогда пишите нам, и мы сможем воплотить вашу задумку в жизнь!