Особенности создания советников для торговли на Форексе
Содержание статьи
Особенности создания советников для торговли на Форексе
Уважаемые трейдеры, задумывались ли вы когда-нибудь о том, как создать советник для мт4? И как раз создать, а не заказывать его у специалистов по программированию. В действительности же этот вопрос не такой уж и замысловатый. Но его достоинства бесспорны: можно сэкономить на услугах фрилансера и заполучить возможность в дальнейшем формировать личные торговые советники. Ко всему знания и умения никуда не денутся. И это не говоря уже о наслаждении результатом самостоятельного создания рабочего советника, который сможет с течением времени давать финансовый заработок с Форекс в автоматизированном режиме.
Создание советника
Вначале вам необходимо овладеть начальным багажом знаний языкового программирования, скачать книги с описанием которых, можно на специализированных сайтах (найти их в интернете легко).
Также начинающим трейдерам окажет помощь справочная информация, которую можно вызвать клавишей F1 терминала и редактор MetaQuotes Language. Его откроет клавиша F4 терминала. Можно анализировать и пошагово изучать уже имеющуюся программу, используемые команды, принципы их функционирования и т.д. Есть возможность также начать изучение базы с составления элементарного алгоритма торговли, чтобы в будущем на имеющуюся “основу” складывать написанные команды или преображать имеющиеся. Т.е. от простого – к более сложному.
Также создание советника для mt4, без всякого сомнения, потребует указаний и рекомендаций биржевых торговцев, имеющих некоторые навыки и умения в этой сфере. Массу полезной информации можно отыскать на форумах программистов, которые пользуются языком MQL4 или MQL5. Здесь также доступны информационные данные, касающиеся всех вопросов создания торговых советников.
Советник – рекомендации опытных торговых биржевиков
- Как только появляется возможность протестировать сформированную готовую часть кода или функции – делайте это незамедлительно. Ведь как только программа преобразить до крупных размеров, этот процесс будет усложнен;
- Части кода, которые воспроизводятся с определенной периодичностью, оптимально зарегистрировать отдельными функциями;
- Не стоит стремиться написать приемлемый код. Для начала стоит создать тот, который будет безошибочно функционировать, даже если он будет непрезентабельным или массивным. В дальнейшем это корректируется путем кодовой оптимизации;
- Не стоит стыдиться использования собственных алгоритмов, создавая советник своими руками для Форекс, несмотря на готовые наиболее усовершенствованные коды. Ведь все-таки преимущество отдается грамотности работы программы, что не имеет смысла без понимания функционирования алгоритма. Разработанные же вами коды будут наиболее доступны и проще в оптимизировании.
Проблема отладки
Создать индикатор или эксперт, обладая языком MQL4 и зная принцип встроенных в него функций – совсем нетрудно. Другое дело имеет отношение к безошибочной работе, ведь на отладку готовой программы отводится масса времени.
Отладка представляет собой безынтересный процесс кустарного анализа результатов торговли эксперта, анализ логов и последующую коррекцию кода. Если советник MQL4 простой, вопросов не возникнет. Однако существуют и усложненные механические торговые системы, имеющие огромные многострочные в несколько тысяч, программные коды. Поэтому для реального функционирования, торговые программы обязаны быть незамысловатыми и бесхитростными для восприятия. Так советник сможет осуществлять корректную торговлю согласно заданному алгоритму. Это идеальный инструмент для торговых стратегий, как, например, новостная торговля или торговля на пробой.
Помимо этого, создание эксперта – творческий процесс, ведь все задумки начинаются в голове, и лишь затем цифры программного кода переходят в компьютерный файл, за которой происходит отладка, проверка работоспособности и программная оптимизация.
Упрощение создания советника
Адаптировать данную задачу можно несколькими способами: использовать специальные программы или готовые блоки, которые разработаны своими силами и биржевыми торговцами.
Первый способ основан на использовании альтернативных программ, которые облегчают процесс создания советника, подобные настройкам в приложениях Windows, где каждый шаг доходчиво изложен для восприятия даже начинающим программистам.
Второй вариант предусматривает части кода программ, которые возможно отыскать на описанных вначале текста форумах, либо созданные самостоятельными силами. Самое важное – вы должны разбираться в работе этой части программы и изучить базис языка MQL4.
Как создать робота для торговли на Форекс в System Creator
Популярность автоматической торговли на Форекс и фондовых рынках растет день ото дня, однако простые трейдеры обычно только ищут готовых советников, а не разрабатывают их самостоятельно, так как считают это занятие сложным, требующим освоения языков программирования. Чтобы исправить ситуацию, было сконструировано простое приложение под названием System Creator, которое расскажет, как создать робота для торговли на Форекс без всякой специальной подготовки любому желающему.
Знакомимся с рабочей средой программы
Скачать System Creator можно вот ЗДЕСЬ, установка его стандартна и требует лишь двойного щелчка по исполняемому файлу, а после запуска рабочая среда будет выглядеть так, как на скриншоте.
Для удобства основные блоки разбиты по содержанию:
- Позволяет просмотреть сохраненные системы.
- Открывает доступ к инструментам для работы, включая возможность сохранения алгоритмов в виде готового советника, который можно сразу же начать использовать в MetaTrader4.
- Позволяет видоизменить множество отдельных настроек, скрытых для начала, чтобы не загромождать интерфейс.
- Дает возможность управлять стратегиями, создавая новую (New Strategy), открывая одну из созданных (Open) и предоставляя доступ к заготовкам в виде демо-систем (Repository).
- Позволяет познакомиться с уже готовыми демо-системами.
- Открывает инструкцию, но она только на английском.
- Тут три опции – отключение окна запуска, параметры автосохранения, закрытие стартового окна при открытии определенной стратегии.
- Список совершенных действий.
Приступаем к работе по созданию эксперта
После установки System Creator интерфейс будет по умолчанию англоязычный, поэтому исправляем это, выбирая пункт меню View, а внутри Language и Russian.
Чтобы изменения вступили в силу, перезапускаем терминал.
Изучаем настройки рабочего аккаунта
Чтобы сделать необходимые настройки, находим соответствующий пункт в меню «Счет» или нажимаем иконку шестеренки.
В результате отобразится такое окно.
Тут нужно создать свой profile.
Задаем уникальное имя и какое-то описание, а далее жмем «Добавить» и переходим на закладку «Главная».
Тут нужно в активном режиме указать название созданного аккаунта.
- бэктестер проставляем 2 птички в обоих полях;
- график баланса/капитала также ставим 2 птички, чтобы видеть как изменяется депозит.
- программа позволяет видоизменить графические настройки, управлять обновлением, подсказками, формированием отчетов о сделанных ошибках;
- сетевые настройки понадобятся тем, кто использует proxy.
Источник котировок для приложения System Creator
Чтобы задать, откуда подгружать котировки при разработке советника для Форекс, нажимаем «Источники данных».
Затем добавляем название и выбираем папку, где будут храниться данные. При желании можно сделать импорт данных из предварительно созданного Instruments.xml или из MT4, но делать этого обычно не нужно. Опции источника с котировками позволяют его описать, указав, к примеру, где они были взяты, если есть необходимость, а остальное лучше не изменять.
Опции тестируемого счета
Поскольку созданный робот должен тестироваться в определенных торговых условиях, то нужно задать основные параметры.
Тут в активном режиме можно:
- задать валюту депозита (USD, EUR, GBP, JPY);
- сумму денег на старте (по умолчанию 10 тыс.);
- размер плеча (по умолчанию 1:100);
- отображение результатов в пунктах или валюте, которая выбрана для депо;
- в обмене валют устанавливаем птичку, чтобы курс для отдельных из них пересчитывался автоматом.
Вкладка с символами
Формируем список символов, для которых загружены котировки.
Чтобы сделать это, просто вводится название пары, как в МТ4. Если же робот готовится не под валютные пары Форекс, то есть дополнительные поля для биржевых индексов и CFD. Для каждого инструмента еще можно указать: количество цифр после запятой, минимальный лот, максимальный лот, своп, спред, комиссию, проскальзывание и пр. Все эти данные можно взять из спецификации активов на сайте брокера, а спред выбрать средний, понимая, что робот в реальных условиях на Форекс покажет лучший результат.
Охват используемых данных
Вот такое окно и настройки здесь позволяют задать максимальную численность свечей (не более 50 тыс.), тиков (не более 100 тыс.) и временные рамки.
Программный код пользователя
В этом окошке приложения по созданию роботов System Creator выставляем в верхних полях все три птички.
Далее нас интересует пункт «Перейти на форум индикаторов». Тут можно выбрать необходимые для себя инструменты и загрузить их.
Выбрав нужный индикатор, можно:
- получить общие данные о нем;
- код языке C#;
- код MQL.
Затем нажимаем «Открыть папку индикаторов», а там уже сортируем все закачанные. Если подняться из User Files/Indicators в каталог User Files, то тут окно установочных файлов программы создания роботов выглядит так System Creator.
Здесь стоит обратить внимание на такие каталоги.
- Code содержит дополнения.
- Data хранит историю «.csv».
- Indicators – закачанные и сохраненные из МТ4 индикаторы в коде программы.
- Libraries – индикаторы в виде «.dll».
- Logs – сохраняет всю информацию о работе System Creator.
- MT4 Files содержит внутри Bridge Installer, позволяющий созданному тут роботу торговать в отдельном терминале MetaTrader4.
- Strategies – папка с созданными или скачанными торговыми системами.
- System – системные данные по работе приложения.
Чтобы сохраненные индикаторы стали отображаться в System Creator, нужно воспользоваться опцией «Обновить пользовательские индикаторы». В результате они из открытого кода (CS) преобразуются в библиотеку DLL.
Приемлемость
При желании здесь устанавливают некоторые ограничительные параметры при создании стратегий. Названия отдельных настроек говорят сами за себя.
Советник
Тут можно указать путь к МТ4, в который произойдет экспорт созданного робота.
Настройки
Тут можно тонко настроить проскальзывание.
Автостарт
При желании можно настроить автоматическое включение программы, указав, какие стратегии должны быть включены.
Также нужно вписать в Автозагрузку Windows название приложения System Creator.
Использование исторических данных
Для создания стратегии робота нужны котировки, на которых она станет тестироваться. Чтобы сформировать эту базу, заходим в «Исторический центр» (скрин прилагается).
Активировав его одним из удобных способов, откроется такое окошко.
Обращаем внимание на меню слева, где приведено 3 способа загрузки.
Первый состоит в закачке с сайта разработчиков, где котировки хоть и неплохие, но далекие от идеала.
Второй способ – закачать их с Dukascopy.
Тут нужно иметь предварительно скачанные котировки Дукаса, которые получают при помощи той или иной программы.
Третий способ состоит в том, чтобы подгрузить данные для создания и тестирования из собственного терминала.
Чтобы задать путь, нужно открыть терминал, выбрать в меню Файл подпункт «Открыть каталог данных».
В окне установочных файлов найти каталог «History».
Далее указываем путь, куда их нужно сохранить.
Статистика
При создании своих роботов важно отслеживать отдельные алгоритмы своей стратегии. Сделать это можно при помощи опции «Статистика».
Статистика внутри бара
В историческом центре полезно смотреть на статистику внутри бара.
System Creator при использовании баров имеет ограничения – до 100 тыс. на М1. Поэтому, чтобы в процессе создания и тестирования в котировках не было разрывов, стоит периодически заходить сюда и смотреть, нет ли ошибки по загруженным данным.
Как создать робота на основе своей системы
Разобравшись с тем, как устроена программа для создания торгового робота, переходим непосредственно к выполнению задачи, которой она служит. Чтобы сделать это, нажимаем «Создание новой стратегии» и задаем исходные параметры.
Тут есть один момент. Например, при открытии сделки в начале формирования новой свечки take и stop устанавливается в ней. Тут может быть два исхода. Первый негативный – сначала сработает stop, второй, напротив, позитивный, сделка закроется по take-profit.
Для того чтобы программа как-то определяла, какой из сценариев выбрать, есть 3 способа:
- Shortest опирается на меньшие временные промежутки, выбирая более короткий путь;
- Nearest определит, что ближе к открытию – стоп или тейк – и активирует его;
- Random будет закрывать позицию в случайном порядке.
Перечень основных параметров System Creator
Нажав на «Новая стратегия» правой кнопкой, открывается контекстное меню, предоставляющее доступ к ряду параметров.
Тут можно сохранять стратегии, задавая имя, открывать и закрывать вкладки. В левой части можно видеть 3 блока инструментов:
- разработка торговой системы;
- анализ созданного робота;
- стресс-тест.
Особого внимания заслуживает пункт «Стратегия», где задаются условия открытия позиций, их сопровождения и закрытия, а также определение торгового объема. Начать изучение нужно с активации свойств стратегии.
При открытии можно регулировать мани-менеджмент, выставляя первоначальный объем (в процентах или лотах) для новых позиций. Еще можно задать общее ограничение по сумме объема всех открытых сделок.
Дополнительные сигналы входа
Здесь можно настроить алгоритм по отношению к ситуации, когда сделка открыта, но рынок сформировал новую возможность для входа. То есть тут можно игнорировать сигнал, открывать новую сделку полноценным объемом, урезанным, встраивать сетку ордеров, замки, задавать кратность увеличения лота для создания роботов на основе Мартингейла и пр.
Правила открытия и закрытия позиции
Продолжая рассматривать программу для создания торгового робота, обращаем внимание, что под параметрами есть поля, которые помогают задать условия для открытия и закрытия сделки:
- набор условий для входа;
- логика действий при открытии;
- набор условий для выхода;
- логика действий при закрытии.
Если нажать «Добавить логическое условие для входа/открытия», то можно перейти к списку индикаторов и их параметров.
Выбираем нужный и указываем сигнал, который он генерирует.
На скриншоте есть восемь разнообразных путей, которые влияют на вход при открытии сделки в лонг. Для коротких позиций то же самое, но в зеркальном отражении. Для построения хитроумных алгоритмов можно сортировать индикаторы по группам, задавая им различные условия.
Задавая параметры для отдельных индикаторов, и используя их сочетания, формируется система, которую будет использовать робот.
На скрине видно, как впопыхах сформированная стратегия ведет к потере денег, а приложение System Creator снабжает разработчика торгового робота для мт4 всей необходимой статистикой.
Опции при создании торгового эксперта
Хорошо, когда трейдер заранее знает, что хочет сделать, но как быть, если это не так? Тут программа для создания торгового робота предлагает интересный генератор торговых алгоритмов.
Посмотрим, что он предлагает и в чем отличается от рассмотренных выше возможностей. Для начала тут другая панель.
Если нажать гаечный ключ, то откроется такое окно.
Здесь можно установить стоп, тейк, перенос в безубыток или не изменять их. Все цифры вводятся для 5-знака. Важно обратить внимание на число полей, отмечающих появление сигналов к открытию/ликвидации позиций. Тут можно задать параметры для открытия сделок по тем же или противоположным сигналам.
Кнопка с шестеренкой открывает доступ к настройкам.
Здесь можно настроить фильтры, отбирая алгоритмы по таким параметрам:
- увеличение баланса;
- коэффициент эффективности стратегии;
- коэффициент Шарпа;
- минимум по просадке;
- доходность;
- расчет HPR;
- профит фактор;
- баланс риска и прибыли.
Очень важно использовать время на разработку системы, отображается в минутах для рабочего временного промежутка. Если стратегия для дневных графиков, то нужно выбирать не менее 6 часов (360 мин.), что дает возможность создать одну-две неплохих системы. Если разрабатывать робота для Н4, то выбирают не менее 15 часов, выставляя 900 мин. Для часового таймфрейма уже понадобится не менее 3,6 тысяч минут! То есть на разработку такой стратегии уйдет примерно 1 неделя.
Используемые индикаторы
Здесь установкой птичек можно отобрать/исключить ненужные индикаторы, чтобы генератор брал в расчет только те технические инструменты, которые трейдер считает нужными.
Параметр охвата используемых котировок
Здесь задается объем данных на истории, которые задействуют для тестирования. Тут стоит выставить 1/3 от общего максимального значения имеющихся данных. Далее нужно отобрать блоки, которые должны остаться неизменными. Для этого щелкаем на них дважды, пока не закроется замок.
Создание торговых экспертов
При сравнении генератора с редактором, среди отличий будет еще вот такая панель.
Тут можно нажимать на «Начало», после чего начинается предварительный расчет, который проходит в десятки, если не в сотни раз быстрее, чем в мт4.
Каждую из сгенерированных алгоритмических систем можно обнаружить в «Хранилище», доступ к которой можно получить из пункта меню «Вид».
Открыв его, стоит обратить внимание на две расположенные в левой части группы репозитария – локальную и online. Первый из них содержит данные относительно тех алгоритмизированных разработок, которые имеются на локальном ПК, а второй дает доступ к наработкам торговых роботов для Форекс от авторов System Creator.
Под этими вкладками есть фильтры для сортировки стратегий, позволяющие убрать из просмотра те, которые не соответствуют определенным параметрам. Кроме того, нажимая на картинку с графиком, можно рассмотреть отдельные блоки системы, а ниже – детальную статистику.
Нажав дважды левой кнопкой мышки по превью изображения с параметрами робота, можно открыть окно редактирования его стратегии, куда можно вносить правки.
Как анализировать созданные стратегии
При отборе созданных торговых роботов крайне важно внимательно изучать и отсеивать различные варианты стратегии, которые легли в их основу. В результате должна остаться одна-две жизнеспособных системы, которые экспортируют в файл советника для мт4, где он прогоняется в тестере. Сразу стоит предупредить – процесс компиляции робота в файлы mql4 довольно длительный, из-за чего возникает соблазн пропустить этот шаг.
Но делать этого не стоит, так как System Creator иногда ошибается с просадкой, а также не всегда верно оценивает риски, поэтому крайне важно проверить жизнеспособность робота, который в МТ4 может показать совсем другие результаты.
Отобрав самые жизнеспособные варианты, можно ставить их на демо-счет, чтобы окончательно убедиться в том, что они заслуживают внимания и им можно доверить свои кровно заработанные доллары. Ни в коем случае не стоит протестированный робот ставить сразу на реальный счет Форекс, так как это чревато неоправданными потерями средств.
Владельцы мощных многоядерных процессоров могут формировать системы под отдельные торговые активы, а затем запускать под каждую отдельно генератор создания робота, чтобы экономить общее время.
На выходе после окончания работы генератора в хранилище попадает большое количество стратегий. Отсеяв их по результатам форвард-теста и откровенно слабым результатам, можно 1-2 оставить для дальнейшего исследования.
К примеру, недавно проводили генерирование системы для D1 на валютные пары GBP/USD и EUR/USD, после чего приложение проработало миллионы вариантов за почти 14 часов и выдало около 6-ти сотен стратегий, среди которых десяток показали неплохие результаты после форвард-теста.
На скриншоте выше можно видеть, что советник основан на отработке разворотного паттерна, состоящего из 3-х свечей. Открыв по ним позицию, робот закроет ее после выполнения условий, формирующихся двумя независимыми группами осцилляторов.
Как оптимизировать созданные алгоритмы
После того как было получено несколько работоспособных вариантов, можно переходить к оптимизации.
Для этого можно задействовать такие параметры.
Перечень настроек довольно скромный, а их названия говорят сами за себя. Достаточно выставить птички, отметив нужные, а далее жмем «Начало» и ожидаем, пока система не поместит в хранилище наиболее интересные варианты.
Описанные выше возможности, вне сомнения, очень полезные, но есть ряд и других крайне полезных возможностей.
Возможности функций обзора
Инструменты этой группы состоят из графика баланса, обзора, основного графика, журнала и проводника. Рассмотрим каждый более детально.
Обзор
Описание робота в текстовом режиме с указанием того, как он входит в рынок, выходит и пр. Здесь же есть скрины, поясняющие некоторые моменты функционирования созданной алгоритмизированной системы.
Балансовый график
С локализацией у программы есть сложности, так что имейте в виду, выбрав балансовый график, можно получить следующее переплетение линий:
- цена актива отображается линией серого оттенка;
- баланс – черным;
- увеличение баланса за счет покупок – зеленым;
- увеличение баланса за счет продаж – красным;
- изменения эквити – оранжевым.
Основной график
Этот пункт позволяет отобразить на ценовом графике все используемые индикаторы и сделанные торговые операции, которые отмечаются зеленой стрелкой для покупок, красной для продаж. Заркытие позиции отображается крестиком, тейк-профит – зеленой линией, а стоп-лосс – красной.
Сразу сверху над графиком располагается панель инструментов, которая позволяет:
- Отобразить сетку.
- Задействовать перекрестие.
- Включить объемы.
- Показывать стрелочками точки входа.
- Объем открываемых сделок.
- Уровни открытых сделок.
- Уровни SL и TP.
- Сомнительные бары.
- Индикаторы.
- Увеличение масштаба графика.
- Уменьшение масштаба графика.
- Опции переключения визуального отображения графика в виде линии, построенной по ценам закрытия.
Проводник по информации внутри свечи
Чтобы посмотреть, как созданный робот действовал в рамках временного промежутка, отведенного на формирование одной свечи, можно воспользоваться специальным проводником. Он покажет, какой логики эксперт придерживался при принятии спорных решений, что может влиять на конечный результат.
Определив эти моменты создания алгоритмизированной стратегии, можно рассмотреть, как проводить стресс-тест отобранных вариантов.
Компаратор
Для начала проверяют, что тест при помощи различных способов выдает плюс/минус похожий итог.
Чтобы это сделать, нажимают «Начало», а затем смотрят, как программа выдает балансовые графики. Если они схожи или вышел один график, то все в порядке, в противном случае можно удалять созданного советника.
Мультирынки
Далее следует проверить, как торговый эксперт торгует на различных рынках. Если она работает на одном, но сливает на другом, то это плохой признак, демонстрирующий ее неустойчивость.
Монте Карло
Заключительный тест, после которого, если все прошло успешно, стратегию можно сохранять.
Здесь можно видеть симуляторы 3-х категорий:
- изменение непосредственно рынка;
- изменение системы;
- проблемы с исполнением.
Первый из них позволяет проверить, что будет, если рынок изменится. Тут можно внести в исторические данные некие добавления, расширить спред и пр.
Можно сделать настройку, а затем нажать «Начало», после чего система проведет тестирование и выдаст результат.
Ключевое преимущество такого тестирования состоит в получении худшего возможного результата из всех возможных, за него отвечает самая нижняя из линий. То есть, если она показывает прирост баланса, то с разработанным советником все в порядке.
Автоторговля
Чтобы советник торговал, но при этом не пришлось его компилировать в код mql4, нужно слева в меню изменить режим на «Trader».
Но перед тем как все заработает, вспомним, что по адресу User Files – MT4 Files у нас есть специальный мост, который соединит программу для создания робота для мт4 с торговым терминалом. После его установки, прикрепляем мост на тот же график и временной промежуток, которые выбраны для работы стратегии, назначив ID и скопировав в приложение Set connection ID:
Нажав «Начало», советник включится и приступит к торговле. На практике действовать так не очень удобно, поэтому лучше сохранять экспертов в mql4.
Вот такая многофункциональная программа для создания робота System Creator.
Как мы создали Грааль для торговли на новостях и все потеряли
Это история поиска, разработки и тестирования идеального советника для торговли на новостях. Фееричный взлет, сотни процентов доходности и встреча с суровой реальностью. Надеемся, вы извлечете уроки из этого рассказа…
Думаю, ни для кого не секрет, почему арбитражные системы привлекают к себе так много внимания. Получать деньги без риска – идея очень привлекательная. Именно поэтому работа новичка на форекс почти всегда начинается с поиска грааля. С одной стороны, в этом нет ничего удивительного – вполне естественное желание человека достичь цели максимально коротким путем. Но, по чистой иронии, на форекс этот путь оказывается самым длинным.
Самое простое определение грааля – машинка для печатания денег. Трейдер в этом процессе может вовсе не участвовать, чаще всего выступая в роли триггера, запускающего машинку в действие. Сейчас граалем никого не удивить, почти у каждого есть парочка для себя и еще несколько для друзей. И, казалось бы, задача поиска идеальной торговой системы исчерпала себя – выбираем понравившуюся систему из первых строчек выдачи гугла по запросу ” форекс 1000% в месяц”, тестируем и ставим на реальный счет копить миллионы.
К сожалению, реальный рынок не имеет ни малейшего понятия о происходящей вакханалии в умах граалеводов и без толики сомнений сливает всех позарившихся на его богатства кладоискателей. На этой стадии начинается прозрение, и ранее данное определение грааля оказывается в корне неверным и вообще чем-то околомифическим.
Само собой, идея покорения такого существа, как рынок, не могла покинуть умы нескольких трейдеров-энтузиастов и коллективный разум начал генерировать самые разнообразные идеи, начав, конечно же, с раскопок скелета времен палеозойской эры – Иланозавра (Советник Илан) . Зверь был просвечен рентгеновскими лучами, предназначение каждой косточки было обнаружено и были изучены все недостатки его генетического устройства. В итоге, живое существо обрело облик машины, оказавшись быстрее, мощнее и сильнее своего предшественника, при этом обладая все теми же недостатками.
Очевидно, данная разработка не вела к высоким заработкам, так как обладая неплохой прибыльностью, накладывала уж очень большие риски. Затем, было решено идею оставить и опробовать еще один не менее известный торговый метод – торговлю на новостях. На этот раз, это был однозначный успех. Ордера открывались почти идеально с помощью простого советника, и даже вручную. Ощущение было такое, словно высший разум поделился долей своего интеллекта и ты вдруг осознал смысл существования вселенной.
Уникальная идея
Итак, первый этап – формализация торговой идеи. Сама по себе идея торговли на новостях давно витала в воздухе, но казалась нереализуемой. И, надо сказать, не беспочвенно. Если судить адекватно, чтобы торговать новостями на реальном рынке, нужно спуститься на достаточно низкий уровень, далекий от уровня обычных трейдеров. Но, как ни странно, это работало, и положительный наклон линии баланса тому подтверждение.
В целом, принцип торговли новостями очень примитивен. За некоторое время перед новостью (как можно меньшее) выставлялось два противоположных стоп-ордера на достаточном расстоянии от цены (зависит от инструмента). При выходе новости цена пробивает один из ордеров, после чего за очень короткое время может пройти расстояние в несколько сотен пунктов. Нам же остается только зафиксировать прибыль и радоваться тому, как депозит буквально в мгновение подрос на одну зарплату работника Макдональдс.
Знающий читатель скорее всего заметит, что не все так просто в описанной схеме, и будет прав. Все же, на рынке существуют проскальзывания и, по сути, не имеет значения, где ты оставляешь ордера – те могут проскользить до самой вершины, где в итоге и будут исполнены. В большинстве случаев, при таком исходе съедается вся прибыль. В чем же секрет?
Так вот, дело в том, что у брокера напрочь отсутствовал механизм проскальзываний. Само собой, это был архаичный маркетмейкер, выдававший себя за ECN-брокера, которым, разумеется, не являлся. Однако, эта особенность позволяла идеально приторговывать новости, не пункта не тратя на проскальзывания. Из издержек оставалось только несколько пунктов фиксированного спреда.
Итак, идея уже работала и приносила деньги при торговле вручную. Конечно, успевать за потоком цены во время новостей не самая простая задача, даже при таких царских условиях. Затем, логичным продолжением становится создание автоматического советника, торгующего по заданному алгоритму, и имя ему – Pull.
Создание робота
Сказано – сделано. Для начала было решено модифицировать уже готовый советник, дабы сразу же протестировать его в деле. Поэтому, поначалу робот был достаточно простой, с вполне стандартными для такого типа советников параметрами. Разве что, функционал был несколько расширен добавлением тайм-фильтра и виртуального трейлинга.
Сам алгоритм тоже достаточно прост. При запуске советника выставляется два противоположных ордера, на фиксированном расстоянии от цены. Делается это за некоторое время до новости, как правило, не более нескольких минут. При активации одного из ордеров второй удаляется. Для фиксации прибыли используется виртуальный трейлинг стоп и тейк профит. Также имеются таймеры на отключение трейлинг стопа и удаление несработавших ордеров, если прострела не произошло.
Даже в таком виде работа сильно упрощалась. Собственно, оставалось только следить за новостным календарем и вовремя запускать советник. Но все же это было еще далеко от той самой печатной машинки. Поэтому, в следующей версии упор был поставлен на глубокое планирование.
Все новости было решено записывать в отдельный текстовый файл “news.txt”. Робот расценивал файл, как сценарий к действию. Таким образом, торговлю можно было планировать наперед и время от время дополнять файл новыми данными. Советник теперь нужно было запускать всего один раз. Впоследствии идея с файлом развивалась, и для каждой новости в отдельности теперь можно было указывать свой расширенный набор параметров.
В последующей итерации было решено автоматизировать все, что только возможно. По сути, позарились мы на то, чтобы убрать все рутинные процессы из работы полностью, оставив только возможность предварительной настройки.
Итак, первая проблема – загрузка новостей. Постоянный мониторинг календаря утомляет, естественно, все это надо автоматизировать. Благо, существует много сервисов с бесплатным доступом к экономическому календарю. Выбор оставили на myfxbook, где была возможность экспорта в csv формат, который очень просто парсился советником (сейчас правда для получения данных нужна регистрация).
Новости скачиваются автоматически, попутно синхронизируясь с временем брокера. Советник скачивал календарь новостей на будущую неделю, отбирал новости по значимости (в параметрах указывалось, какие новости учитывать) и записывал их в уже знакомый “news.txt”. Этот файл уже затем можно было редактировать как угодно, добавляя или изменяя параметры. Таким образом, у робота теперь была точная программа того, как торговать каждую новость в течении недели, какие стопы выставлять и т.д. Выглядело это примерно так:
На одну дату и время могло указываться по несколько символов. Актуально для новостей по доллару, например, где в ралли учавствуют все мажоры. Буква D означает открытие позиции минимальным лотом – чисто для статистики. Буква S – коэффициент стандартного лота. Можно делить и умножать, используя соответствующий знак. И последнее числовое значение – опциональный тейк профит.
Все дополнительные параметры, разумеется, были предназначены для ручного редактирования. Поэтому, далее, было решено собрать обширную статистику по всем новостям, с целью найти средние значения расхождений, дабы советник мог самостоятельно решать, какие выставлять параметры. Все спреды были выписаны в отдельный файл и разбиты по отдельным новостным событиям. За новостной спред (волатильность движения) брался размер первой минутной свечи, что, в большинстве случаев, есть время наибольшей активности.
Затем, с разбивкой по мажорным парам были рассчитаны средние значения спредов.
В ходе работы советника новые значения записывались в файл, и вычислялось среднее скользящего окна. Таким образом, робот самоадаптировался к торговле. Значения спредов затем использовались при установке тейк профита, стоп лосса и трейлинг стопа. Новости, генерирующие незначительный разброс цен, игнорировались.
Что-то пошло не так
Какое-то время механизм работал идеально. Машинка печатала деньги, понемногу пополняя внутренний кошелек. Попутно делались небольшие выводы, суммарно достигшие примерно 100% от первоначального депо. Но, в какой-то момент все это прекратилось, и счет был заблокирован.
Такое решение объяснялось двумя пунктами клиентского соглашения. Первый указывал на ограничение максимальной прибыли с одной сделки, второй ограничивал минимальное время удержания позиции. Как выяснилось позже, вам даже не обязательно нарушать правила – сделки могли быть просто аннулированы без объяснения причин. То есть, брокер оставляет за собой право скорректировать финансовый результат любого трейдера, при любом удобном случае. Сверхприбыли – уже очень веская причина.
То есть, по сути, для попадания под запрет совсем не обязательно торговать новостями. Но, в связи с особенностями исполнения ордеров, именно торговля новостями оказалась тем самым арбитражем – станком для печатания денег, если хотите.
Что интересно, сам факт нарушения местных законов остается скрытым от вас максимально долго. Вы не получите оповещения или предупреждения о возможных проблемах – ничего подобного. Просто при выводе средств финансовый отдел проанализирует количество нулей в выводимой сумме и уберет оттуда лишние, в лучшем случае, либо же полностью заблокируют счет. Вы можете месяцами торговать в прибыли, даже не подозревая о том, что своих денег вы больше никогда не увидите.
Поиск альтернатив
Несмотря на неудачу, энтузиазм у коллектива оставался, поэтому было решено подойти к проблеме с другой стороны. Таким образом, штат был резко переквалифицирован в тестировщиков. Открывались счета одновременно у нескольких брокеров и проверялось исполнение, спреды и проскальзывания. Робот активно тестировался на популярных ECN/STP площадках и кое-где даже оставался в прибыли, но эти гроши не входили ни в какое сравнение с предыдущими результатами. В большинстве же случаев, торговля велась в убыток.
Временами виделся свет, в виде брокеров, рекламирующих торговлю на новостях. Здесь, на самом деле, существовало два варианта. Или это обычные маркетинговые уловки или контору завтра закрывают. Так уж вышло, что банки ввязались в ритейл форекс не для того, чтобы раздавать бесплатные деньги. Токсичный поток будет напрочь заблокирован провайдером ликвидности при первом обнаружении. Поэтому, торговать новости на реальном рынке на уровне ритейл форекса в принципе нереально – не просто так LMAX выкинул всех частников. Возможно, в будущем ситуация измениться, с появлением полноценного ECN, например.
Почему брокеры не любят новости
Компании, работающие по схеме ECN/STP (см. Как устроен рынок Forex) будут рады новостникам, скальперам и любым другим трейдерам, генерирующим большие объемы. Чем больше трейдер генерирует комиссии, тем лучше. Брокер в этом случае ничем не рискует, так как он никогда не исполнит сделку, не получив сперва подтверждение от провайдера ликвидности.
Торговать таким образом новости практически нереально, как минимум, по двум причинам. Во-первых, задержка на отправку ордера усугубляется сложностью исполнения во время экстремальных рыночных ситуаций. Если ликвидность нулевая, отмененный ордер будет отправятся к следующему поставщику, затем к следующему, и так далее, пока наконец не будет исполнен. В идеале, ордер будет исполнен по лучшей на текущий момент рыночной цене, если пул провайдеров достаточно большой.
Во-вторых, в большинстве случаев, вы даже не успеете отправить ордер на исполнение. За некоторое время до новости рыночный стакан почти полностью опустошается, что в терминале отражается в виде существенного расширения спреда (десятки пунктов). Таким образом, выставить ордер в начале импульса нет никакой возможности – рентабельность такой сделки нулевая.
В свою очередь, брокеры, работающие по маркетмейкерской схеме (внутренний клиринг), зарабатывают на убытках клиентов, то есть, играют против трейдеров. При отправке ордера брокер сразу же его подтверждает, без согласования с третьей стороной. Соответственно, перекрыть новостную позицию нет никакой возможности, и вся полученная прибыль есть прямой убыток компании.
Заключение
На самом деле, с роботом было все в порядке – свою задачу он отработал на 100%. Проблема была в том, что мы полагались на уязвимость единственного брокера, т.е. были зависимы от него. Даже если это арбитраж, единственно уязвимое место может погубить всю систему, что в результате и случилось с Пуллом.
Еще одна мораль – не стоить шутить с кухнями. Такие конторы очень не любят, когда у них забирают деньги. Даже если вам удалось вывести некоторый капитал, рано или поздно, это будет замечено, и грамотно составленный договор может сыграть не в вашу пользу. Размер компании ни о чем не говорит. Договор публичной оферты и отзывы реальных клиентов – единственные наиболее приближенные к реальности критерии оценки.
Вот она – вершина человеческого гения. Ты, как капитан автономного корабля, следишь за тем, как на графике появляются и пропадают названия пунктов назначения, а в бортовом журнале робот периодически отчитывается о проделанной работе. Казалось бы, ничто не может сбить автопилот с курса – график рос, но словно вмешалась сила притяжения и в один момент график потерял свою актуальность.
Источник http://biznes-prost.ru/osobennosti-sozdaniya-sovetnikov-dlya-torgovli-na-forekse.html
Источник http://brokers-fx.ru/trejderu/torgovyie-sovetniki/kak-sozdat-robota-dlya-torgovli-na-foreks-v-system-creator
Источник http://tlap.com/kak-myi-sozdali-graal/
Источник