rusalgo.com
rusalgo.com Блог компании StockSharp
01 октября 2011, 13:33

Stock#

Что?
Stock# — бесплатная программная библиотека для создания торговых роботов на .NET (язык C#), аналитических программ и МТС.
Для чего?
Stock# позволяет автоматизировать работу торговли, создавать абсолютно любые стратегии: от быстрых скальперских до продолжительных позиционных.
Удобная библиотека для написания аналитических программ, индикаторов или советников.
Чем лучше?
    1. Независимая от торговых систем. Робот под одну торговую систему с минимальными изменениями переносится на другую (торговые роботы для Quik, SmartCOM, Plaza, AlfaDirect).
    2. Это библиотека, а не программа. Она не накладывает никаких ограничений.
    3. Возможность перенести робота на прямое подключение к шлюзу, не меняя логику.
    4. Быстрая обработка стратегий. Нет синтетических секундных задержек при работе.
  1. Запуск одновременно сотен стратегий по любым инструментам и тайм-фреймам.
  2. Возможность реализации скальперских стратегий, с тайм-фреймом менее секунды.
  3. Абсолютно бесплатная.
 Торговые роботы
40 Комментариев
  • vfreeman
    01 октября 2011, 14:35
    сколько времени потребуется разработчику, владеющему на приличном уровне C#, чтобы изучить документацию и НАЧАТЬ РЕАЛИЗОВЫВАТЬ алгоритм на базе Stock#?
    допустим, примера на основе скользящей средней будет совершенно недостаточно для понимания возможностей.
    к сожалению, пропал интерес в районе 3.1.9 — создалось впечатление что проект перешел в стадию «программирование ради программирования»
    • Wisard
      01 октября 2011, 16:28
      vfreeman, это точно
  • Spekyl
    01 октября 2011, 14:35
    Я тупой — библиотека на вижл бейзике не работает?
    • vfreeman
      01 октября 2011, 14:40
      я юзал из VB — юзать получилось :)
      • Spekyl
        01 октября 2011, 14:44
        vfreeman, а как? Надо все скомпилить в ддл и к ним обращаться? Или какой-то более простой способ есть?
        • vfreeman
          01 октября 2011, 14:53
          Spekyl, попробуй задать подобный вопрос на форуме :) несколько месяцев назад такие вопросы (как и многие другие) оставались без ответа. а если серьезно — скачиваешь s#, подключаешь к проекту и приступай к изучению доки и просмотру примеров. для перевода кода из c# в vb# я пользовался www.developerfusion.com/tools/convert/csharp-to-vb/
            • vfreeman
              01 октября 2011, 17:55
              Горбунов Алексей, я постарался акцентировать внимание именно на период «несколько месяцев», когда мне это было интересно и я активно изучал s#. один вопрос, который остался без ответа — поставил меня в тупик, а тратить время на то, чтоб разбираться с черными ящиками я не захотел.
              чтобы не быть голословным — поднял исходники и вспомнил проблему. задача — получить текущую позицию по инструменту. что может спросите вы? еще бы! есть несколько способов:

              Me.PositionManager.Position
              Me.Trader.GetPosition(Portfolio, Security).CurrentValue
              Me.Portfolio.GetPosition()

              проблема только в том, что в один и тот же момент времени я получал разные значения с помощью этих методов
              тогда не нашлось того, кто бы пояснил
              • Сергей Масюра
                01 октября 2011, 18:09
                vfreeman,

                PositionManager возвращает позицию по данной бумаге у текущей стратегии. Было несколько фиксов по рассчету позиции у стратегии.

                Trader.GetPosition(Portfolio, Security).CurrentValue — позиция по данному инструменту в текущем портфеле для всего шлюза

                Portfolio.GetPosition() — сумма всех позиций по всем инструментам… чтобы видет куда направлен портфель.

                Так что разные значения вполне нормально )
                • vfreeman
                  01 октября 2011, 18:18
                  Sergey Masyura, еще бы не нормально!-) особенно когда одна стратегия и один портфель :)
                  • Mikhail Sukhov
                    01 октября 2011, 20:40
                    vfreeman, сарказм тут ни к чему. Одно рассчитывается нами, другое ТС (подозреваю, что Квик). Если есть претензии к нашим расчетам, пишите на форум, будет обсуждать. Если претензии позиции, транслируемой из ТС, пишите на сайт создателя. Мы ошибки чужие систем не фиксим.
                    • vfreeman
                      01 октября 2011, 20:56
                      Mikhail Sukhov, сарказма нет. _претензий_ к расчетам тоже. разбираться с ошибками чужих систем не призывал. у меня есть библиотека s#. есть методы для доступа к открытым позициям — выше привел варианты. один портфель, одна стратегия. позиции открываются из стратегии. возвращаются разные значения. вопрос задавал на форуме — какой вариант использовать? ответа не получил. после меня задавали аналогичный вопрос.
                      • Mikhail Sukhov
                        01 октября 2011, 21:14
                        vfreeman, давайте еще раз продублирую свое сообщение. «Если есть претензии к нашим расчетам, пишите на форум, будет обсуждать. Если претензии позиции, транслируемой из ТС, пишите на сайт создателя.». Где неправильно, на тот форум и пишите.
          • Mikhail Sukhov
            01 октября 2011, 20:37
            vfreeman,

            >> несколько месяцев назад такие вопросы (как и многие другие)

            Не поленился найти ваш аккаунт и сделал поиск по сообщениям

            stocksharp.com/forum/yaf_search.aspx?postedby=vfreeman#0|5

            Какие вопросы остались без ответов? Везде идет дискуссия. Мы стараемся отвечать на все вопросы о S#, ошибках и т.д. В России нет даже близкого аналога такой техподдержки как у нас.

            Но у нас есть четкая политика. Вопросы по C# и технологиям программирования пользователи должны задавать на соответствующих ресурсах (rsdn gotdotnet и куча всего другого). Наш ресурс и наш форум — это только S#. Почему пользователи ленятся и не хотят ходить на программерские форумы, чтобы там задавать вопросы по языку — вопрос остается открытым.

            При этом, мы не запрещаем писать вопросы не о S# на наш форум. Будем ли лично мы отвечать — возможно. Но есть и другие пользователи? Почему они не отвечают? Вот этот вопрос как раз лично к вам.

            И да, мы отвечаем на вопросы по C# нашим слушателям курсов (кто отучился по программе stocksharp.com/lesson/ ). Они имеют доступ в закрытый раздел (хотя на самом деле все происходит через скайп, т.к. удобнее). Вы такой слушатель?
            • vfreeman
              01 октября 2011, 21:17
              Mikhail Sukhov, >>Какие вопросы остались без ответов?
              а я не поленился найти один из моих вопросов, к нему же присоединился еще один разработчик:

              www.stocksharp.com/forum/yaf_postst843_Izmienieniie-pozitsii.aspx
              • Mikhail Sukhov
                01 октября 2011, 21:35
                vfreeman, в своем сообщении вы спросили, если ли проще способ. Никто не ответил. Значит проще способа нет. И да, последующий вопрос от другого пользователя из-за того, что не читают сообщения. «События вызываются всегда, когда Квик через ДДЕ посылает обновление таблицы с позициями. А происходит это не только тогда, когда происходит сделка. В этой таблице есть и поля, которые изменяются постоянно.»

                Что нам делать с лентяями? Банить? =)
            • vfreeman
              01 октября 2011, 21:31
              Mikhail Sukhov, >> Но есть и другие пользователи? Почему они не отвечают? Вот этот вопрос как раз лично к вам.

              www.stocksharp.com/forum/yaf_postst870_Kak-pierieviernut--stakan.aspx

              и еще несколько ответов тем, кто сталкивался с проблемами, которые у меня возникали
              • Mikhail Sukhov
                01 октября 2011, 21:36
                vfreeman, вы мои сообщения даже на СЛ не хотите читать =)

                «Но у нас есть четкая политика. Вопросы по C# и технологиям программирования пользователи должны задавать на соответствующих ресурсах (rsdn gotdotnet и куча всего другого). Наш ресурс и наш форум — это только S#. Почему пользователи ленятся и не хотят ходить на программерские форумы, чтобы там задавать вопросы по языку — вопрос остается открытым.»
                • vfreeman
                  01 октября 2011, 22:02
                  Mikhail Sukhov, попробуйте прокомментировать мое первое сообщение к этому посту хоть оно и адресовано не к вам
                  • Mikhail Sukhov
                    01 октября 2011, 22:11
                    vfreeman, там написана личная точка зрения. неправильная с моей личной точки зрения. смысл в комменте?
  • vfreeman
    01 октября 2011, 14:46
    кста, не поленился зайти на сайт — 5 дней назад вышла новая версия. смотрим описание:

    «Изменений в 3.2 было очень много и многие из них были кардинальные, поэтому приняли решение переименовать ветку в 4.0»

    «Некоторые старые правила (из StrategyRuleConditionHelper) получили свои новые, правильные, имена.
    Будьте внимательны если используете стандартные правила! Сверьтесь вначале с документацией!»

    скачивать новую версию s# (потому что в ней были баги!) и переписывать стратегию, которая более менее работала на предыдущей версии, и… приступать к тестированию новой версии s#?
    • Александр М
      01 октября 2011, 15:35
      vfreeman, для меня в 4.0 основная фишка — отключение скачивания ненужных бумаг с РТС. а вообще — никто же не заставляет, пишите свое с нуля. переходить на S# действительно нелегко, даже профессиональным программистам.
      • Сергей Масюра
        01 октября 2011, 16:08
        Александр Малофеев, В случае необходимости разработки под плазу, гораздо проще потратить неделю на изучение сток шарпа, чем год на изучение Plaza API. Да и тем, кто только начинает изучать программирование библиотека намного упрощает путь в жизнь.

        Профессиональным программистам разобраться во всех изменениях сложно, это так, даже имея доступ к исходному коду и всем коммитам :)
    • Александр Муханчиков
      01 октября 2011, 15:52
      vfreeman, ну а какие варианты ещё, если мы там изменений много внесли. и многие из них важные.
      вы посмотрите за бетами как они шли — что там было добавлено.

      4.0 от 3.1 отличается кардинально. тестирование всё с нуля фактически написано. плаза переработана.
      • vfreeman
        01 октября 2011, 17:36
        Александр Муханчиков, я ничего не имею против проекта — высказал свое мнение, как один из тех, кто пытался в течение нескольких месяцев разобраться с продуктом.
    • Сергей Масюра
      01 октября 2011, 16:05
      vfreeman, можно считать 4.0.1 окончательной версий. Дальнейших изменений в библиотеке не планируется за исключением минорных фиксов по баг репортам с форума.
      • vfreeman
        01 октября 2011, 17:40
        Sergey Masyura, скажу тебе как программист — почти каждую версию, того что разрабатывал/разрабатываю считаю финальной :)
        • Сергей Масюра
          01 октября 2011, 18:11
          vfreeman, отвечу тебе как программист — они существуют :)
  • Вадим
    01 октября 2011, 16:12
    Вот так выглядит мой бот на Stock#. Я до сих пор использую Stock# 3.0 )))
    • vfreeman
      01 октября 2011, 17:42
      Вадим, у меня осталось несколько незаконченных разработок на 3.1.9
      • Вадим
        01 октября 2011, 17:52
        vfreeman, перешел на что-то другое или вообще бросил роботов программировать? Если стратегия не сложная, на таймфреймах, то можно и без программирования обойтись, например, использовать TradeMatic.
        • vfreeman
          01 октября 2011, 17:58
          Вадим, роботов не бросил программировать :) на одну из идей нанимал разработчика на s# — это оказалось намного проще чем изучать. а так QPILE рулит :)))))
          что такое TradeMatic не знаю, но сейчас посмотрю :)
          • Сергей Масюра
            01 октября 2011, 18:12
            vfreeman, на qpile к бирже напрямую не подключишься, так что его применение и сложность рассчетов весьма ограничены.
            • vfreeman
              01 октября 2011, 18:20
              Sergey Masyura, это все понятно — зато все просто как тапки. про ограничения qpile я знаю много :) может даже не все :)))
                • vfreeman
                  01 октября 2011, 19:34
                  Горбунов Алексей, так пару лет ковыряю уже :)))
  • Вадим
    01 октября 2011, 18:46
    Супер. Вообще интересно скриншоты посмотреть, а то все знают, что роботы существуют, но почти никто их не видел)))

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

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