rss

Профиль компании

Блог компании OsEngine

Стандарты кода #8. JSON объекты и конвертация данных из них. Коннекторы для OsEngine #29.

В большинстве коннекторов OsEngine используется конвертация потоковых данных из JSON объектов. Поговорим о том, как правильно и не правильно поступать при их использовании.

Стандарты кода #8.  JSON объекты и конвертация данных из них. Коннекторы для OsEngine #29.

Библиотека для JSON.

Newtonsoft.Json

Именно эту библиотеку желательно использовать. Никакого смысла плодить в проекте множество преобразователей сообщений в JSON классы нет.

И на сегодняшний день можно говорить о том, что было бы не плохо, если бы она в итоге осталась единственной в нашем проекте для этих целей.

 

JSON объекты по коннектору должны лежать в папке Entity (Json) этого коннектора.



( Читать дальше )

ALOR Open API. + 174 бесплатных робота к нему с открытым кодом. Тренд, Арбитраж, Пары, Треугольники, Скринеры, Горизонтальные объёмы.

Камрады! Коннектор к ALOR OPEN API добавлен к OsEngine около трёх недель назад. Бета тесты завершены. Пора торговать!

ALOR Open API. + 174 бесплатных робота к нему с открытым кодом. Тренд, Арбитраж, Пары, Треугольники, Скринеры, Горизонтальные объёмы.

Из хорошего.

1) Это очень классный коннектор в плане стека. Как крипта. Rest + web sockets. Это современно, это общепринятые стандарты, которые на сотнях бирж существуют. Короче — огонь.

2) Быстрый. Пока в глюках не замечен, только если палкой не тыкаешь.

3) Единственный пока в своём роде на MOEX. Лучшее, что есть из бесплатного. Им мог стать Тиньков Апи первой версии. Но там камрады стек трейдинговый не знали, кто его делал. А вторая команда разработчиков стек технологический изменила в худшую сторону.

4) Сообщения об ошибках при запросах прекрасны. И цифры, и текст. Очень редко, где такое. Спасибо. Это ускорило разработку. Отдельный привет команде за это. Красавчики.

 

Из не оч. Крутого.

Три различных типа времени приходит из шлюзов. Это супер странно. Вообще нигде такого не видел. Поэтому ставим на ПК МОСКОВСКОЕ ВРЕМЯ, иначе могут быть различные странности.



( Читать дальше )

ConnectorCandles 2. Обзор регионов. Коннекторы к OsEngine #28

Продолжаем разговаривать про класс, предоставляющий данные для источников в OsEngine. А именно про класс ConnectorCandles. И в данной статье поговорим о его коде. Что там есть.
ConnectorCandles 2. Обзор регионов. Коннекторы к OsEngine #28

Сам класс находится в проекте вот здесь:



( Читать дальше )

OsEngine изменения. 2100 – 2139

Изменения, баг-фиксы и улучшения, которые были внесены в проект за последний месяц.

OsEngine изменения. 2100 – 2139

 

User friendly апгрейды.

  1. Рулетка для чарта. Теперь можно выделить определённую область и посмотреть движение. Делал и принимает благодарности: https://github.com/avpork

              

Расширения / изменения функционала.

  1. ALOR Open Api. Реализация коннектора + несколько фиксов во время бета тестов. Помогала https://github.com/tashik, за что ей огромное спасибо!
  2. Gate IO. Коннектор полностью обновлён. Переписан с нуля.

Баг-фиксы.

  1. BitGet. Правки сборки исторических свечек. Правки реконнекта.
  2. BotTabPolygon. Фиксы автосборки последовательностей для треугольных арбитражей при наличии разделителя в названии бумаг.
  3. Хранилище трейдов. Фикс трудноуловимого бага. Лучи поддержки камраду: https://github.com/AlexKag
  4. Фикс прорисовки профита в журнале.
  5. Huobi. Фикс переподключения.
  6. BitMex. Фикс сборки стаканов. Делал: https://github.com/Ghost-mo Благодарим!


( Читать дальше )

Стандарты кода #7. Циклы и LINQ. Коннекторы для OsEngine #27.

Стандарты кода #7.  Циклы и LINQ. Коннекторы для OsEngine #27.
В данной статье поговорим об использовании циклов. Какие нужны, а какие смогут уронить наш замечательный терминал. Кроме того, поговорим о синтаксическом сахаре из библиотеки LINQ, которая, как не сложно догадаться по динамике этих записей, тоже под запретом. Почему и как?



( Читать дальше )

ConnectorCandles #1. Назначение, использование в проекте. Коннекторы к OsEngine #26

ConnectorCandles #1. Назначение, использование в проекте. Коннекторы к OsEngine #26
Продолжаем разбираться со слоями в OsEngine. И впереди у нас три статьи про класс ConnectorCandles.
Смотрим на картинку:



