Практика no image

Опубликовано 2 июня | автор Forex Фактор

19

Программы для технического анализа

Сегодня мы начинаем подготовку к созданию механической торговой системы (торгового робота). Для начала мы выясним, какие программы нам понадобятся.

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

Omega TradeStation – на мой взгляд лучшая программа для тестирования торговой системы. Язык программирования EasyLanguage, на котором пишется код стратегии, очень простой и больше похож на обычный английский, чем на какой-то язык программирования. Сам код получается очень маленьким, буквально несколько строк, благодаря тому, что в EasyLanguage есть функции для расчета всех индикаторов, используемых в техническом анализе. В интернете можно бесплатно скачать множество готовых стратегий для Omega TradeStation.

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

Wealth-lab – на официальном сайте можно скачать 30-дневную пробную версию программы. Торговые стратегии для Wealth-lab можно бесплатно скачать на том же сайте (здесь). Вообще сайт этой программы будет очень полезен трейдерам, решившим использовать Wealth-lab для тестирования своих торговых систем. В отличии от TradeStation и Metastock у Wealth-lab на сайте не только информация о продукте и предложения о покупке, у них настоящее сообщество трейдеров.

Amibroker – аутсайдер среди лидеров программ для тестирования и оптимизации торговых систем. Программа весьма неплохая, поддерживает практически ту же функциональность, что и лидеры, основное преимущество программы в ее цене, которая существенно ниже, чем у конкурентов.

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

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

Лидером, на мой взгляд, в данной области является Quik. Большинство брокеров предоставляют своим клиентам возможность интернет-торговли через эту программу, программа постоянно развивается и авторы вносят дополнения в программу, облегчающее написание механических торговых систем. На официальном сайте можно задать вопрос на форуме и очень быстро получить исчерпывающий ответ, там же можно оставлять пожелания по развитию терминала, разработчики внимательно относятся ко всем пожеланиям. Автоматизировать торговлю можно несколькими способами – раньше нужно было экспортировать данные в сторонние программы, и импортировать заявки через текстовый файл, а теперь в программе поддерживается свой язык программирования Qpile и торговую систему можно запускать прямо в торговом терминале.

Netinvestor – второй торговый терминал, вторым он стал, видимо, только потому, что меньшее количество брокеров его поддерживает. Сама по себе программа ничуть не хуже Quik’a, функциональность аналогичная, при этом они первыми открыли API своей программы, что позволяло писать торговых роботов на любом языке программирования, хоть на Delphi, на C или Visual Basic. Благодаря этому было возможно написание механических торговых систем любой сложности. Почему я говорю «было»? Это есть и сейчас, но с появлением Qpile в Quik, на мой взгляд, это стало не актуальным.

Если вы торгуете на форексе, вы можете использовать для MetaTrader. С помощью этой программы вы сможете протестировать вашу стратегию на исторических данных, и тут же использовать ее в качестве «советника» для автоматической торговли. Но, как заметил Vas, один из читателей блога, в комментарии к статье «Учебный счет» MetaTrader используют в основном «кухонные» брокеры, поэтому мы в нашем летнем марафоне не будем рассматривать эту программу.

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

Я сделал свой выбор в пользу Quik, мне нравится, что для работы торгового робота не требуется запуск сторонних программ, торговая система работает прямо в терминале, таким образом, уменьшается возможность сбоя всей системы из-за проблем с одним из компонентов или связи между компонентами. Скачайте с официального сайта последнюю версию программы. Рекомендую открыть учебный счет для проверки и отладки механической торговой системы.

Сама по себе программа на языке Qpile является обычным текстовым документом, и для ее написания и редактирования подходит любой текстовый редактор, например Блокнот (Notepad). Но удобнее использовать Notepad++, для которого на форуме Quik был выложен файл с подсветкой синтаксиса.

Теперь у нас есть все необходимое для разработки торговой системы, и последующей ее автоматизации. Мы займемся этим в следующем выпуске. Подпишитесь на RSS, чтобы не пропустить новые публикации.

Метки: , , ,


