Помогаем проекту развиваться
OsEngine - наш общий проект

И на этой странице можно видеть как и куда развивался проект OsEngine. Кто вносит в него изменения и помогает проекту стать лучше.

Здесь Вы можете помочь нашему сообществу.

Пользователи могут предложить своё дополнение, а также поделиться баг-репортом.

Программисты в свою очередь - смогут видеть востребованные задачи проекта. А также то, куда он идёт.

Уже в работе
Описание Тип проекта Делает Взято в работу Дней в работе
Реализация двух типов комиссии одновременно Расширение Алексей Ван 23
Риск - менеджер в тесте Баг Denisqa 1

В проекте и обсуждении

Завершенные проекты

Топ реализаций
ЛК Телеграмм Фиксы багов Архитектура Расширения

https://t.me/alex_wang_osengine 1 0 2

0 0 1

https://t.me/bit_kenobe 1 0 0

Топ предложений
ЛК Телеграмм Фиксы багов Архитектура Расширения

https://t.me/alex_wang_osengine 1 0 3

https://t.me/bit_kenobe 1 0 0

Что мы делаем

Друзья! Данная страница призвана помочь проекту развиваться и соединить наших пользователей и программистов.

Пользователи смогут оставлять здесь свои предложения.


Программисты смогут их реализовывать, пополняя своё резюме и помогая себе и вселенной.


Всем должно быть от этого – хорошо.


Но есть ещё и третья сторона силы – руководитель проекта и человек который его вёл долгие годы – Алексей Ван. У меня есть определённый вижн относительно того в какую сторону должен идти проект. И я не могу позволить его уводить в сторону. Чтобы сохранить то что у нас есть и преумножить наше совместное наследие в будущем.


И этот текст – про это. Про мой ВИЖН будущего OsEngine. Чтобы мы могли двигаться вместе в одну сторону.


Самое важное об 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. А там посмотрим)


Удачных алгоритмов!