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

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

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

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

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

Уже в работе
Описание Тип проекта Делает Взято в работу Дней в работе

В проекте и обсуждении
Описание Тип проекта Добавлен (кем)
Отступ графика от правой оси Расширение newst Сделать
Добавить доступ к фандингу (Funding Rate) бессрочных фьючерсов Расширение newst Сделать
Инструмент иногда подключается не с первого раза Баг newst Сделать
SmartCom connector - OsEngine зависает при нажатии Управление->Настройка данных Баг pbokoff Сделать
Не видит счет срочного рынка moralx Сделать
правильное отображение прибыли при продаже и доборе позиции частями Расширение theankud Сделать
Журнал сделок Расширение lexsus_34 Сделать
добавить Вкл/Откл запрета на передачу больше N свечей в BotTabType.Index Расширение Konstb Сделать
Значение цены закрытия ClosePrice у позиции в обработчике успешного закрытия позиции Баг Garik89 Сделать
добавить пункт модифицировать позицию в ручном варианте закрытия позиции Расширение theankud Сделать
Transaq коннектор генерится исключение при оставлении включенного коннектора через ночь Баг pbokoff Сделать
Вынести в сохранение настроек системы источник данных Журналов: ComboBoxChartType.SelectedItem = "Absolute" / "Persent" Расширение catm8 Сделать
Событие CandleFinishedEvent на свечках Simple в реальной торговле. Баг noy1333 Сделать
В Bots.Light вынести кнопку ЖУРНАЛ из ЧАРТ/УПРАВЛЕНИЕ/ЖУРНАЛ в табличную часть Расширение catm8 Сделать
Отрисовка уровней поддержки и сопротивления на графике jabich Сделать
новый робот SmaWithAShift Баг lexsus_34 Сделать
Удаление ненужных уровней (LineHorisontal) с графика jabich Сделать
Оптимизатор не учитывает не закрывшиеся сделки Баг gendolf Сделать
Ошибки в открытии позиции Баг Victorrrr54 Сделать
Мелкий баг Баг tlqm Сделать
+

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

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

https://t.me/alex_wang_osengine 53 0 30

3 0 1

https://t.me/Denis_skugar 12 0 3

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

3 0 1

@AVPTelegram 2 0 0

5 0 0

1 0 0

3 0 2

1 0 0

1 0 0

1 0 0

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

https://t.me/alex_wang_osengine 24 0 27

2 0 0

9 0 2

@deem1967 1 0 0

https://t.me/Denis_skugar 3 0 0

3 0 1

https://t.me/colexar 3 0 0

0 0 1

4 0 2

1 0 0

1 0 0

@AVPTelegram 2 0 0

1 0 0

5 0 0

1 0 0

1 0 0

1 0 0

2 0 1

1 0 0

1 0 2

1 0 0

0 0 1

1 0 0

1 0 0

0 0 1

4 0 0

1 0 0

2 0 0

1 0 0

1 0 0

3 0 0

1 0 0

1 0 0

1 0 0

2 0 0

0 0 0

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. А там посмотрим)


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