К статье Программы для технического анализа 19 комментариев

  1. Владимир says:

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

  2. Владимир says:

    еще….я тестировал робота сразу за 600 дней….хотя где то читал, что к примеру надо было разделить период по 300 дней и тестить на одном, а проверить потом на другом…мне показалось что лучше за 600, т.к. есть моменты которые попали в один период, но в другой нет…и оценка общася получится не очень адекватная. Как Вы тестируете свои стратегии?

  3. Торговый робот says:

    Торговых роботов я начал писать 5 лет назад, один робот торгуют на реальном счете уже 3 года, еще два примерно год.
    Соглашусь с вами, торговля в реальных условиях отличается от тестов на истории, особено важно то, что рынок постоянно меняется, особенно наш, который постоянно растет (я имею в виду количество участников). Чтобы лучше протестировать систему рекомендую проводить тесты и оптимизацию на разных периодах, скажем на данных 2007 года, а потом, когда вы будете довольны полученным результатом, проведите тест на 2006 году, а потом и на 2005, если есть данные по инструменту. Таким образом вы симитируете изменчивость рынка. И если система окажется стабильной на разных периодах в прошлом, то есть большая вероятность, что и в будущем она окажется работоспособной. А если на данных одного года после оптимизации были полученых хорошие результаты, а на другом полный слив – то скорее всего это обыкновенная подгонка.

  4. Владимир says:

    У меня была ошибка…я поставил takprofit на лонги в размере 3.5%, но на последнем росте я слишком рано выпал из рынка…как написать в TradeStation плавающий стоп? к примеру профит был 3.5, но когда цена достигла этого уровня чтоб он поставил стоплосс на определенную величину ниже, в случае если рынок пойдет дальше (как это было недавно) чтоб по мере роста он двигал этот стоп выше. Подскажите как это сделать?

  5. Торговый робот says:

    Я вообще стараюсь не использовать takeprofit, ведь с таким подходом я заранее ограничиваю любую свою прибыль. Лучше так же жестко ограничить убытки (stoploss), а прибыль выжимать по максимуму. Но такая стратегия, конечно же, не для всех систем подойдет.
    В Tradestation можете использовать готовые выходы, например для выхода из длинной позиции добавьте к стратегии Parabolic_m Trail LX, или ATR Trailing LX. Стратегий выхода много, в названии у них Trailing – скользящий, LX (Long eXit) – выход из длинной позиции.

  6. trend-surfer says:

    Прикольные картинки к постам :)
    Можно отключить премодеррирование коментариев, сделать только для зарегистрированных пользователей. Неудобно ждать модеррации несколько часов …
    Ожидаю выбора платформы для эксперта WealthLab + quik.

  7. Торговый робот says:

    Приветствую, коллега!
    Модерирование комментариев я оставил, но только на первый комментарий, если я одобрил один раз, то потом комментарии проходят сразу. Блогу месяца еще нет, а спамеры уже вовсю атакуют.
    На счет выбора платформы WealthLab + quik я не совсем понял.

  8. trend-surfer says:

    WealthLab как функционал для анализа, ну а квик – исполнитель и источник данных.

  9. репликатор САС-П001-01 says:

    (с точностью до 0.000000000000001)…лучший робот не может быть доступен для всех…

  10. Торговый робот says:

    trend-surfer, Такой вариант я не планировал рассматривать, так же как и омегу. Сделать такого робота сможет любой новичок, пару строк добавить к код стратегии, чтобы экспортировала приказы в файл, а в квике импорт сделать. Я предлагаю использовать эти программы, чтобы протестировать стратегию, а сам робот должен работать прямо в Quik

  11. Владимир says:

    в TradeStation дополнительно добавил вход PercentR LE и выход PercentR SE, там есть 4 параметра, которые можно тестировать. Посмотрел текст входа и выхода, но принцип особо не понял. может знакомы с параметрамы входа и выхода (Length (14), Oversold (20), Overbought (80), Trigger (62) для лонга и шорта (38)). Т.к. я не особо понял принцип, возник вопрос при тесте на сколько надо отклоняться в одну и другую сторону от этих цифр для того чтобы тест был адекватный, а не подгонкой? график использую часовик.

  12. Торговый робот says:

    Владимир, чтобы тест был адекватным, а не подгонкой, в первую очередь надо понимать, чего вы хотите добиться своей стратегией, какие данные используете и почему именно так, а не иначе. Тогда можно оптимизировать некоторые параметры, опять же, если потом найти объяснение факту, почему полученные результаты работают лучше.
    В Вашем случае:
    PercentR основывется на тактике, предложенной Larry Williams (How I Made One Million Dollars Last Year Trading Commodities). Расчитывается как процентное соотношение ценового диапазона (Highest-Lowest) за промежуток времени (Length) по отношению к текущей цене (Close). Проценты, естественно, получаются от 1 до 100, т.е. PercentR – осцилятор, чем то напоминающий RSI, и показывает те же уровни перекупленности (Overbought) и перепроданности (OverSold).

  13. Владимир says:

    Как быть с такой ситуацией?: стоял в шорте, момент откупа совпал с сигнало на покупку, но из-за того, что сигнал поступает в одну секунду получается сработал только откуп, а лонг пришлось уже в квике в ручную. Как сделать так чтоб была какая то задержка между сигналами? чтобы был откуп, а через к примеру секунд 10 он прочитал файл и выставил заявку на покупку уже с учетом сложившейся ситуацией.

  14. Дмитрий Стаханов says:

    Хорошая реклама Квика, но кое-что явно правдой не является, например фраза: “Остальные программы для интернет-трейдинга не заслуживают нашего внимания, так как не поддерживают автоматической торговли, а если такая возможность и имеется, то настолько на примитивном уровне, что написать серьезную торговую систему в них нет возможности”. Либо Вы не совсем компетентны, либо откровенно и беспардонно рекламируете Квик, потому как далеко не единственная и не лучшая программа поддерживающая автоматическую торговлю, например в Альфа-Директ есть не просто программный интерфейс превосходящий QPile, а ОТКРЫТЫЙ программный интерфейс, что в переводе на обычный язык означает, что можно писать роботы которые общаются с сервером на прямую, т.е. даже без запуска Альфа-Директ, что дает возможность писать как свои терминалы так и свои МТС.

  15. Торговый робот says:

    Дмитрий, я ни в коем случае не рекламирую Quik, я лишь высказываю свое мнение основанное на моем опыте.
    Про Альфа-Директ я не знал, спасибо, что рассказали.

    API это, конечно, сильно, но обычно это сложно, особенно для трейдеров, а не программистов – необходимо учитывать множество моментов, помимо самой торговли (переменные, указатели, память, терминаторы и проч.). Я считаю, что для написания торгового робота нужна как можно более простая среда и язык, в идеале TradeStation, если бы он мог с нашими брокерами напрямую работать. А API – это для программистов, каковых среди трейдеров не очень много.
    Зашел на сайт Альфа-Директа, посмотреть документацию, оказывается документация и примеры высылаются только по запросу, странно, почему бы не выложить в открытый доступ?

  16. Дмитрий Стаханов says:

    “…документация и примеры высылаются только по запросу, странно, почему бы не выложить в открытый доступ?” Согласен, по-видимому, что бы не давать легкого доступа возможным хакерам, другого объяснения я найти не могу. Хотя у меня не возникло проблем с получением документации, отослал запрос и сразу прислали…

  17. st says:

    автор, составляя рейтинг программ ТА случайно перевернул его с ног на голову. из 4-х представленных лучший, вне всякого сомнения, amibroker. потом wealthlab. ну а метас с омегой – програииы ТА из прошлого, им уж давно пора на покой.

  18. Александр says:

    квик – исполнитель и источник данных

  19. Сергей says:

    “…документация и примеры высылаются только по запросу, странно, почему бы не выложить в открытый доступ?” Документация в Альфа-Директ для создания программ торговых роботов и терминалов в открытом доступе, запрос нужен только для документации по прямому доступу к серверу, что может быть необходимо для организаций.

Back to Top ↑