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

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


Сегодня пришло время создать первый код торговой системы.

Для того, чтобы сильно не усложнять восприятие - возьмем самую простую систему и сделаем для этой системы код для тестирования её в wealth lab.

Сделаем это поэтапно:

Этап 1: Описание стратегии:

  1. Строим максимумы и минимумы за определенный период (величина периода будет определена в процессе оптимизации).
  2. Будем открывать длинные позиции тогда, когда цена пробивает максимум, определенный на предыдущем баре.
  3. Выставляем первоначальный Стоп лосс на уровне максимума предыдущего бара  минус процент от цены (величина процента будет определена в процессе оптимизации).
  4. Создаем трейлинг Стоп, который будет находится на уровне минимумов за определенный период.

Этап 2: Прорисовка блок схемы...

После того, как идея торговой системы определена, необходимо нарисовать блок схему того, как мы будем действовать.

Рисовать можно используя для этого специальные программы.

Краткий обзор программ, которые позволяют рисовать блок-схемы можно уведить по этой ссылке: http://www.analogs.ru/group/165

Можно использовать платную программу Microsoft Visio, которая входит в состав Microsoft Office.

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

Начертим блок - схему...

Этап 3: написание кода для Wealth Lab.

Далее, используя среду разработки, о которой я уже писал в предыдущем посте - пишем код для Wealth Lab…

Схематично программа будет выглядеть следующим образом:

Рассмотрим поподробнее каждый из блоков нашей программы:

Для того, чтобы определить параметры оптимизации - нужно написать следующий код:

Теперь нужно задать те переменные, с которыми будем в дальнейшем работать:

Надеюсь, здесь всё более-менее понятно. Если есть вопросы - спрашивайте в комментах.

Дальше тем переменным, которые мы задали - нужно присвоить необходимые значения:

Следующий этап - основной. Здесь задается сама логика торговой системы…

Выглядит этот этап следующим образом:

Если будет интерес - в следующих постах более подробно остановлюсь именно на этом блоке. Чтобы не пропустить новые посты - подписывайтесь по RSS на новые посты нашего блога.

И на последнем этапе отрисовываем графики.

Делать это совсем не сложно. Код будет выглядеть так:

Этап 4: Оптимизация кода торговой системы и нахождение оптимальных параметров.

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

Об этом нужно тоже говорить более подробно.

Поэтому сегодня покажу, что даже такая простая система может дать следующие результаты для акции, к примеру, северсталь:

Понятно, чтобы начинать торговать такую систему нужно учесть еще целую кучу нюансов, но общее представление о том, как создавать торговую систему и тестировать её в wealth lab, я думаю, по этой информации можно составить…

Если Вам интересна данная тема - подписывайтесь на обновление нашего блога по RSS.

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

  1. Serzh пишет:

    Серьезный пост))

  2. Евгений пишет:

    Спасибо за интересную программулину diaw – я тоже раньше пользовался Microsoft Visio , но эта ещё удобнее оказалась. Больше всего понравилось что есть автомасштабирование и слои – можно расписывать все подробности объекта и вызывать эту инфу при надобности .
    Дмитрий , меня с самого начала мучает вопрос – будем ли мы в рамках данного курса рассматривать состыковку Wealth Lab ( подготовив стратегию) с конкретным терминалом , например с Алор Трейд, или Квик ? Самый главный вопрос – как же будет торговать этот робот ? Ведь мы хотим спроектировать именно робота , а не научиться проверять код стратегии на исторических данных . Кто ознакомился с Wealth Lab , наверняка уже прогнал кучу стратегий для ознакомления с возможностями программы . Конечно не помешало бы найти толковый перевод инструкций – особенно описание элементов библиотеки кодов из которых строятся стратегии( если знаете где описано- подскажите) , но при желании можно разобраться . А вот состыковка с терминалом и сервером … пока темный лес . Хотелось бы всё понять теоретически и практически. А ещё коснитесь как -нибудь теории по Plaza 2 – в чем там суть – все слышали , но не все представляют в чем там прелесть . Как это можно использовать для доморощенных МТС ? Каков порядок всего процесса ? Каким образом будут поступать команды и приниматься данные графиков в реальном времени ? И вообще каким образом возможна работа без терминала , ну к примеру как работает новый Алор Фаст – ему терминал не нужен, он сам им является.

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

      Реальная торговля будет с помощью TSLab. Потом, возможно,рассмотрим Stock# – кстати, 3-го мая будет Михаил Суханов (разработчик S#) бесплатный вебинар проводить по теме C# и S# очень рекомендую посетить.
      А Алор-Фаст напрямую стыкуется с сервером с помощью Алор Аттентис – это такая специальная библиотека. На ее основе сделат и Алор Фаст и ТСЛаб подключена с помощью этой технологии и КоФиТеровский терминал. Если у разработчиков есть желание использовать эту технологию – пишите.

  3. Евгений Мышь пишет:

    Красивая “зеленая горка”… такие бы результаты да мне на счет, пока он не обнулился))) сейчас остается только наблюдать за другими…
    PS Это скрытый намек, что в качестве картинки, которую нужно покрутить для написания комментария у меня первая стояла мышь??? шучу конечно)

  4. Евгений пишет:

    Спасибо ! На семинар уже записался – узнал из вашей рассылки . Вопрос – а код созданный на Wealth Lab можно будет использовать в TSLab ? Язык ведь там одинаковый – С# (есть ли в TSLab библиотека от Wealth Lab) ? Что такое КоФиТеровский терминал ? Привожу полезные ссылки по Wealth Lab -http://algoritmus.ru/?tag=wealth-lab . HELP переведенный для WealthScript Programming Guide – http://algoritmus.ru/wp-content/uploads/2011/02/WLD_RUS_HELP.zip.

  5. Евгений пишет:

    Дмитрий ! Может Вы в этом разбираетесь – как то на семинаре услышал , что в Мета Трейдере есть возможность с помощью внутреннего кода (язык похож на С++) можно создавать МТС прямо внутри терминала . Или я неправильно понял. Это было бы очень интересно.

  6. Евгений пишет:

    Ознакомился с MetaTrader 5 – просто чудо ! Вот бы на Алоре такую платформу ! Там робота можно писать ,как в WL, с помощью библиотеки кодов. Теханализ и оптимизацию стратегий можно проводить прямо в терминале. Вот описание терминала – http://www.metatrader5.com/ru/client-terminal. Почему прогресс так медленно идёт? Такую платформу любой трейдер мечтал бы иметь (всё на русском в хелпе понятно расписано, стратегии составлять проще чем в ТС лабе ). Алор случайно не собирается её приобрести ? Форексовские ДЦ вовсю вооружаются.

  7. Mitragrad пишет:

    Добрый день!
    1. Какое значение проскальзывания использовалось в тестировании стратегии?
    2. Учитывалась ли комиссия брокера?
    Благодарю за ответ.

  8. Евгений пишет:

    Видеоурок по созданию простейшей стратегии в WL ….. http://www.q-trading.ru/index.php/soft/soft-dlya-tehanaliza/193-video-sozdaem-torgovuju-sistemu-v-wealth-lab.html

  9. Леонид пишет:

    Дмитрий, спасибо за ликбез!

    Напишите плз блоки “Если есть активные позиции” и “Если нет активных позиций”, а лучше выложите готовый код))

  10. airr пишет:

    Очень ждем продолжения!! с дополнительными комментариями

    Очень интересуют блок логики системы. есть недостающие фрагменты(((

  11. [...] Примерно в апреле 2011 года я начал рассказывать о торговой системе HighLowLong в качестве примера того, как нужно создавать торговую [...]

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