buybackoff
buybackoff личный блог
15 декабря 2017, 23:45

QUIKSharp почти достиг 1.0, so what?

QUIKSharp - самый удобный и единственный действительно open-source коннектор к Квику — приближается к версии 1.0 и к трехлетию (OMFG, как быстро крипторынок растет время течет!). Правда 1.0-beta уже почти как полноценный 1.0.

Прошлое предновогоднее обновление  — благодаря Prophetic  — было очень продуктивным, закрыло важные для многих дыры, и добавило примеры. С тех пор мы допилили еще, а коннектором воспользовались приличное количество пользователей на ГитХабе, а также:
  • TSLab — спасибо, что добавили ссылку! Верю на слово, не скачивал после этого ;)
  • OsEngine — очень интересный проект. Виден серьезный подход к делу практикующими людьми. Спасибо за лучи поддержки, добрые слова в Readme (и за тот email, Alex)!
  • Liquid.Pro — идут по пути TSLab, игнорируют Apache 2.0 и не ставят ссылку, но все равно спасибо за подтверждение валидности решения!
  • Ряд других проектов, которые поленились отметиться тут.
За последние полгода-год не было серьезных сообщений об ошибках, абсолютное большинство не касалось QUIK#, а C# и Visual Studio (сейчас всё упаковано в формат VS2017/.NET Core чтобы быстро паковать в NuGet, VS2015 и ниже не будут работать — один из частых вопросов). Вероятно после добавления просьбы о том, какие issues стоит оставлять в репо, а какие на StackOverflow, вопросов к проекту почти не осталось, всё «работает из коробки».

За все три года остался огромный вопрос к ARQA Technologies — неужели так сложно сделать нативный быстрый JSON-RPC интерфейс!? В эпоху, когда Биткоин по $18k, Эфир по $700, и все работают через этот протокол, — это epic fail! Если работа над ним идет, то пожалуйста где-то напишите! Я не ленюсь периодически (после очередного сообщения о странной ошибке QUIK#) читать release notes, но там этого нигде нет.

Но раз уж такой велосипед на костылях пришлось сделать и он оказался многим нужным, то перед Новым Годом хотелось бы подарить подарки и получить немного подарков от текущих пользователей и тех, что еще не видел этот проект.

Подарки пользователям в новом году:

  • Хотите ли вы JSON-RPC с полным соответствием протоколу (что подразумевает паралелльных клиентов)? Тогда можно будет работать из любого языка, а быстрое и удобное C# решение останется снаружи как есть сейчас.
  • Хотите ли вы встроенное супер быстрое хранилище данных с мощной компрессией, интегрированное с QUIK#? Вмещает терабайты с random-access без падения скорости.
  • Хотите ли вы быстрый движок расчетов временных рядов в реальном времени, интегрированный с QUIK#? Тот самый, но сильно повзрослевший и ускорившийся еще в несколько раз. Мышкой кубики рисовать не получится, но гибкость максимальная. (Старый пример тривиальной стратегии для передачи смысла/духа тут).
  • Хотите ли вы true open source и адаптированные под местный рынок коннекторы FIX/FAST/TWIME/PLAZA (или наоборот, хотите ли, чтобы их не было в открытом доступе и за сколько ;) )? На самом деле на ГитХабе почти всё есть, только нужно докручивать (есть совсем профи вещи). Сложно упаковать так, чтобы работало из коробки и на всех платформах. А те, кому это действительно нужно — или сами умеют, или понимают, что надежность вполне стоит тех денег, за которые её можно купить уже готовую. Так что вопрос — неужели это кому-то может быть еще нужно, например с (A)GPL для всех, и за подарки в ответ на другую лицензию? (пока себе ответил, что нет)
  • Самое главное — хотите ли вы, чтобы ваши пожелания по проекту сбылись в новом году и попали в версию 1.0!? Если да — пожалуйста, оставьте свои комментарии тут и подробно расскажите, что вам не хватает от QUIK# в текущем виде, или какую боль создают другие коннекторы и не торопятся ее решать. Если вы не манипулировали рынком и клиентами в этом году — то Санта Клаус придет к вам с подарками в следующем! Но он должен знать, что дарить :)

