Aplikacja handlowa
Проект: Liquidity Spectrum Pro
1. Цель проекта
Создать высокопроизводительный нативный торговый терминал на C++/Qt 6, предназначенный для профессионального анализа ликвидности и потока ордеров.
Терминал должен в реальном времени отображать рыночные данные (тики, стакан, спред, тепловую карту ликвидности) и предоставлять инструменты для ввода ордеров через Coinbase Advanced Trade API.
Главная задача — перенести критические модули (выполненные ранее во Flutter/Python) в C++, чтобы минимизировать задержки и повысить стабильность.
2. Общая архитектура
Приложение строится по модульной схеме:
[ExecutionModule] ─▶ [LiquidityDataController] ─▶ [LiquiditySpectrumChart]
│ │ │
▼ ▼ ▼
(WebSocket+REST) (расчёт данных) (рендер графики)
Все три слоя связаны через Qt Signals/Slots, обеспечивая асинхронную обработку данных без блокировок UI.
3. Основные компоненты
3.1 Execution Module (Модуль связи с биржей)
Файл: src/core/ExecutionModule.{h,cpp}
Назначение: управление подключением к Coinbase API.
Функции:
Поддержание постоянного WebSocket-соединения с
wss://advanced-trade-ws.coinbase.com;Подписка на каналы
tickerиlevel2(илиsnapshot/l2update);Приём и парсинг входящих сообщений в формате JSON;
Сигналы:
tradeTick(productId, price, size, side, timestamp)bestBidAsk(productId, bid, ask, timestamp)
REST-запросы:
GET /brokerage/products— список инструментов;GET /brokerage/products/{id}/candles— исторические свечи;POST /brokerage/orders— отправка рыночных/лимитных ордеров;
Поддержка HMAC-SHA256-подписи запросов (через
CB-ACCESS-*заголовки);Watchdog-механизм для автоматического переподключения при потере данных >10 секунд;
Heartbeat (Ping каждые 12 секунд).
Требования:
Работа в отдельном потоке (
QThread);Минимальная задержка обработки сообщений (< 5 мс);
Возможность расширить подписку на несколько инструментов.
3.2 Liquidity Data Controller (Контроллер данных)
Файл: src/data/LiquidityDataController.{h,cpp}
Назначение: агрегация и обработка рыночных данных, подготовка 2D-массивов для рендеринга тепловой карты.
Функции:
Хранение последних N секунд тиков (кольцевой буфер);
Расчёт тепловой карты ликвидности:
биннинг по цене и времени;
экспоненциальное затухание (
half-life, например 5 сек);
Поддержание диапазона цен (min/max) динамически вокруг среднего Bid/Ask;
Сигнал
dataUpdated()при обновлении карты;Вычисление текущего спреда, best bid/ask.
Формула затухания:
λ = ln(2) / half_life
value *= exp(-λ * Δt)
Требования:
Обработка ≥ 1000 событий/сек без потери кадров;
Потокобезопасность (все вычисления — в основном потоке контроллера);
Опциональное расширение до 2-канальной тепловой карты (Buy/Sell отдельно).
3.3 Liquidity Spectrum Chart (Виджет графика)
Файл: src/ui/LiquiditySpectrumChart.{h,cpp}
Назначение: визуализация спектра ликвидности и рыночных данных.
Элементы визуализации:
Фоновая тепловая карта (градиент «красный–зелёный»);
Линии Best Bid (зелёная) и Best Ask (красная);
Заливка области спреда (полупрозрачный слой);
Масштабирование по текущему диапазону цен;
Обновление изображения по сигналу
dataUpdated().
Требования:
Частота обновления ≥ 30 FPS;
Рендер на
QPainterбез сторонних библиотек;Возможность заменить палитру и добавить смешивание buy/sell.
3.4 Main Window (Главное окно)
Файл: src/ui/MainWindow.{h,cpp}
Назначение: базовая оболочка приложения.
Состав:
Центральный график —
LiquiditySpectrumChart;Dock-панели:
FlowMetricsWidget— показатели потока ордеров (TBD);OrderEntryWidget— форма для отправки ордеров (buy/sell, notional);
Тулбар:
Кнопки BUY $10 / SELL $10 — тестовые REST-ордера;
Статус-бар — индикация состояния подключения (Connected / Reconnecting / Disconnected).
4. Интерфейс пользователя
Основное окно
| Элемент | Назначение |
|---|---|
| Тепловая карта | Отображает интенсивность сделок (вес = объём) по цене и времени. |
| Линии Bid/Ask | Текущие лучшие цены покупки/продажи. |
| Заливка спреда | Полупрозрачная область между линиями. |
| Тулбар BUY/SELL | Быстрая отправка ордеров (через REST). |
| Dock "Flow Metrics" | Доп. показатели (имбаланс, объём, дельта). |
| Dock "Order Entry" | Поле для ручного ввода ордеров. |
Цветовая схема — тёмная (аналог Moontrader).
Все элементы — в одной теме (resources/dark.qss).
5. Требования к производительности
| Компонент | Цель |
|---|---|
| Обработка WS-сообщений | ≤ 5 мс/сообщение |
| Обновление тепловой карты | ≥ 30 FPS |
| Память на историю | ≤ 100 МБ при 300 сек и 200×300 бинов |
| Переподключение | < 2 сек после потери соединения |
| REST-запрос ордера | ≤ 300 мс round-trip |
6. Безопасность
Приватные ключи Coinbase не хранятся в коде.
Используются переменные окружения:CB_API_KEY,CB_API_SECRET_BASE64,CB_API_PASSPHRASE.Подпись запросов HMAC-SHA256;
Отказоустойчивая логика reconnect при обрывах;
Исключение утечек памяти (умные указатели, RAII).
7. Технологии
| Область | Используемое решение |
|---|---|
| Язык | C++ 20 |
| Фреймворк | Qt 6.5+ |
| Сеть | Qt Network (QWebSocket, QNetworkAccessManager) |
| Потоки | QThread |
| Рендеринг | QPainter (QWidget) |
| Сборка | CMake 3.21+ |
| ОС | Windows 10+, macOS, Linux (x64) |
| API-интеграция | Coinbase Advanced Trade API v3 |
8. Сборка и запуск
1️⃣ Подготовка окружения
Установить Qt 6.5+ с модулями Core, Widgets, Network.
Установить CMake 3.21+.
2️⃣ Сборка
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . -j
3️⃣ Запуск
Запустить
LiquiditySpectrumPro(на Windows —LiquiditySpectrumPro.exe).
9. Этапы разработки
| Этап | Задачи | Результат |
|---|---|---|
| 1. Инициализация проекта | Создание CMake-структуры, базового UI | Базовое окно Qt |
| 2. Модуль Execution Module | Подключение WS/REST к Coinbase | Поток тиков и BBO |
| 3. Контроллер данных | Логика биннинга и decay | Буфер тепловой карты |
| 4. Визуализация | Тепловая карта и линии | Отрисовка спектра |
| 5. REST-ордера | Отправка и проверка ордеров | Рабочий ввод BUY/SELL |
| 6. Оптимизация | Отладка скорости и памяти | FPS > 30 |
| 7. UI/UX финал | Тёмная тема, метрики | Готовый интерфейс |
10. Дополнительные возможности (этап 2)
Поддержка нескольких инструментов одновременно (мультичарт);
Расширенная аналитика потока: дельта, VWAP, Imbalance;
Настройка палитры и decay-параметров из GUI;
Экспорт тепловой карты в PNG/CSV;
Отображение истории стакана (replay-режим).
11. Результат
В результате должен быть готовый исполняемый терминал:
Отображающий в реальном времени динамику ликвидности;
Позволяющий анализировать поток ордеров без лагов;
С архитектурой, пригодной для расширения и подключения других бирж
Бюджет будет расширен . Если найдем взаимопонимание, и по срокам выполнения !
-
31 dni4376 PLN31 dni4376 PLN
📌Witaj.👋
⭐️Nazywam się Andrzej.
⭐️Jestem założycielem: Juicy-ART Agencja Cyfrowa
⭐️Mam 12-letnie doświadczenie w pracy.
• ➡️Mogę pokazać prace dotyczące aplikacji handlowych
• 🎨Portfolio:Freelancehunt
• ✅Ocena prac na Behance (ponad 500.000 wyświetleń)
• 💼Więcej prac tutaj:Dribbble
-
10 dni5106 PLN
3286 23 1 2 10 dni5106 PLNDzień dobry, Rusłan! Twój projekt dotyczący stworzenia terminala handlowego Liquidity Spectrum Pro brzmi niesamowicie interesująco. Proponuję przemyśleć przeniesienie modułów na C++, aby naprawdę zminimalizować opóźnienia i poprawić stabilność. Opracowuję skalowalne systemy oparte na C++/Qt, a moja ekspertyza w przetwarzaniu danych w czasie rzeczywistym przez WebSocket i REST API pozwoli stworzyć stabilny moduł wykonawczy. Doświadczenie w konfigurowaniu bezpiecznych interwałów przesyłania danych i organizacji przetwarzania wielowątkowego będzie przydatne do osiągnięcia Twoich celów. Porozmawiajmy o tym bardziej szczegółowo! 🚀
-
21 dni4376 PLN
162 21 dni4376 PLNDzień dobry.
Z zainteresowaniem zapoznałam się z Twoim projektem. Jestem pewna, że mogę wykonać efektywną i wysokiej jakości pracę zgodnie z Twoimi wymaganiami i oczekiwaniami. Posiadam ponad 8-letnie doświadczenie. Jestem gotowa omówić szczegóły i przystąpić do pracy. Czekam na Twoją odpowiedź.
-
30 dni4376 PLN
2259 5 1 30 dni4376 PLNCześć! Zapoznałem się z twoim zadaniem i uważam, że mogę je pomyślnie wykonać. Będę wdzięczny za współpracę, proszę, napisz do mnie osobiście w celu dalszych szczegółów.
-
90 dni51 058 PLN
304 90 dni51 058 PLNCześć!
Nazywam się Aleksiej, reprezentuję grupę deweloperów – NC-1.
Od ponad pięciu lat tworzymy strony internetowe, aplikacje mobilne, sklepy internetowe, systemy ERP/CRM i inne produkty e-commerce. Proponuję nasz zespół do pracy nad Twoim projektem:
1. Starszy programista C++/Qt (lider zespołu)
Stos: C++20, Qt 6.5+, CMake, wielowątkowość, protokoły sieciowe
Zadania: Architektura, kluczowe moduły, optymalizacja wydajności
2. Programista C++/Qt (średniozaawansowany+)
Stos: C++17/20, Qt Widgets, QPainter, algorytmy przetwarzania danych
Zadania: Wizualizacja, komponenty UI, moduły pomocnicze
… 3. Inżynier DevOps/QA
Stos: CMake, CI/CD, budowanie wieloplatformowe, testowanie wydajności
Zadania: Budowanie, wdrażanie, testowanie na różnych systemach operacyjnych
4. Kierownik projektu (na pół etatu)
Stos: Agile, komunikacja, zarządzanie terminami
Zadania: Koordynacja, raportowanie, współpraca z klientem
Przykłady - https://1drv.ms/b/c/b7a0d31a9dae1bc5/EeH6JPdpBbpKtrkA1zFQOIMBAmqUcd_Ptx5tt5p9hBNG-g?e=wXDGHh
Portfolio – https://nc-one.com/case-studies
Z poważaniem,
Aleksiej M.
-
7 dni4376 PLN
172 1 1 7 dni4376 PLNWitaj! Jestem gotów zrealizować ten projekt, mam duże doświadczenie w tworzeniu różnych aplikacji. Posiadam duże doświadczenie w programowaniu w qt C++. Mam również doświadczenie w programowaniu w qt Widgets C++ dla Binance i ByBit.
Aktualne zlecenia dla freelancerów w kategorii Aplikacje desktopowe
Potrzebuję pilnie uzyskać zapytania POST / GET / PUT z aplikacji mobilnej TikTokW zasadzie. Należy wydobyć zapytania POST / GET / PUT z aplikacji mobilnej TikTok Nawet nie trzeba do końca niczego odwracać, ponieważ podpisy są w internecie itd. Ale byłoby też super Cała autoryzacja (Wysyłanie danych/potwierdzenie przez e-mail i wprowadzenie kodu, jeśli to… Programowanie stron internetowych, Aplikacje desktopowe ∙ 1 dzień 4 godziny temu ∙ 20 ofert |
Opracowanie niestandardowego oprogramowania (aplikacja na Androida + CMS) dla kiosków samoobsługowych SUNMI K2 (fast food)
82 PLN
Szukamy doświadczonego zespołu lub programisty Android na poziomie średnim/zaawansowanym (możliwe, że z umiejętnościami Full-stack) do stworzenia własnego oprogramowania dla kiosków samoobsługowych sieci fast food. Obecnie nasze terminale działają na bazie gotowego chmurowego… Content Management Systems, Aplikacje desktopowe ∙ 1 dzień 23 godziny temu ∙ 19 ofert |
Należy przeprowadzić migrację obecnego programu roboczego z foxpro na C#Cześć wszystkim! Mamy program na foxpro (ma kilka modułów, program do ewidencji), mamy źródła programu, w razie pilnej potrzeby można skonsultować się z osobami zajmującymi się wsparciem bieżącego programu. Co należy zrobić: 1. Analiza, co i jak działa, sporządzenie listy… C#, Aplikacje desktopowe ∙ 7 dni 7 godzin temu ∙ 18 ofert |
Mistrzowska program «KONSTRUCTOR»
15 253 PLN
Szukamy bardzo doświadczonego programisty C++ do modernizacji istniejącego oprogramowania (programu głównego). Program odpowiada za tworzenie pochodnego oprogramowania reprezentującego sesje audiowizualnej korekcji psychologicznej. Obecna wersja jest napisana w czystym WinAPI… C i C++, Aplikacje desktopowe ∙ 9 dni 19 godzin temu ∙ 19 ofert |
Konfiguracja ODOO Enterprise dla budownictwaНеобхідно побудувати картки та налаштувати зручний імпорт, інтеграцію з ЕДО і загалом Workflow ODOO Компанія займається системною інтеграцією: маємо поставки обладнання В2В або з прямою маржинальністю, або з рібейтами в подальшому. Крім того, ведемо будівельні роботи на об'єктах… Automatyzacja zarządzania przedsiębiorstwem, Aplikacje desktopowe ∙ 10 dni 5 godzin temu ∙ 7 ofert |