На главную

Cоздание программы для зеркалирования сделок между брокерскими счетами

<p><strong>Основные задачи</strong></p> <p><strong>Задача 1: Установка защищенного соединения с WebSocket сервером</strong></p> <ul> <li>Установить защищенное соединение с WebSocket сервером для получения данных о сделках с первого счета.</li> <li>Подписаться на необходимые потоки данных (создание/отмена ордеров).</li> <li>Реализовать механизм повторного подключения (reconnect) при потере соединения.</li> <li>Обеспечить возможность зеркалирования нескольких пар счетов.</li> </ul> <div> <p><strong>Задача 2: Обработка данных об ордерах и сделках</strong></p> <ul> <li>Реализовать логику обработки данных об ордерах, частично исполненных ордерах и сделках.</li> <li>Написать функции для обработки входящих сообщений.</li> </ul> <div> <p><strong>Задача 3: Пропорциональное зеркалирование</strong></p> <ul> <li>Реализовать логику пропорционального зеркалирования (с учетом коэффициента) для случаев разных размеров счетов.</li> <li>Определить условия для зеркалирования сделок* (см. список условий ниже).</li> </ul> <div> <p><strong>Задача 4: Отправка торговых приказов</strong></p> <ul> <li>Настроить отправку торговых приказов на второй счет.</li> <li>Реализовать повторную отправку приказов в случае сбоя или ошибки от сервера.</li> </ul> <div> <p><strong>Задача 5: Обеспечение стабильности программы</strong></p> <ul> <li>Реализовать механизм мониторинга и автоматического восстановления при сбоях.</li> <li>Добавить обработку ошибок при подключении, отправке и получении данных.</li> <li>Внедрить логирование всех действий и ошибок.</li> </ul> <div> <p><strong>Задача 6: Создание отчетности</strong></p> <ul> <li>Разработать отчеты для сравнения эффективности работы программы.</li> <li>Включить в отчеты:<ul> <li>Расхождения цен покупок на исходном и целевом счете.</li> <li>Информацию о задержках зеркалирования.</li> <li>Статистику по успешным и неуспешным операциям.</li> </ul></li> </ul> <div> <p><strong>Задача 7: Тестирование программы</strong></p> <ul> <li>Провести тестирование в песочнице:<ul> <li>Проверить корректность зеркалирования сделок между счетами.</li> <li>Обработать случаи с разными балансами и недоступностью инструментов.</li> <li>Протестировать надежность WebSocket соединения и механизм повторного подключения.</li> <li>Проверить обработку ошибок (прерывания сети, ошибки авторизации).</li> </ul></li> <li>Провести стресс-тесты для определения максимального количества пар счетов.</li> <li>Интегрировать автоматизированные тесты в CI/CD для проверки изменений в коде.</li> </ul> <div> <p><strong>Задача 8: Логирование и конфигурация</strong></p> <ul> <li>Добавить логирование всех действий и результатов выполнения программы.</li> <li>Реализовать конфигурационные файлы для настройки параметров работы.</li> <li>Настроить ротацию и архивирование лог-файлов для предотвращения их неограниченного роста.</li> </ul> <div> <p><strong>Задача 9: Настройка VDS и развертывание</strong></p> <ul> <li>Настроить виртуальный выделенный сервер (VDS) с учетом требований безопасности:<ul> <li>Настроить firewall.</li> <li>Обеспечить доступ по SSH с использованием ключей.</li> </ul></li> <li>Развернуть программу на сервере.</li> <li>Настроить автоматический запуск программы при старте сервера.</li> </ul> <div> <p><strong>Дополнительные задачи</strong></p> <ul> <li><strong>Модульная архитектура:</strong> Обеспечить модульную структуру программы для упрощения дальнейшей разработки и добавления новых функций. Разместить все в github.</li> <li><strong>Документация:</strong> Создать подробную документацию для разработчиков и пользователей.</li> <li><strong>Защита данных:</strong> Реализовать защиту данных (токены, логины, пароли) с использованием secure storage или шифрования.</li> </ul> <div> <p><strong><i>* - Условия для зеркалирования сделок</i></strong></p> <ol> <li><strong><i>Баланс счетов:</i></strong><i> Зеркалирование должно осуществляться только при наличии достаточного баланса на обоих счетах.</i></li> <li><strong><i>Доступность инструмента:</i></strong><i> Инструмент, на который выполняется сделка, должен быть доступен на втором счете.</i></li> <li><strong><i>Права на торговлю:</i></strong><i> второй счет должен иметь необходимые права для выполнения торговли.</i></li> <li><strong><i>Типы заказов:</i></strong><i> Определить, какие типы заказов подлежат зеркалированию (например, рыночные или лимитные).</i></li> <li><strong><i>Условия рынка:</i></strong><i> Зеркалирование может быть ограничено определенными часами торговли или условиями рынка.</i></li> <li><strong><i>Статус заказа:</i></strong><i> Зеркалировать только исполненные или частично исполненные заказы.</i></li> <li><strong><i>Управление рисками:</i></strong><i> Не зеркалировать сделки, превышающие установленный порог потерь.</i></li> <li><strong><i>Задержки (latency):</i></strong><i> Приостанавливать зеркалирование при значительной задержке в получении данных.</i></li> <li><strong><i>Обработка ошибок:</i></strong><i> Повторять попытку или пропускать зеркалирование при ошибках отправки/получения заказов.</i></li> <li><strong><i>Пользовательские правила:</i></strong><i> Разрешить пользователям настраивать условия зеркалирования (например, зеркалировать только сделки выше определенной суммы).</i></li> </ol> <br><br></div></div></div></div></div></div></div></div></div></div>

Автоматизация анализа технического состояния оборудования

Разработка программного обеспечения для автоматизированного анализа технического состояния оборудования на основе эксплуатационных данных, с прогнозированием износа,...

Стартап по чат-ботам ищет первых участников команды

Привет! [:1f44b] Меня зовут Роман, я — разработчик чат-ботов на платформе Salebot. Только что запустил проект по созданию ботов для бизнеса....

Oперативнoе устранение блокирoвки корпоративной почты

Oперативнoе устранение блокирoвки корпоративной почты! При успешнoм и результате реализации даннoй задачи, вoзмoжнo пocтoяннoе сoтрудничествo!