Финансовая лаборатория

Биржевая торговля и торговые роботы


Уважаемые читатели блога "Финансовая лаборатория". Сегодня я хочу начать выкладывать для Вас инструкцию по программированию торговых стратегий в программе WealthLab. На текущий момент мне не удалось найти эту инструкцию на русском языке, поэтому я решил перевести ее самостоятельно. Сразу скажу, для чего это делаю:

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

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

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

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

Если увидите какие-либо ошибки или Вам что-то покажется не совсем ясно - пишите об этом в комментариях - с удовольствием поправлю.

Введение:

Как выполнить код, приведенный в примерах к инструкции по программированию торговых стратегий на языке WealthScript

Глава 1: Объекты "БАРЫ" в программе Wealth-Lab

1. Объект Bars в Wealth Lab - что такое бары в Велс Лаб

2. OHLC/V Series - последовательности цен при программировании в Wealth Lab 6.3

3. Как использовать при программировании стратегий шкалу, интервал и дату

4. Symbol Info - подробная информация о торговом инструменте в программе WealthLab

Глава 2: Объекты "DataSeries" - ряды данных в Wealth-Lab

1. DataSeries - основная структура данных в Wealth-Lab и математические операции при программировании торговых стратегий

2. Как получить доступ к единичному значению DataSeries

3. Наполнение созданных самостоятельно DataSeries данными при помощи WealthScript

4. Как получить доступ ко второму финансовому инструменту при проектировании торговых стратегий в Велс Лаб.

5. Синхронизация данных при построении торговых стратегий с несколькими финансовыми инструментами

Глава 3: Рисование на графиках Wealth-Lab

1. Построение графиков в программе Wealth-Lab при помощи WealthScript

2. Отображение на графике синтетических финансовых инструментов

3. Отображение на графике в программе Велс Лаб рядов данных (индикаторов, осциляторов)

4. Написание текста на графиках Wealth-Lab программными методами

5. Рисование графических объектов на графике Wealth-Lab

Глава 4: Использование индикаторов в программе Wealth-Lab

1. Проектирование и построение индикаторов в Wealth-Lab

2. Делаем индикаторы в Wealth-Lab своими руками

3. Стабильность индикаторов в программе Wealth-Lab в зависимости от ширины тестируемого окна.

Глава 5: Программирование торговых стратегий в Wealth-Lab

1. Программирование торговых стратегий в программе Wealth-Lab

2. Виды торговых сигналов в Wealth-Lab

3. Организация торгового цикла в программе Wealth-Lab и его переделка в скрининговую систему

4. Программирование однопозиционных стратегий (SP Strategies) в программе Wealth-Lab

5. Использование при программировании торговых стратегий торговых приказов AtStop и AtLimit

6. Программирование выходов, основанных на времени удержания позиции в Wealth-Lab

7. Ловушки при построении торговых систем, связанные с проблемой подглядывания в будущее

8. Использование обоснованного заглядывания в будущее при программировании торговых стратегий в Велс Лаб

9. Создание параметров торговой стратегии в Wealth-Lab

10. Создание многопозиционных стратегий в Wealth-Lab

11. Что такое алерты и как их использовать в Wealth-Lab

12. Анализ данных в Wealth-Lab с учетом разных таймфреймов

Ну чтож, начнем. Сегодня первая часть инструкции по программированию в Велс Лаб:

Введение в инструкцию по программированию торговых стратегий в программе Wealht-Lab.

Всю инструкцию по программированию Вы сможете найти в этой рубрике . Чтобы не пропустить новые части этой инструкции - не забудьте подписаться на обновления блога "Финансовая лаборатория".

Инструкция по программированию Велс Лаб

Добро пожаловать в инструкцию по  WealthScript программированию!

Назначение инструкции по WealthScript программированию заключается в том, чтобы снабдить Вас базовыми (и некоторыми более сложными) концепциями, которые помогут Вам описать Ваши торговые стратегии, используя язык WealthScript, являющийся  частью программы WealthLab.

WealthScript – это библиотека классов для построения графиков  и торговых функций в пространстве имен  {}WealthLab .NET.

Вы будете удивлены, каких успехов сможете достигнуть программируя торговые системы с помощью WealthScript!

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

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

В этой инструкции для демонстрации концепций программирования и тестирования торговых систем используются множество наиболее востребованных WealthScript функций. Однако в рамках одной инструкции невозможно рассказать про каждую простейшую  WealthScript функцию. Полный список функций, доступных для использования в торговых стратегиях вместе с их синтаксисом, описанием и примерами можно найти в WealthScript QuickRef (в Tools меню, или нажав F11).

Для тех функции, которые существуют в пространстве имен {}WealthLab, но не задокументированны в QuickRef, не дается гарантии корректной работы при кодировании с их помощью торговых стратегий.

Программирование в  .NET

Wealth-Lab Developer (версия  6) – это платформа для технического анализа и трейдинга, в которой Вы сможете запрограммировать  и протестировать любые торговые стратегии на любом .NET языке.  Это действительно так. Вы можете использовать любой из более чем 20-ти языков программирования.NET для корректной работы с этой платформой.

Однако редактор Wealth-Lab стратегий, снабжен только компилятором C#,  следовательно, построитель стратегий генерирует код только используя синтаксис языка программирования C#. Поэтому, естественно, все примеры снабжены кодом на языке C#. Конечно же, Вы можете строить и тестировать торговые стратегии на любом .NET языке программирования.

Решаете, какой .NET язык программирования начать изучать?