Что могут подарить текущие и будущие пользователи, оставшись при своих и повысив шансы на подарки себе:

  • Пожалуйста, — пробуйте, тестируйте, оставляйте комментарии и issues. Последний пункт из подарков вам является не менее важным подарком нам!
  • Звездочки дают больше энергии завсегдатаям ГитХаба и апологетам open source сильнее, чем солнце дает энергию Амазонке через фотосинтез. Иногда за вечер пятницы/субботы можно захакать больше функционала, чем ленивые корпораты выкатывают за полгода-год (хотя бы в пересчете на человека). Проблема найти эти свободные вечера, но накопленные звездочки в репо копят мотивацию в голове, чтобы в один прекрасный weekend пофиксить и ускорить всё в несколько раз...
  • Pull requests — это ядерная энергия! Уже давно коллективных коммитов от смелых пользователей больше, чем моих, и проект уже давно общественный и жив и вырос благодаря этим прекрасным людям. Там особо нечего уже менять, но в случае чего — смело добавляйтесь в этот список и мы вас всячески поддержим!


С наступающим и всех благ!

Увидимся на каком-нибудь рынке, где есть стакан, и ГитХабе :)

29 Комментариев
  • Андрей К
    16 декабря 2017, 00:00
    позитивный пост =)
      • Андрей К
        16 декабря 2017, 00:12
        buybackoff, lua под wireshark. Не думал, что это кто то читает. Но вы уже второй серьезный разработчик, кто мне об этом пишет =)
        Парсер делал, чтобы дамп в удобном виде полистать и выгрузить в excel. В принципе на лету он тоже сможет, но у меня c++ для этого
          • Андрей К
            16 декабря 2017, 00:24
            buybackoff, без проблем, там ничего секретного нет. И сложного тем более. У wiresharka легкое API. Завтра скину ссылку, сейчас я уже дома.
          • Андрей К
            16 декабря 2017, 00:26
            buybackoff, twime кстати тоже этот скрипт парсит. Но он то еще проще.
              • Андрей К
                16 декабря 2017, 00:33
                buybackoff, у меня есть мнение, что биржа начала свое существование с Delphi программистов. Так как вакансии у них до сих пор есть для дельфийцев (возможно из за оракла). Да и если посмотреть на их первые разработки.
                Там идеология другая, мышление чуть другое, поэтому с твайма наверное никак не могло пойти. А придумали плазу. А фикс тупо купили у стороннего разраба.
      • Андрей К
        16 декабря 2017, 00:16
        buybackoff, 
        «парсить протоколы руками просто, если умеючи»

        кстати некоторый нужный fast от валютки, я давно уже в хексе читаю, глаз привык. Как в фильме Матрица =))
      • Sergey
        16 декабря 2017, 10:33
        buybackoff, напишу, почему я лично прошел мимо вашего проекта.

        Самые главные недостаток — он не живой. Вы его не развиваете, другие аналогично не горят желанием.

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

        Я не могу себе лично позволить развивать свою инфраструктуру, базируюсь на бесплатном ПО. Сегодня это ПО есть, а завтра автор удалит его из сети. Возиться с его не всегда хорошим кодом нет абсолютно ни малейшего желания.

        Желаю в новом году пересмотреть подход и сделать действительно востребованным ваш проект. Возможно, я вернусь.
          • Sergey
            16 декабря 2017, 16:14
            buybackoff, «В какую сторону развивать, если все работет?» видимо в эту https://github.com/finsight/QUIKSharp/issues

            «снова печалька, что в этой стране мало кто понимает» если под «этой стране» подразумевается Россия, то я не из России.

            «открытый код отличается от бесплатного ПО» почему вы решили что это не понимаю для меня загадка

            «Я не могу позволить развивать любые свои решения на закртытом коде» а ваши решения чем интересны? я писал о своих решениях

            «открытый код не может никуда деться» а чем он мне поможет? напишу я робота, и при следующего обновлении терминала QUIK он перестанет работать. Вы недоступны, ответить может через несколько дней (если ответите), а убытки я получаю в реальном времени. Ковыряться в чужом коде? А смысл? У меня время, например, сейчас стоит 200 евро в час. Зачем мне тратить на низкооплачиваемую работу свое время? Мне проще заплатить 50 евро в месяц, и быть уверенным, что по моему запросу будут отвечать.

            Мы говорим о торговых роботах. Программах, оперирующих деньгами. О финансовом мире. А не калькуляторах и прочих альтруистиках. Вы не трейдер, вам не понять, почему ваше решение не применимо к реальным торгам.

            Открытый код не решает никакой проблемы в финансах. Это популярное заблуждение. Важно не открытость или закрытость — важно поддерживается решение или нет. Кому платить и сколько, чтобы мне отвечали в течении разумного времени. Вот что действительно важно.
              • Sergey
                16 декабря 2017, 16:55
                buybackoff, «Очевидно вы не целевая аудитория проекта.» я алготрейдер, пишущий роботов на C#. Да, видимо я не ЦА.

                «имел в виду менталитет» мне не интересны подобные темы. Для этого есть другие сайты. Я предпочитаю оставаться профессионалом, и обсуждать только профессиональные темы.
  • Андрей К
    16 декабря 2017, 00:06
    Liquid.Pro — идут по пути TSLab, игнорируют Apache 2.0 и не ставят ссылку,
    у них возможно разработчик один и тот же. Мое личное предположение
    • ch5oh
      16 декабря 2017, 00:51
      Андрей К, очевидно, что другой. Но я передам.

      А что за «хранилище на терабайты данных»? Я таких только 2 знаю.
        • ch5oh
          18 декабря 2017, 10:26

          buybackoff, диски как раз у всех разные. Помню много лет тому покупал топовые SSD и ставил их в рейд, для снижения латентности из-за дисковой подсистемы.

           

          Ну, возможно, у меня однобокий взгляд. Меня интересуют только решения с качественной интеграцией к .NET.

          Полноценно такими можно считать Оракл и MsSQL (начиная с 2012-й версии).

          У других СУБД есть изъян серьёзный: они или очень быстрые, но без транзакционности. Или дают транзакционность, но становятся очень медленными.

          А Вы же понимаете, что живете в реальном мире: рано или поздно Вам перережут силовой кабель и СУБД ляжет аварийно. И если при этом есть риск потерять 2-5 терабайт накопленных рыночных данных — то СУБД без поддержки транзакционности и журналирования отпадают сразу.

            • ch5oh
              18 декабря 2017, 13:15

              buybackoff, докачать можно в лучшем случае текущий торговый день.

              А если, условно, «bad block» в куске данных месячной давности?

              В целом, как понял, решения на уровне: "Быстро, но никаких гарантий". Каждый выбирает для себя. В любом случае, если буду интересоваться этой темой еще раз, придется делать новый ресеч по свежим софтинкам. =)

               

  • Александр
    16 декабря 2017, 12:04
    1. Почему используете lua, а не lua api на си или делфи? Получается быстрее.
    2. Зачем использовать JSON — это все же текстовый формат? Может использовать какой-то двоичный формат типа protocol buffers от google?
  • VladMih
    16 декабря 2017, 12:10
    С наступающим и всех благ!
    Увидимся на каком-нибудь рынке, где есть стакан
    Новый год без стаканА невозможен. )
    Вас также с наступающим!
  • Prophetic
    16 декабря 2017, 13:33
    Про «супер быстрое хранилище данных» — хотелось бы узнать подробнее, о чем идет речь (то ли о чем я думаю, или что-то иное). У меня часто запущено одновременно 10-20 роботов по повторяющимся инструментам + 1 стратегия, работающая одновременно на 30+ бумагах. Для работы с таким количеством  данных, а также принимая во внимание особенности организации одновременной работы множества роботов под QUIK#, мне пришлось создать собственное хранилище данных, к которому и обращаются мои роботы вместо постоянных запросов к квику. Если Вы предлагаете некую альтернативу, то я бы на нее посмотрел.
    Что касается всего остального: как уже написал buybackoff, QUIK#, на сегодняшний день, это единственный полнофункциональный и полностью бесплатный коннектор к квику. И я рад, что смог внести свою лепту в развитие этого проекта. В моем видении, туда уже давно нечего добавлять. Последние изменения (багфиксы) были более 4-х месяцев назад, а расширение функционала еще раньше закончилось. Так что я обращаюсь к коллегам алготрейдерам (в том числе начинающим): QUIK# — это отличная возможность начать написание своих собственных роботов, на собственных условиях, без зависимости от разработчиков мультифункциональных продуктов.

    З.Ы.: Надо будет на досуге Os.Engine посмотреть. Вдруг и там «напакостить» получится. :)

    З.З.Ы.: Перечитал свой коммент, и показалось, что пишет товарищ, которому проплатили рекламу :).
    Это не так. Я проходимец, случайно нашедший для себя QUIK#, и теперь нещадно его эксплуатирующий. С наступающим всех!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн