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

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

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

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

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

Уже в работе
Описание Тип проекта Делает Взято в работу Дней в работе
Проблемы с коннектором OKX connector Баг Denisqa 14

В проекте и обсуждении
Описание Тип проекта Добавлен (кем)
Коннектор к брокеру Алор Расширение max.tmv Сделать
Реализовать сервер для приёма крашей приложения от пользователей Архитектура Алексей Ван Сделать
Кнопка создания дубликата бота Архитектура catm8 Сделать
Отступ графика от правой оси Расширение newst Сделать
Добавить доступ к фандингу (Funding Rate) бессрочных фьючерсов Расширение newst Сделать
Инструмент иногда подключается не с первого раза Баг newst Сделать
Не загружает стакан с Binance Баг igor_ekb Сделать
SmartCom connector - OsEngine зависает при нажатии Управление->Настройка данных Баг pbokoff Сделать
при одновременном использовании методов CloseAtStop и CloseAtProfit во всех сделках по стопу сохраняется сигнал последнего по коду метода Баг Konstb Сделать
Как проводить спотовую торговлю в OsEngine? Thomir Сделать
Удобство работы с легким интерфейсом Расширение soundchaser Сделать
Не видит счет срочного рынка moralx Сделать
Произвольнок иполнение ордера после перезагрузки. Баг Yuraskof Сделать
Потеря активных заявок после перезагрузки Баг Robin&Bobin Сделать
Получение состояния счета бинанс TorR Сделать
Глобальные настройки комиссии Расширение newst Сделать
Несколько областей отрисовки в одном индикаторе Расширение Kvg Сделать
Расчет и Отображение сделок на чарте в режиме эмуляции Баг Garik89 Сделать
Главное меню Баг сливала Сделать
правильное отображение прибыли при продаже и доборе позиции частями Расширение theankud Сделать
Не правильное отображение индикатора Parabolic Sar после закрытия и повторного открытия программы. Баг max.tmv Сделать
Журнал сделок Расширение lexsus_34 Сделать
Добавить возможность в Connectors Вкл/Выкл трансляции стакана. Расширение Konstb Сделать
Утечка памяти в скринерах Баг Robin&Bobin Сделать
Ошибка Журнала в Майнере Баг Michail_Rose3d Сделать
Быстрое удаление инструментов из индекса (BotTabIndex) Расширение newst Сделать
Добавить в OSEngine коннектор к Алор Брокер Расширение redmonk Сделать
добавить Вкл/Откл запрета на передачу больше N свечей в BotTabType.Index Расширение Konstb Сделать
Значение цены закрытия ClosePrice у позиции в обработчике успешного закрытия позиции Баг Garik89 Сделать
Кастомизация элементов на чарте Расширение Yuraskof Сделать
Плавающий NullReferenceException при запросе Кода класса (DDE) Баг newst Сделать
+

Завершенные проекты
Период
Описание Тип проекта Кто предложил Кто реализовал
Неточности в учете объемов в реал-тайм Баг newst Алексей Ван
Подключение сервера Тинькофф Баг deem1967 Denisqa
Сделать в OsData на главном экране вместо графика, таблицу Расширение Алексей Ван Алексей Ван
Динамическое обновление журнала в облегчённой версии интерфейсов Расширение Алексей Ван Алексей Ван
В OsData сделать новый поиск по таблице. Как в подключении бумаг. Расширение Алексей Ван Алексей Ван
Проблемы при удалении скринера если он в этот момент подключает инструменты Баг Алексей Ван Denisqa
Проверка трейдов по Ордеру со статусом Opening Расширение Алексей Ван Denisqa
В облегчённом интерфейсе тестера и бот станции добавить массовое закрытие позиций Расширение Алексей Ван Алексей Ван
Trnsaq Connector Нет отключения при нажатии кнопки "Отключить" Баг igor_ekb Denisqa
Окно параметров стратегии всплывающее у мышки Расширение Алексей Ван Алексей Ван
Окна подтверждения и окна настроек сделать всплывающими у указателя мыши Расширение Алексей Ван Алексей Ван
Сохранять расположение основных окон в приложении Расширение Алексей Ван Алексей Ван
При создании нового робота открытые индивидуальные окна роботов не прорисовывают элементы Баг Алексей Ван Алексей Ван
Сделать глобальные кнопки включения и выключения бота в облегчённой станции Расширение Алексей Ван Алексей Ван
AtrChannel. Встроенный индикатор глючит Баг Алексей Ван Алексей Ван
Сделать стандартный бегунок для OsEngine означающий что работа идёт Расширение Алексей Ван Алексей Ван
В оптимизаторе вызов окна робота и его тесты проводятся потоком окна Баг Алексей Ван Алексей Ван
После полной очистки журнала не происходит очищения файловой системы Баг Алексей Ван Алексей Ван
Журнал 2.0, глючит бегунок выбора времени отображения сделок Баг Алексей Ван newst
Input string was not in a correct format (OKX Connector) Баг Lexuz77 Lexuz77
Критическая ошибка Баг seus Алексей Ван
Ошибка при подключении к биржам (Тинькоф и Финам) Баг alx8787 Алексей Ван
после commit 317 правый край открывающихся окон меню находится вне дисплея Баг Konstb newst
Количество знаков после запятой в контракте фьючерса binanсe Баг TorR Lexuz77
Сохранение настроек индекса в Оптимизаторе Расширение newst Алексей Ван
Если окно появляется за пределами экрана, возвращать на рабочую область Расширение Алексей Ван Алексей Ван
ByBIt с проблемами в стакане Баг Алексей Ван Denisqa
Расчет комиссий в скринере Баг Garik89 Алексей Ван
В Майнере не работает статистика сделок. Баг Evgeny Алексей Ван
Падает Оптимизатор на арбитраже Баг newst Алексей Ван
Дедлок при отзыве ордеров. Баг Denisqa Denisqa
Не работают слайдеры в Журнале 2.0 Баг newst newst
Не стартует визуальный Light интерфейс роботов. Баг Robin&Bobin Robin&Bobin
ws4net:supersocket.client engine.error eventards TorR Lexuz77
Добавить возможность использовать чекбоксы в параметрах стратегии Расширение Yuraskof Yuraskof
перестает открываться окно журнала Баг theankud Denisqa
Баг при отrрытии OsEngine в свернутом состоянии Баг Nikolas Denisqa
Исправить информацию по минимальному объему торгов по активу на Binance Futures Баг Yuraskof Yuraskof
Добавить окно Баг Алексей Ван Denisqa
При блокировке файла лога системой, не отключается поток сохранения данных Баг Алексей Ван Алексей Ван
Исполнение маркет ордеров в режиме эмулятора Баг Yuraskof Yuraskof
OsData 2. Доработки Расширение Алексей Ван Алексей Ван
Ошибка автостарта скринера Баг Алексей Ван avp
баг в роботе ParabolicSarClassicTrade Баг gendolf Алексей Ван
Получение тиковых данных с бинанс TorR Алексей Ван

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

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

3 0 1

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

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

3 0 1

@AVPTelegram 1 0 0

5 0 0

1 0 0

3 0 0

1 0 0

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

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

1 0 0

7 0 2

@deem1967 1 0 0

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

3 0 1

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

4 0 1

1 0 0

@AVPTelegram 1 0 0

3 0 0

1 0 0

1 0 0

1 0 0

1 0 0

1 0 0

1 0 1

1 0 0

0 0 1

1 0 0

1 0 0

1 0 0

1 0 0

1 0 0

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


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