Блог им. VDV

Торговая система - алгоритм создания и тестирования МТС

Ну чтож, вот и пришло время создать первую механическую торговую систему (МТС) и протестировать её в Wealth Lab…
Процесс создания механической торговой системы достаточно прост. Но это простота — кажущаяся.
Этап 1: Проектирование торговой системы на бумаге

 
На первом этапе необходимо продумать и решить — как будет функционировать механическая торговая система (МТС). Для этого нужно поставить перед собой вопросы:
  • Какие принципы будут заложены в основе торговли.
  • Когда нужно входить в позицию,  и когда выходить из позиции.
  • Какие бумаги будем торговать,
  • на каком таймфрейме.
  • Будем ли шортить...
Допустим, мы собираемся торговать тренды.
Основной принцип нашей МТС — это следование тренду. Соответственно девиз этой МТС — растет — покупай.
Торговать собираемся только ликвидные бумаги, торгующиеся на ММВБ.
У нас нет цели постоянно сидеть перед компьютером и отслеживать каждое малое движение рынка. Поэтому таймфрейм нашей МТС составит не менее 30-ти минут. Наличие коротких позиций на первом этапе — не предполагается. Будем торговать только при растущем тренде.
Этап 2: Написание кода торговой системы

На этом этапе у большинства трейдеров возникают сложности. Дело в том, что многие трейдеры готовы только генерировать торговые идеи, а вот для того, чтобы алгоритмизировать эти идеи  — нужны также навыки.
Здесь можно услышать такие высказывания: — «Я трейдер, а не программист!!!»
Но без навыков программирования далеко не уедешь. Поэтому советую каждому — даже если Вы не собираетесь становиться профессиональным программистом — освойте хотя бы основы программирования.
Наилучшим выбором здесь, на мой взгляд — является освоения языка программирования C#
Я, например, основы языка С# освоил просмотрев следующий бесплатный видеокурс: http://www.intuit.ru/department/pl/incsharp3/
Кроме того, очень рекомендую прочитать книгу Автор: М. Дрейер с названием «C# для школьников» и пройти курс, основанный на этой книге http://www.intuit.ru/department/school/cs4kids/ — это тоже бесплатно.
При желании, Вы можете посещать и платные курсы, которые обучают прогарммированию на C# в связке с трейдингом.  Вот примеры таких курсов:
  • Проводит Церих: http://education.zerich.ru/event/141807/ — стоимость записи порядка 5000 рублей
  • Если знаете ещё курсы этой тематики — пишите в комментах.
Разобравшись с основными понятиями языка программирования C# — Вы без труда сможете написать код любойторговой системы в wealth lab.
Как это сделать — обязательно посвящу этому отдельный пост. Чтобы не пропустить — не забывайте подписываться по RSS.
Этап 3: тестирование созданного кода торговой системы и оптимизация параметров.

Понятно, что человек может только предполагать — какие параметры (длина скользящей средней, стоп лосс, тейк профит) являются оптимальными.
Точно определить это сможет только бездушный алгоритм, перебирая огромное количество всевозможных вариантов и оставляя лишь те из них, которые ведут к наилучшему результату.
Конечно тут сразу же возникает вопрос — «Может ли поведение цены в прошлом определять поведение цены в будущем?».
Это вопрос философский.  Можно много рассуждать на эту тему, но к сожалению, как говориться, при всём богатстве выбора — другой альтернативы нет.
Мне очень нравится как подходит к этому вопросу екатеринбургский трейдер Игорь Чечет — он говорит о том, что точно знает, что подобранные параметры торговой системы не будут работать в будущем. Однако он ставит торговую систему в торговлю, зная, что в любой момент может её заменить.
 
Этап 4: Создание торгового робота

После того, как код торговой системы написан и найдены оптимальные параметры — нужно задуматься о том, как автоматизировать сам процесс торговли. Ведь Вы же не собираетесь постоянно сами отслеживать все торговые сигналы и руками их исполнять.  Не зря ведь говорят — лень — двигатель прогресса.
На текущий момент существует достаточно много вариантов автоматизации торговли. Перечислю некоторые из ник:
Создание собственного торгового робота с нуля, напрямую подключаясь к торговым серверам (или торговым терминалам).  К примеру, Алор представляет сервис Alorr Attentis — это возможность подключиться напрямую к серверу Алор Трейд, минуя посредника в виде торгового терминала. Также есть возможность работать с АйТи Инвестом (SmartCom 2), напрямую с Plaza 2 — в общем, варианты имеются.
  • Создание торгового робота, используя уже готовые библиотеки. Здесь стоить отметить динамично развивающийся проект Stock# — программная библиотека для создания на платформе .NET торговых роботов, аналитических программ и МТС.  Также можно использовать библиотеку от компании Финансовая лаборатория -  FinLab.MTS
  • Создание торгового робота, используя программу wealth lab и создавая адаптеры для непосредственной передаче  заявок брокеру. Насколько я знаю на текущий момент существуют адаптеры для работы с Квиком, терминалом Альфы, СмартТрейдом и т.п. Если поискать — можно найти любые варианты.
  • Создание торгового робота, используя программу OpenQuant — аналог WealthLab — в котором нет проблем с построением брокер-адаптера...
  • Создание торгового робота, используя программу TradeMatic — по сути, это аналог WealthLab, который можно сразу подключать к Квику и начинать торговлю…
  • Ну и конечно же, используя  полностью российскую наработку для создания торговых роботов — программу TSLab. Именно эту программу я использую для того, чтобы создавать полностью автоматически торгующие торговые системы. Об этом уже был отдельный пост.