( Читать дальше )

Индикатор Sma (Simple Moving Average) и бесплатные роботы на нём.

Сегодня рассмотрим историю появления индикатора Sma.

Также к данной статье будут прикреплены готовые скрипты роботов на этом индикаторе с возможностью торговать на нашей платформе OsEngine.

Индикатор Sma (Simple Moving Average) и бесплатные роботы на нём.

Оглавление.

1.      История появления индикатора Sma.

2.      Как проводятся расчеты индикатора Sma.

3.      Какие сигналы может подавать индикатор Sma?

4.      Роботы для OsEngine на индикаторе Sma.

4.1.   Стратегия на пересечение цены и линии индикатора Sma.

4.2.   Пересечение двух индикаторов Sma.

4.3.   Пересечение трех индикаторов Sma.

4.4.   Стратегия основанная на индикаторе Sma и Sma со сдвигом.

4.5.   Стратегия основанная на пяти индикаторах Sma.

5.      Таблица общих результатов.

 

1. История появления индикатора Sma.

История возникновения индикатора SMA связана с развитием технического анализа на фондовых рынках.



( Читать дальше )

Осиное гнездо. Спецпредложение от АЛОР БРОКЕР для нашего сообщества.

Брокер ALOR запускает акцию для сообщества Old School Algo. Для тех, кто будет переходить от другого брокера или открывать счета в АЛОР по нашей ссылке. В этом посте поговорим о том, что это и как это работает.
Осиное гнездо. Спецпредложение от АЛОР БРОКЕР для нашего сообщества.

1. Условия.

Фондовый рынок МБ.



( Читать дальше )

Пробила Россия мне два колеса.

Пробила Россия мне два колеса.

На неё обижаться не стану!

Открываю Авито. Звоню, красота!

В выездной шиномонтаж, Богдану.

 

Пуховик до пояса в грязище весь.

Ржу. Дым пускаю в звёздное небо!

Хорошо, что Россия будущего ЗДЕСЬ!

И хорошо, что в либеральной ты не был!


Был в командировке, запускал роботов для заказчика в Москве. Проект сдал, нефтяники довольны. Будем дальше удалённо поддерживать товарищей. Но не об этом сейчас.
Ездил на машине. Так вот


Возвращался из Москвы в Васюринскую. Пробил две покрышки вчера ночью...


Пробила Россия мне два колеса.


Просто кусками разлетелись в разные стороны...


Чуть не запаниковал. ОДНАКО!

1) Через 5ть минут подъехала ДПС. Узнать, что случилось.
2) Через 15 минут выездной шиномонтаж был на месте.
3) Через 30 минут дорожные рабочие латали дырку на дороге.
4) Через полтора часа я ехал дальше с полным осознанием, что живу в прекрасной стране. Чуть не прослезился.



Unreal.

Цените то, что у нас есть. Как я понимаю, у города Шахты сразу после победы демократических сил году в 90 — 99, меня бы сбросили в кювет с ножом под ребром, а на машине уже сегодня ездил какой-нибудь поборник демократии, голосовавший за Ельцина. Ельф, так сказать, наказавший Москаля, ехавшего на юг. Навальнёнок по нашим временам. Хорошо, что это всё в прошлом. А такую Россию надо беречь, которую я видел вчера ночью.



( Читать дальше )

Стандарты кода #6. Многопоточность. Task, Asуnc. Коннекторы для OsEngine #25.

OsEngine невозможно ускорить многопоточностью в коннекторе. 98% всех задержек находятся в самих роботах. И от того, как их пишут пользователи, зависит скорость работы программы.

Стандарты кода #6. Многопоточность. Task, Asуnc. Коннекторы для OsEngine #25.

Так было не всегда… Были времена, когда казалось, что это не так. Но годы шли, OsEngine шлифовался и ускорялся. С модификацией Aserver, журналов и прочего всё больше становилось очевидно, что задержки именно в роботах.

На сегодняшний момент, даже подписка на 200 или 400 бумаг не ложат стандартную поточную архитектуру сервера, предложенную ниже.

Поэтому делаем, как тут написано. Время экспериментов закончено.

 

 

Один коннектор – оптимально два потока.

 

Полный и достаточный список потоков, которые могут и должны быть в любом сервере:

  1. Проверка жизни Вёбсокета. Это поток номер один. Если есть вёбСокет, данный поток должен быть в обязательном порядке.
  2. Конвертер сообщений. Поток номер два. В бесконечном цикле занимается разбором входящих сообщений от биржи/брокера.

Никакие другие потоки создавать не нужно. Только если этого требует само АПИ. Плюс, это должен быть THREAD, а не Task.



( Читать дальше )

....все тэги
UPDONW
Новый дизайн