Domain suspended or not configured

If you are the administrator and believe this is an error on our side, please check your BunnyCDN account configuration or contact customer support.

Cоздание программы для зеркалирования сделок между брокерскими... | fseek.ru
На главную

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>