И на этой странице можно видеть как и куда развивался проект OsEngine. Кто вносит в него изменения и помогает проекту стать лучше.
Здесь Вы можете помочь нашему сообществу.
Пользователи могут предложить своё дополнение, а также поделиться баг-репортом.
Программисты в свою очередь - смогут видеть востребованные задачи проекта. А также то, куда он идёт.
Описание | Тип проекта | Делает | Взято в работу | Дней в работе |
---|---|---|---|---|
Проблемы с коннектором OKX connector | Баг | Denisqa | 14 |
Период |
Друзья! Данная страница призвана помочь проекту развиваться и соединить наших пользователей и программистов.
Пользователи смогут оставлять здесь свои предложения.
Программисты смогут их реализовывать, пополняя своё резюме и помогая себе и вселенной.
Всем должно быть от этого – хорошо.
Но есть ещё и третья сторона силы – руководитель проекта и человек который его вёл долгие годы – Алексей Ван. У меня есть определённый вижн относительно того в какую сторону должен идти проект. И я не могу позволить его уводить в сторону. Чтобы сохранить то что у нас есть и преумножить наше совместное наследие в будущем.
И этот текст – про это. Про мой ВИЖН будущего OsEngine. Чтобы мы могли двигаться вместе в одну сторону.
Стабильность
Это немного смешное слово, которое вызывает не однозначные ассоциации (в РФ точно). Но в этом есть соль. Я очень трепетно отношусь к слоям совместимости которые были написаны многие годы назад и не трогаю их. Не изменяю имена переменных, даже если в их написании ошибки. Не меняю схемы взаимодействия слоёв. Не изменяю логику уже существующего функционала. Ибо такие изменения неизменно оттолкнут пользователей.
Когда-то, существовала такая библиотека, которая называлась СтокШарп. Это был прекрасный, законченный продукт, уже законченный в 2012 году. Однако – усилями программистов из офиса этой компании, слои совместимости и создания роботов менялись ежемесячно. И поддержка роботов превращалась у кошмар. Из-за этого от них ушли как физ-лица, так и корпоративные клиенты. Я – такого не допущу!
1 МЫ НЕ ИЗМЕНЯЕМ СУЩЕСТВУЮЩИЙ ФУНКЦИОНАЛ! – МЫ РАСШИРЯЕМ ЕГО!
2 ОХОТА НОВЫЙ ФУНКЦИОНАЛ – РАЗБЕРИ И УСЛОЖНИ СЛОЙ НИЖЕ СЛОЁВ РАЗРАБОТКИ БОТОВ! ВЫВЕДИ НАВЕРХ ГОТОВЫЙ ФУНКЦИОНАЛ!
Ориентация на пользователей
Уже торгующие и зарабатывающие пользователи – те для кого этот проект делается и развивается. Тот костяк из нескольких сотен человек которые открывают каждое утро терминалы, запускают OsEngine и включают роботов – они здесь главные. Для них разрабатывается OsEngine. Для них делаются гайды и инструкции. Для них расширяется Ютуб-канал. Они – энергия и сила проекта.
В связи с этим:
1) Мы не гонимся за всемирной славой и не пытаемся поразить азиатских трейдеров. Зарубеж – не приоритет и английский в проекте для галочки.
2) Также не стоит задачи поразить авторитетных программистов. КрасОты и изящности распределённой архитектуры – для СтокШарп.
3) Те, кто торгуют руками – также не в приоритете. Мы будем делать для них расширения и двигаться в их сторону. Но они здесь не главные
Главные пользователи проекта – зарабатывающие русскоговорящие алго-трейдеры. В большинстве – это люди с очень богатым трейдинговым опытом. И очень не богатым опытом программирования. Это – даже не джуниоры. Они – разрабатывают ботов строго в слое их создания. И любое изменение инфраструктуры – будет воспринято ими болезненно.
3 НЕ УСЛОЖНЯЙ ЖИЗНЬ АЛГО-ТРЕЙДЕРАМ! УПРОЩАЙ ЕЁ!
Лёгкость фреймворка
Один проект. Одна платформа. Один поддерживающийся тип ОС. Один язык программирования. Один слой создания роботов для тестов и торговли. Одно кольцо чтобы править всеми И т.д.
Наш проект – простой. С ним может справится почти любой выпускник школы – и это прекрасно! И надо на это ориентироваться.
Нужно делать так – чтобы человек, только что прочитавший книгу «СиШарп для чайников» - тут же понимал как у нас устроен тот или иной класс в библиотеке. К этому нужно стремиться.
Примеры того, что не прекрасно:
1) Увеличение уровня языка СиШарп внутри кода с усложнением синтаксиса – не приветствуется
2) Замена цикла for на использование библиотек Linq – не приветсвуются
3) Использование Task повсеместное – не приветствуется
4) Использование РеШарпера для работой над всем проектом, с его фиксингом многоуровневым – не приветствуется
5) Использование синтаксического сахара – не приветствуется
6) И т.д.
4 МЫ НЕ ПОВЫШАЕМ УРОВЕНЬ ВХОЖДЕНИЯ В OSENGINE! МЫ ЕГО ПОНИЖАЕМ!
Самое страшное что может случиться с гениальной идеей – это её публичное озвучивание. Поэтому, товарищей трейдеров и просто неравнодушных. Тех кто будет оставлять на этой странице свои предложения. Призываю относиться ко всему спокойно.
Нам не нужны чужие граали
В этом плане, конкретно у меня уже есть всё. Трендовый грааль. Арбитражный. Скрининговый. Сезонный. Мне их солить уже негде. И всё сплошь прибыльное. Мне чужого не нужно.
5 ЕСЛИ ТВОЯ ИДЕЯ ЧТО-ТО СТОИТ – ОСТАВЬ ЕЁ ПРИ СЕБЕ
Программисты делают то что хотят
Как официальная команда проекта, так и фрилансеры из сообщества – все работают над OsEngine по любви. И заставить их взять какую-то работу внепланого можно только через финансирование.
6 ЕСЛИ ПРЕДЛОЖЕНИЕ СРОЧНОЕ – ИЩИТЕ ПРОГРАММИСТА ЗА ДЕНЬГИ
Когда мы упоминаем про СтокШарп и СофтАлготрейд (Это конкуренты OsEngine по версии 2016 года). Я своё участие в их грустной участи оцениваю скромно.
И абсолютно точно понимаю, что это не OsEngine их победил. Это они совершили СУИЦИД САМИ.
И самое простое в этом случае – не совершить суицид самим. Отсюда у нас родились дополнительные правила:
1 Увеличивать сложность проекта по мере увеличения кол-ва программистов в основном офисе
Камрады программисты. Товарищи пользователи.
OsEngine – выполняет свои обязанности по торговле уже сегодня. И обеспечивает своим приоритетным пользователям прибыль с торговли уже сейчас.
Его улучшение и усложнение возможно только в случае, если новый функционал будет кому поддерживать. Поэтому не все предложения будут одобрены. На данном этапе, пока у нас над OsEngine в офисе трудится 2 программиста на постоянной основе. Усложнения не будет. Это самоубийство. И примеров такого самоубийства уже несколько. Не будем идти по их пути.
2 Не брать в проект партнёров, которые хотят взять творческий контроль себе
Это не очень к этому документу относится. Но я про это скажу. Ибо данная глава показывает насколько я дорожу проектом и люблю его.
Прошедшие годы, кроме бурного развития аудитории, запомнились мне ещё и тем что мне начали поступать предложения об инвестициях в проект. И до сих пор – у меня нискем не складывалось, ибо утратить творческий контроль за OsEngine – загубить проект. И никаких денег мне не хочется, если придётся с ним распрощаться. Я не принимаю деньги, даже десятки миллионов – если люди предлагающие их хотят проект усложнить или увести его в сторону от приоритетных пользователей. Вот именно настолько я суров в своём вижене.
Поэтому – не обижайтесь если я Ваше предложение отклонил. Или не принял Ваш исходный код в основной репозиторий.
Далее поговорим про моё видение развития проекта. И тут же я отмечу – что оно может меняться и двигаться куда-то. В зависимости от текущей ситуации в мире и рынке. Но в целом – будет как-то так.
У меня есть идея уже несколько лет, относительно перехода OsEngine в другую категорию программ. Т.е. выхода его, из узкоспециализированной алгоритмической истории – больше в сторону трейдеров. Тех кто торгует руками.
В итоге – на выходе мы должны получить терминал, похожий на Ninja Trader. В котором не важно что Вы хотите делать. Торговать роботами, руками или же просто хотите сделать скринер акций. Это должно быть удобно для всех.
Без глобального финансирования и раздувания штата сотрудников – в рабочем ритме, спокойном – это будет выглядеть вот так. И займёт от полутора до двух с половиной лет.
Основные задачи первоначальные, для того чтобы этот проект вообще имел право на существование, выглядят так, как на картинке ниже.
Этап 1. Подготовка к переходу на новый уровень
1) Убрать связанность элементов
Этот пункт для программистов важен. Я вижу и понимаю проблематику OsEngine.
Это необходимо сделать, чтобы можно было одновременно запускать и тестер, и роботов и оптимизатор и OsData. Как не трудно догадаться, такое использование OsEngine раньше не предполагалось. И от этого много вопросов к архитектуре.
В целом - данная проблема возникла в момент создания OsEngine. От неопытности и молодости программиста который его начал писать. Сейчас - понятное дело, так бы я не сделал. Но имеем, то что имеем.
Кроме того, основные работы в этом направлении - уже завершены. Раньше было хуже. И с каждым годом связанность проекта только падает. Это - прекрасно.
2) Новые источники данных
В слой создания роботов необходимо добавить моно-источники, такие как стакан, лента сделок, свечи - по отдельности. В данный момент это реализовано через супер объект BotTabSimple. Необходимо, сохранив его интерфейсы внешние, переподключить его на более мелкие источники. Это нужно чтобы была возможность в дальнейшем делать для пользователей отдельные интерфейсы для отображения этих данных.
Кроме того, с появлением мелких источников - можно будет наконец-то сделать для них выделенные слои для тестирования.
Данные правки потребуют от разработчиков больших изменений в слое подключения к коннекторам. Отсюда следующие два пункта
3) Обновить коннекторы
Под новые источники данных будет необходимо обновить вкруг все наши подключения. Как к бирже, так и к эмуляционным торгам.
4) Слой тестирования коннекторов
С увеличением числа источников для роботов, и расширением коннекторов - необходимо обеспечить 80% покрытие функционала коннекторов автоматическими тестами.
5) Интерфейсы
На базе новых источников - сделать новые пользовательские интерфейсы, которые будут вызываться из существующих. Т.е. будет расширять его функционал.
Этап 2. Переход на новый интерфейс
Собственно. После первого этапа – переход на второй много времени не займёт. И самое сложное в этом процессе – будет написание новых гайдов. Как к технической части, так и к пользовательской. Ибо схема работы полностью обновится.
Этап 3. Улучшие и расширение функционала OsEngine 2
Ну и где-то в 2024 году. У нас с Вами будет новый терминал классный. В который можно будет без труда добавлять новые фичи. Конструкторы роботов. Модуль для опционщиков. И всё всё всё. Ибо OsEngine 2 – будет расширяем и гибким. Где-то тогда же мы добавим в него поддержку маркета. И будем работать в сторону автоследования.
В процессе начнут появляться и выявляться архитектурные геморрои различные. С которыми мы будем бороться на месте. И надеюсь в ВОСЬМОЙ раз мне OsEngine переписывать не придётся)))
Видимо с ним мы и будем, года до 2030. А там посмотрим)
Удачных алгоритмов!