Мы рекомендуем для новичков посетить курсы по программированию на языке C#. Ведь именно C#  это действительно современный, предназначенный для .NET язык программирования, который  вобрал в себя все лучшее из других языков программирования. Если Вы уже программировали раньше, то изучение языка C# не составит для Вас труда.

Но я же не программист!

Построитель стратегий программы Wealth-Lab Developer (версии 6) включает в себя средства автоматизации и  все известные нам индикаторы, и дает Вам возможность применять их в различных сочетаниях. Благодаря этому возможности построения стратегий, даже вообще без знания языка программирования, практически безграничны.

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

Если однажды Вы обнаружите стратегию, которую невозможно полностью запрограммировать используя доступные средства автоматизации, Вам все равно придется окунуться в мир программирования с использованием WealthScript.

Как использовать эту инструкцию?

Несмотря на то, что Wealth-Lab Developer включает в себя довольно большое количество drag-and-drop Мастеров для построения графиков и даже для построения торговых стратегий,  мощь этой программы смогут оценить только те, кто умеет программировать.

Для того, чтобы сделать эту инструкцию по программированию на языке WealthScript наиболее полезной, мы постарались снабдить ее множеством примеров. Советуем Вам сначала пролистать каждую главу по порядку, т.к.  базовые принципы рассмотрены в самом начале.

Совет:

Если Вы ищете опеделенный пример с кодом, попробуйте поискать выржение "How to" в поисковом указателе (либо тег КАК: в блоге "Финансовая лаборатория").

На сегодня все. В следующий раз опубликую часть, посвященную барам.

Рубрики: WealthScript

Комментариев: 19

  1. Александр пишет:

    Отличное начинание! Готов даже подключиться к переводу. Отправьте мне текст на английском – я переведу и скину вам на почту. Понравится – опубликуете. Может еще кто изъявит желание. Так быстренько и переведем Инструкцию.

    • Дмитрий Власов пишет:

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

  2. Андрей пишет:

    Добрый день, как подключить WLD6 к квику?

    • Дмитрий Власов пишет:

      К квику можно подключить написав брокер Адаптер. Вообще, т.к. Wealth-Lab купила Fidality – было принято решение не документировать такое решение. Однако есть умельцы. К примеру, в Церихе сделали собственный адаптер к Квику. Игорь Чечет сделал брокерадаптер к АльфаБрокеру.

    • Дмитрий Власов пишет:

      Вот здесь: написал специальный пост по вопросу связки QUIK с Wealth-Lab.

  3. rasswet пишет:

    по велсу 6 есть перевод у цериха. но там по-моему именно дока к программе.

    • Дмитрий Власов пишет:

      Привет. В Церихе действительно есть только перевод инструкции к самой программе, а не к инструкции по программированию.

  4. tradetoforts пишет:

    Для российского трейдера лучшего всего использовать ТСЛаб. Примеры робота для фьючерса РТС. Видео: http://www.youtube.com/watch?v=Mg2ZZeYe0OY
    Робот на фьючерсе доллара: http://www.youtube.com/watch?v=YUC4dcbFTbY

    • Дмитрий Власов пишет:

      На мой взгляд, решение самое оптимальное должно быть такое: в Велс Лаб проходит тестирование стратегий (там есть к тому же генетический метод подбора оптимальных параметров и метод монте карло, плюс куча других фишечек). А уже выбранную и протестированную стратегию можно торговать на TSLab, т.к. там нет проблем с подключением к российским брокерам и получением котировок и т.п.

  5. Gerig пишет:

    Не согласен с этим утверждением. Я достаточно длительное время использовал TSlab, более года, освоил его достаточно хорошо, готовил скрипты как с использованием “кубиков”, так и C#. Есть опыт написания достаточно успешных скриптов на TSlab. Конечно программа не плохая, но сравнивать ее с Wealth-lab просто не корректно. TSlab не дает тех возможностей какие можно получить от Wealth-lab. Сейчас я полностью отказался от TSlab и использую только Wealth-lab. Испытываю при этом огромное удовольствие от работы с Wealth-lab, строю в ней нейросети (с использованием дополнительных опций “Neuro-lab”).
    Вообщем для новичков, для создания представления о рынке и его простейших взаимосвязей, на первом этапе наверное может сгодится и TSlab, но перейдя на Wealth-lab вы поймете, что TSlab – детская песочница, по сравнению со стройплощадкой.

    • Дмитрий Власов пишет:

      Для новичков (особенно при наличии инструкций на русском) освоить Велс Лаб намного проще. На мой взгляд.

      • Gerig пишет:

        Да, пожалуй я с вами соглашусь. Хотя сейчас у многих молодых людей ( в отличие от моего поколения) достаточно хороший английский и по большому счету необходимости в переводе нет. Быстро осваивают суть, ведь так и должно быть – молодое поколение должно быть лучше, и это приятно.

  6. Сергей пишет:

    А “работают”-ли Ваши инструкции в Wealth-Lab Developer (версия 4)?

    • Дмитрий Власов пишет:

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

      Для Wealth-Lab (версия 4) они не подойдут, т.к. в инструкции язык программирования торговых стратегий – C#, а раньше был другой – внутренний язык.

      Язык C# намного гибче и удобнее.

  7. Сергей пишет:

    Извините. Я не правильно выразился. Воспринимает 4-я версия синтаксис написания программ 6-й?
    Четвёрке почему-то не нравится “using”, да и в конце кода там используется “end” вместо “}”.

  8. Сергей пишет:

    Всё понял. Спасибо.

  9. [...] Язык, который используется для написания кода, описывающего Вашу торговую систему называется C#.  Подробнее о том, на каком языке пишутся стратегии можно прочитать здесь. [...]

Оставить комментарий