В общем, вариантов достаточно много нужно выбрать именно тот, который больше всего подходит именно Вам. Но ещё раз напишу, что очень желательно обладать хотя бы навыками языка программирования C#.
Этап 5: Создание корзины механических торговых систем и отслеживание результатов торговли

На этом этапе — главное создать целую коллекцию независимых торговых систем, торгующих разными инструментами и вести постоянный мониторинг результатов торговли каждой торговой системы.
Главное здесь — понять когда наступил момент, показывающий, что механическая торговая система перестала работать. И дальше принимать решение — что делать с этой системой.
Конечно, здесь тоже есть свои сложности и свои хитрости. Обязательно расскажу про свой собственный опыт.
Чтобы не пропускать следующие статьи про построение механической торговой системы — подписывайтесь на наши новые статьи по RSS
1.5К | ★29
12 комментариев
Ваше статья смахивает на типичную SEO-статью для продвижения своего ресурса :-)

2dr-mart
Ты бы сделали все ссылки на внешние ресурсы с атрибутом rel=«nofollow» или же через свой редиректор, типа: http;//smartlab/go?url

Любителей размещать такие статьи станет на порядок меньше.
avatar
Денис, тут много ссылок не на мой ресурс, а на ресурсы, о которых идет речь: блог Чечета, ресурсы по обучению С#, ресурс про S#, TSLab, TradeMatic — все эти ссылки именно для того, чтобы те, кто хочет разобраться в вопросе могли быстро найти то, что нужно. Насколько я понимаю, ссылки на внешние ресурсы здесь и так «nofollow».
Seo статьи обычно бессмысленны и не несут никакой полезной информации. Здесь, я думаю, полезная информация всеже есть.
Почему бы тогда не сделать просто ссылки. Зачем эти дурацкие редиректы и выделения болдом ключевых слов?

По-поводу статьи. Нужно создать не просто корзину МТС, а корзину, МТС в которой, будут иметь как можно меньшую корреляцию, а еще лучше отрицительную.
avatar
Просто статью сюда скопировал из своего блога. Как там было, так и осталось здесь. Отсюда и «редиректы».
По поводу корзины — согласен — именно разные стратегии, разные инструменты — чтобы кривая доходности была максимально сглаженной.
Не знаю как насчет лени, мне так лень лезть в это болото под названием МТС.
Хорошо где нас нет. И 2-е если вы такие умные, что насоздавали всяких роботов- программ, то почему такие бедные.
avatar
С чего Вы решили, что бедные?
Ну вы же не пишете, что уже что-то заработали, вот я и продолжил логическую цепочку.
avatar
:-) всё равно ведь никто не поверит… Кстати, можно на ты
можно несколько или больше слов о преимуществах/недостатках Tradematic в сравнении с TSLab?
avatar
и WelthLab
avatar
К сожалению, TradeMatic пока еще не пробовал. Но судя по описанию — там можно одновременно торговать только одну стратегию на одном счете. Если не прав — поправьте…
Что-то нигде не нашел указания на то, что тот же Wealth Lab стоит бешенных денег. Как для того, чтобы попробовать научится уж стоит подобрать то, что можно использовать условно-бесплатно. Хотя бы та же NinjaTrader. 
avatar

Читайте на SMART-LAB:
Фото
Актуальный состав портфеля и взгляд на рынок 2026: по-прежнему 0% позитива.
Добрый вечер! С момента предыдущего поста, касающегося моего портфеля, прошел квартал.  Пришло время актуализировать его состав. Также поделюсь...
Фото
Биткоин попробует разыграть «треугольную карту»?
«Цифровое золото» прорвало верхнюю границу восходящего треугольника на уровне 94 500 и сейчас тестирует пробитую горизонталь, формируя серию...
Фото
Индикатор Fractal: торговые сигналы и робот для OsEngine. Видео
В этом видео разбираем индикатор Fractal Билла Вильямса — один из самых известных инструментов в трейдинге. Покажем, как формируются фракталы,...
Фото
Стратегия 2026 по рынку акций от Mozgovik Research: трудный год, но, возможно, последний год низких цен
Сегодня у меня первый день официального отпуска. За окном темная звездная ночь, яркая белая луна, +24С и шум волн Андаманского моря. Неудачный...

теги блога Дмитрий Власов

....все тэги



UPDONW
Новый дизайн