Модуль UI для алготрейдинга и бектестирования роботов на фондовой бирже.
node >= 17
npm i opexviewer
https://www.npmjs.com/package/opexviewer
OpexViewer является составной частью торговой системы.
На данный момент работает только с одним коннектором. Но спроектирован с возможностью подключения к другим торговым роботам. Общение однонаправлено и вьювер посылает запросы к серверу. При этом сервер ничего не знает про UI. Соответственно возможно подсунуть сервер с торговым роботом на любом языке и сервер может работать автономно без запущенного UI.
http://localhost:3000/settings
- Добавление адреса сервера. Например, разные сервера с торговыми роботами будут размещены в ДЦ рядом с биржей, а UI будет лежать отдельно для мониторинга.
- Добавление и выбор токенов.
- QR код для быстрого доступа с телефона (если вьювер запущен не на localhost).
http://localhost:3000/accounts
- При выборе счёта отображается портфель, баланс и статус (только для чтения или нет).
- При использовании sandbox токена автоматически создаётся счёт и пополняется на 100 тысяч рублей.
- После выбора счёта в шапке всегда отображается баланс и номер счёта.
http://localhost:3000/instruments
- На выбор предоставлены голубые фишки и их фьючерсы
http://localhost:3000/instruments/BBG004730N88
- Содержит график с выбором таймфреймов (1, 5, 15 мин и 1 час), объём, стакан.
- Селект для выбора робота, кнопки старт стоп для запуска и остановки робота
- Настройки робота: лоты, TS / SL, уровни поддержки и сопротивления. Уровни так же дублируются на графике и в стакане.
- Робота можно запускать только на одном инструменте. Когда робот запущен перейти на другой инструмент нельзя.
- На график наносятся заявки и сделки. Оранжевым и салатовым цветом заявки, зелёным и красным сделки. Они же дублируются внизу страницы в текстовом виде.
Во время торговли можно посмотреть страницы логов и информацию для дебага. В логах содержится информация про сервер и api. На дебаг странице все переменные робота на текущий момент.
Чтобы попасть в режим бектестирования нужно в календаре выбрать прошедшую дату, на которой нужно провести бектест. Панель бектестирования ничем не отличается от реальной торговли, кроме того что есть контролы для пошаговой работы, чтобы отлаживать работу робота.
Обратите внимание, что там где робот уже торговал, он автоматически закешировал стакан и теперь в бектестировании стакан доступен тоже.
Вся описанная выше функциональность адаптирована для мобильных устройств. Для быстрого перехода добавлен QR код, который содержит в себе адрес сервера, чтобы повтоно не указывать с телефона. Под стаканом добавлена кнопка скрыть, чтобы график и кнопки поместились на экран.