Дмитрий Власов
Дмитрий Власов личный блог
11 мая 2012, 17:56

Русская инструкция по программированию торговых стратегий в программе Wealth-Lab 6.3 (WealthScript, C#)

Уважаемые читатели Smart-Lab. Здесь собралось трейдерское сообщество и приверженцы разных стилей торговли. Сегодняшний пост будет интересен тем, кто торгует системно и использует для построения и тестирования торговых стратегий программу Wealth-Lab.

Многие из Вас пользуются этой программой (как по официальной лицензии, так и всякими левыми способами), однако полноценной инструкции по программированию стратегий в велсе на русском языке с помощью C# и WealthScript — не существует. Во всяком случае мне найти не удалось.

Русская инструкция по программированию торговых стратегий в программе Wealth-Lab 6.3 (WealthScript, C#)

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

Чтобы не было путаницы, скажу, что есть русский перевод WlNetUserGuide — этот перевод можно было получить на сайте Цериха после предварительного запроса и оставления своих данных.

Однако сейчас, после того, как Церих перестал предоставлять своим клиентом брокер адаптер для Велс Лаба и после ухода оттуда Арсена Яковлева не знаю — предоставляют ли они эту инструкцию.

Да и инструкция эта (WlNetUserGuide) просто рассказывает о программе, она предназначена для общего знакомства с программой, а не для тех, кто хочет сам программировать стратегии на C#.

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

Сразу скажу, для чего это делаю:

Во-первых, в последнее время я усиленно изучаю английский язык. А учить язык всегда легче, если применяешь его для того, что тебе действительно интересно. В моем случае, это без сомнения трейдинг и торговые стратегии.
 
Во-вторых, я изучаю еще один язык — язык программирования C#. А весь код для программирования стратегий в программе ВелсЛаб как раз приходится писать на этом языке программирования.

В-третьих, надеюсь эта инструкция будет полезной для Вас — ведь многие хотят строить и тестировать собственные торговые стратегии, но не владеют английским языком.

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

Уже переведенные части инструкции по программированию торговых стратегий в Велс Лаб я выкладываю на своем блоге в этом разделе: finlabportal.ru/category/wealthscript/ 
Тем, кто хочет своевременно получать новые статьи с переводом инструкции по программированию торговых стратегий в Велс Лаб — можете воспользоваться RSS-подпиской.


Не знаю, нужно ли будет дублировать эту информацию здесь — на СмартЛабе, либо ограничиваться анонсами при переводе некоторого количества новых глав.

В общем, кому интересна эта затея — отпишитесь и заходите в гости. 
47 Комментариев
  • Евгений
    11 мая 2012, 18:00
    Если знать C#, то разобраться с Велсом — пару дней делов без каких либо инструкций. Если не знать C#, то эта инструкция не поможет.
    • Евгений
      11 мая 2012, 18:00
      reist, плюсанул топик, так как старания все ровно должны быть оценены.
    • Werner Heisenberg
      11 мая 2012, 18:08
      reist, минус за «инструкция не поможет»
      • Евгений
        11 мая 2012, 19:25
        Dimanite, знания C# — это не просто знание ключевых слов, а понимание структуры работы программ. Тут не бывает инструкций. Есть только длительное и кропотливое изучение программирования.
  • jtrade
    11 мая 2012, 18:42
    Однозначно да инструкции! Перевод желательно дословный конечно…
      • jtrade
        11 мая 2012, 19:15
        Дмитрий Власов, да конечно, то что надо!!!
  • w5346c
    11 мая 2012, 19:18
    Программист без знания английского, достаточного для прочтения подобных инструкций — нонсенс. Считаю вашу работу бесполезной. К тому же английский намного лучше подходит для восприятия таких инструкций.
      • Creed
        11 мая 2012, 21:46
        Дмитрий Власов, Заранее спасибо за труд.
  • w5346c
    11 мая 2012, 19:19
    *** Во-первых, в последнее время я усиленно изучаю английский язык ***

    Перевод технической литературы для целей изучения языка — это худший способ изучения языка.
      • jtrade
        11 мая 2012, 19:30
        Дмитрий Власов, Вы не могли поделиться с тем, как писать код стратегии в Visual Studio? (или это отсюда www2.wealth-lab.com/WIKI/kbAskGlitchDebug.ashx?)
          • jtrade
            11 мая 2012, 19:44
            Дмитрий Власов, Спасибо! Сохранил)
    • Андреев Андрей
      11 мая 2012, 19:38
      w5346c, к чему этот снобизм! По первому образованию программист, и мне просто все это дается. У программеров странная психология — ясно, что пока САМ не начнешь писать ничего не получится, хоть обчитайсяи обсмотрись чужого кода. Люди часто комплексуют и боятся задачи кодинга — и им надо помогать вот такими инструкциями с разжовыванием конкретных примеров для решения конкретной задачи. Некоторые талантливые управляющие не умеющие программить чисто психологически бояться взяться за этот труд, и тут достаточно небольшого пинка в виде порстой и понятной инструкции, самый минимум. Чего-то я повторяюсь )))
      • w5346c
        11 мая 2012, 19:41
        aandreich, яф писал не про пользу инструкции, а про пользу ее перевода на русский :)
  • Антон Кротов
    11 мая 2012, 19:37
    Дмитрий Власов, Молодец! (+)
  • Андреев Андрей
    11 мая 2012, 19:41
    Не в качестве рекламы, а для начинающих советую блог Игоря Чечета — chechet.org Код чистый и качественный с комментариями.
  • IleDar Gindullin
    11 мая 2012, 19:59
    Подскажите пожалуйста начинающему… какой язык программирования лучше сейчас начать изучать?
      • Андреев Андрей
        11 мая 2012, 20:13
        Дмитрий не вводите людей в заблуждение! Понимаю, Вы продвигаете курсы, не исключаю толковые и грамотные. Пожалуйста делайте это чуток «потоньше» :-))))
          • Андреев Андрей
            11 мая 2012, 20:55
            Дмитрий Власов! Прошу прощения ))) неправильно понял Вас )))
    • Андреев Андрей
      11 мая 2012, 20:09
      IleDar Gindullin. К сожалению для новичков только C#: 1. Есть stock sharp — удобно и быстро делать торговый блок. 2. Наличие ТСлаб и Велсы. В реальности, для серьезной работы только C++ MatLab, R.
      • Максим Милованов
        11 мая 2012, 20:42
        aandreich, ну и чем же С++ лучше C# для написания роботов?
        Кроме незначительного преимущества в скорости — никакого.
        Не вводите людей в заблуждение!
        • Андреев Андрей
          11 мая 2012, 21:03
          mirovan, собственно этого я и не писал. Тролить или поддевать никого не хотел.
          Прошерстите западные вакансии и требования к программистам для HFT.
          Тут вопрос в том чего человек хочет, какие цели ставит. С# хорош для определенных задач :-)) Ни в одну западную контору вас на такие задачи не возьмут с С#.
          • Евгений
            11 мая 2012, 21:09
            aandreich, западные вакансии, могучий С++ — мифы 21 века. На западных форумах тот же C# уже давно. Прошли времена, когда брали всех подряд. Теперь берут тех, кто дешевле. C# дешевле C++, а может даже больше.
            • Андреев Андрей
              11 мая 2012, 21:19
              На роль рупора демократии не претендую :-) Цель была дать человеку больше информации для анализа, чтобы мог оценить и выбрать направлении в соответствии с тем, что хочет делать. Не более! Сам сейчас программирую на C# и только на нем, С++ запустил и сильно, о чем сожалею сейчас. Про перспективы С# — каждому свое, если так — замечательно, больше толковых молодых людей получит хорошую работу. Мои доводы основываются на общении с западными управляющими — рассказывали как работаю что делают. Активная фаза общения была на предыдущем месте, пару лет назад, сейчас возможно все поменялось )) Так что все ИМХО.
            • Максим Милованов
              11 мая 2012, 21:19
              reist, aandreich, тут конечно можно холивар устроить по-поводу языков :)
              Робота же можно писать хоть на Delphi, хоть на VBA (в силу своих возможностей). Главное выбирать инструмент под задачу.
              • Андреев Андрей
                11 мая 2012, 21:36
                mirovan. Согласен, главное быстро и качественно решить задачу. Сам, в свое время и на том и на другом реализовывал роботов.
                Попытаюсь как то резюмировать:
                С#:
                1. Прост в освоении
                2. Для исследования систем на велсе и тслаб
                3. Быстро и без замарачек написать робота под задачу StockSharp в помощь.
                С++:
                1. Кросс-платформенность.
                2. Совокупная стоимость ИТ решения, и реализация работы в RealTime — для западных контор, если туда нацелились.
                3. QUDA, многопоточные задачи, работа с облаками и кластерами.
                4. Очень быстро развивается стандарт, меллко мягкие не поспевают.
                • Евгений
                  11 мая 2012, 21:39
                  aandreich,

                  вы не поверите, но

                  3. Правильное название CUDA. И оно есть для C#. Использование CUDA одинаково по скорости и из C++ и из C#. Потому что там свой язык и свой процессоры.
                  4. Практически не развивается лет 20.
                  • Андреев Андрей
                    11 мая 2012, 21:54
                    +1 Каюсь, поймали меня грешного!
                    «Приятный звучный и очень настойчивый баритон послышался из ложи N 2:
                    — Все-таки желательно, гражданин артист, чтобы вы незамедлительно
                    разоблачили бы перед зрителями технику ваших фокусов, в особенности фокус с
                    денежными бумажками.»
                    • jtrade
                      11 мая 2012, 23:25
                      aandreich, Булгаков? Нет?)))
                • jtrade
                  11 мая 2012, 23:23
                  aandreich, зачем Запад?) Все для себя!) Для исследования систем можно хоть Excell, Matlab…
                  Вопрос в другом, как для себя «трейдера» написать торгового робота?
      • jtrade
        11 мая 2012, 21:16
        aandreich, вы используете С++,Matlab,R?
        • Андреев Андрей
          11 мая 2012, 21:24
          Лично я нет, но парни в команде используют активно. В основном для HFT, попробуйте на велсе на минутках скальпера написать :-))) С# к сожалению из-за мелко-мягкого индуского кода иногда проваливается в бездну по времени, никакие профилировщики не спасают.
          • jtrade
            11 мая 2012, 22:51
            aandreich, а кто пытается написать HFT стратегию в велсе? Тут скорее всего стратегии от интрадейной и далее. Что-то другое, то Matlab,R для исследований, тестирования самое то…
            • Андреев Андрей
              11 мая 2012, 22:59
              Ровно тоже самое и пытался сказать :-))) Корявенько по ходу :-)))
              • jtrade
                11 мая 2012, 23:11
                aandreich, С++,HFT хорошо, но обычному «трейдеру» не по карману будет содержать всю инфраструктуру, да и не нужно это. Для интрадея и др., C# и WealthLab самое верное решение. Тестинг, и робот далее на C#.
  • IleDar Gindullin
    11 мая 2012, 20:22
    Спасибо! Плюсанул)

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

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