Работаю на удалёнке до того как это стало модно, разрабатывал прототип валюты государства, основанной на форке Litecoin, с плавающим
количеством общего количества валюты, которая зависит от данных WorldBank, в 2012 году, проходил курс Andrew Ng по ML на Coursera в одной из первых версий, слежу за развитием за Avalonia с альфы и сейчас изучаю АврораОС.
Работал над двумя проектами из AvaloniaUI Showcase - Lunacy и Emu, в качестве техлида, а так же и не из этого списка (Lazymerch, Xcalscan and etc.)
BuildAlpha - это Windows приложение для создания, backtesting и
экспорта стратегий в различные торговые системы (NinjaTrader,
MetaTrader, TradingView, Python).
Моей основной задачей является
создание дополнительного функционала, основанного на ML. Так же
подключение новых брокеров данных (Binance, Kraken, Kucoin,
TradeStation, Interactive Brokers TWS). Ну и конечно рефакторинг и свод
разрозненных частей в единую архитектуру.
Размер команды - 1 руководитель, 4 программиста
Стек:
1. .NET Framework 4.7.2
2. С#
3. WPF UI(XAML+DevExpress+SciChart)
4. Business Logic(DevExpress.MVVM+DryIoc)
5. C++ (модуль генерации и проверки стратегий).
Наиболее интересные решённые задачи:
Перевёл и переписал систему, вывода и работы с графиками, с
DevExpress.Charts на SciChart, что ускорило работу приложения и
позволило сделать гибкой и простой, для доработки и использования,
систему графиков
2. Подключил и настроил работу с брокерами Binance,
Kraken, Kucoin, TradeStation и Interactive Brokers TWS. А так же
систематизировал работу с брокерами и свёл её в единую систему.
3. Внедрил систему платных дополнений, используя DispatchProxy (частино
переписал код, что бы он работал под .net framework 4.7.2), одним из
которых был модуль внутренней базы данных (PostgreSQL) с данными по
symbol/ticker
4. Создал white-label приложение, основанное на основнов приложении и backend (ASP.NET Core + EntityFramework + PostgreSQL)
5. Внедрил гибкий редактор фильторв для генерируемых стратегий используя DevExpress.FilterEditor, Reflections и dnSpy
6. Создал и развиваю PineScript to C# конвертер, который основан на ANTLR
7. Реализовал ML дополнение (RandomForest + внутренняя библиотека
сигналов) для расчетов и визуализации (диаграммы результатов работы
алгоритма) Probability of Profit, используя описание аналога.
8. Реализовал подборку групп стратегий основанный генетическом алгоритме
используя библиотеку GeneticSharp, с выбором минимального и
максимального количества "генов", а так же оптимизируемой функции и
максимально допустимой корреляцией.
9. Различные маркетинговые мини приложения для привлечения клиентов
Изначально, Lunacy - это аналог Figma под Windows c поддержкой файлов для Sketch, написанный с ипользованием WPF, XAML, SkiaSharp.
В мои задачи входил перенос интерфейса приложения под Windows, написанного на WPF на Avalonia, для работы под MacOS и Linux. Так же, я создавал систему CI/CD дли Lunacy.
Размер команды - 1 руководитель, 3 программиста, 3 теститровщика, 1 дизайнер, 1 технический писатель
Процессы:
1. Jira, Confluence
2. Scrum
3. Git
Основные решённые задачи:
1. Альфа версия Lunacy под Linux и MacOS
2. Гайдлайны для дальнейшей разработки приложения на Avalonia
3. Система CI/CD на Bitbucket Pipelines для автоматизирование создания установщиков
Применёные навыки:
1. C#
2. WPF
3. XAML
4. Avalonia
5. Docker
6. Bitbucket Pipelines
7. Автоматизирование создания установщиков
8. SkiaSharp
Использую для реализации такие вещи, как C#+WPF+XAML+MvvmLight или C#+Avalonia+XAML или C#+Xamarin+MvvmCross.
Из интересных проектов, в которых я принимал участие как ведущий программист, можно выделить:
Начало работы по профилю совпало с началом работы во фрилансе. Ничего интересного и запоминающегося выделить не могу.
Учавствовал в конференциях со студенческим проектом, получал награды, подрабатывал в конструкторском бюро и зачем-то и почему-то получил красный диплом.