Программа для создания советников форекс – программируем без знания mql4.

Инструкция

Самой распространенной торговой платформой для Форекса является терминал mt4. Соответственно, именно под него большинство советников. Если у вас еще нет терминала, скачайте его с сайта дилингового центра, с которым вы работаете.

Запустите терминал. Откройте редактор MetaEditor, нажав F4. В появившемся окне редактора во вкладке File выберите пункт New, откроется Expert Advisor Wizard («Мастер создания советника»). Выберите тип создаваемого советника - Expert Advisor. Нажмите «Далее». В следующем окне введите имя советника и данные автора (если хотите).

В том же окне находится Parameters – нажмите находящуюся справа кнопку Add. Появится новый параметр Extparam1. Используя параметры, вы сможете «научить» выполнять нужные действия. Например, измените название параметра Extparam1 на StopLoss, дважды кликнув строку мышкой и введя новое имя. Тип параметра установите как double. Значение параметра (Initial value) установите равным величине допустимого для вас проигрыша – например, 20 пунктам.

Точно также вы можете ввести значение для профита и других параметров. Можно ничего на этом этапе не вводить и ввести нужные значения позднее вручную, непосредственно в код. Нажмите «Готово», перед вами появится окошко с базовым кодом советника.

Обратите внимание на функции init, deinit, start. Первая выполняет операции, связанные с инициализацией советника после его запуска. Вторая выключает советник при его отключении или закрытии терминала. Самой важной является функция start, так как именно она обрабатывает все данные, приходящие с каждым новым тиком (изменением цены).

Как работает советник? В его код необходимо вписать строчки, благодаря которым он будет открывать или закрывать ордер при соответствии складывающейся ситуации заложенным в логику советника условиям. Например, простейший советник может быть построен на учете показаний индикатора Moving Average – скользящей средней. Строятся две средние с разным периодом – например, 5 и 15. Если быстрая линия пересекает медленную снизу вверх, открывается ордер на покупку. Закрытие происходит при достижении нужного профита или при пересечении быстрой линией медленной сверху вниз.

Точно так же происходит открытие и закрытие ордера на продажу. Для снижения количества ложных сигналов можно ввести правило, по которому ордер будет открываться только после того, как быстрая линия уйдет от медленной на какое-то расстояние – например, 10 пунктов. Конкретные настройки вы сможете выставить, определив наиболее удачные параметры.

Как написать конкретные строчки кода? Для этого вам необходимо овладеть азами языка mql4. Много полезных материалов, включая учебники, вы сможете найти здесь: http://forum.mql4.com/ru/ Не беритесь сразу за создание сложного советника – наделите его сначала простейшими функциями, после чего постепенно усложняйте. При этом обязательно сохраняйте базовые версии – они пригодятся вам, если придется вернуться к прошлым вариантам.

Поставляемой вместе с торговой платформой. Для этого выберите пункт "Советник (сгенерировать)" на первой странице Мастера MQL4/MQL5.

Заполните следующие поля:

  • Имя - название советника, это же имя будет присвоено и файлу эксперта. Здесь также можно изменить путь к конечному файлу. Например, создать его в новом подкаталоге в \Experts.
  • Автор - имя автора.
  • Ссылка - адрес электронной почты или интернет-сайта разработчика.

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

  • Symbol - в поле "Значение" укажите символ, на котором будет работать советник. Если указать "current", советник будет работать на любом символе. В качестве рабочего символа будет использоваться символ графика, к которому прикреплен советник.
  • TimeFrame - в поле "Значение" укажите период, на котором будет работать советник. Если указать "current", советник будет работать на любом периоде графика.

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

Чтобы перейти к добавлению или изменению настроек модуля, нажмите "Добавить" или "Изменить".

Укажите параметры модуля сигналов:

  • Имя - настраиваемый (добавляемый) модуль сигналов. Файлы исходных кодов сигналов расположены в директории \MQL5\Include\Expert\Signal\. Чтобы перейти к подробному описанию выбранного модуля , нажмите кнопку "?".
  • Символ - рабочий символ, ценовые данные которого будут анализироваться модулем.
  • Использовать текущий - при включении данной опции, рабочим символом модуля будет выбран рабочий символ самого советника .
  • Период - рабочий период, который будут анализироваться модулем. При выборе "current" рабочим периодом модуля будет выбран рабочий период самого советника .

Для каждого модуля сигнала существует определенный набор встроенных параметров:

  • Имя - название параметра. Например, PeriodMA - период используемой скользящей средней.
  • Тип - тип переменной параметра. Например, int - целочисленный.
  • Значение

На этом этапе выберите тип перемещения торговых уровней стоп-лосс и тейк-профит.

В поле "Имя" выберите тип трейлинга. Файлы исходных кодов данных функций расположены в папке [каталог данных платформы]\MQL5\Include\Expert\Trailing\. Для каждого типа трейлинга предусмотрен свой набор параметров.

  • Имя - название параметра.
  • Тип - тип переменной параметра.
  • Значение - значение параметра, которое будет использоваться по умолчанию

На этом этапе выберите тип управления капиталом для советника.

В поле "Имя" выберите тип управления капиталом. Файлы исходных кодов данных функций расположены в папке [каталог данных платформы]\MQL5\Include\Expert\Money\. Для каждого типа управления капиталом предусмотрен свой набор параметров.

  • Имя - название параметра.
  • Тип - тип переменной параметра.
  • Значение - значение параметра, которое будет использоваться по умолчанию.

Нажмите "Готово", чтобы сгенерировать MQ5-файл советника. Чтобы получить исполняемый файл советника, который можно запустить в торговой платформе, скомпилируйте полученный MQ5-файл. Для этого нажмите " Компилировать" или F7.

Головной мозг трейдера функционирует не совсем обычным образом. Человек, далекий от финансовых рынков, действует рационально и предсказуемо. Когда же в дело вступает индивид, мыслящий исключительно свечными комбинациями, последствия предсказать гораздо сложнее. Как частное, сбитые жизненные приоритеты и повышенная импульсивность – известные пороки трейдеров. Сам процесс торговли становиться самоцелью, и биологический компьютер в недрах черепной коробки входит в бесконечный цикл, зависая на абстрактной идее идиллического существования и собственной яхты, пришвартованной у пирса набережной особняка.

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

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

1. Разработку форекс робота начинаем с идеи

Разработка робота для торговли на рынках – это непрерывный поиск идей и, как частное, поиск Святого Грааля. Вопреки утверждениям непросвещенных граждан, Грааль находится достаточно просто – скажем «спасибо» технологическому прогрессу. Попробуйте вбить в гугл «Святой Грааль Форекс» – скорее всего, советник вашей мечты находится на первой странице выдачи, к тому же абсолютно бесплатен.

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

Уверен, идея вашего советника абсолютно уникальна и не имеет аналогов. Но, в любом случае, глупо не попытаться найти похожие разработки других авторов – масштаб проделанных исследований сложно оценить, пока не столкнешься с ним лицом к лицу. Человечество идет на пути к технологической сингулярности, и новые разработки внедряются настолько быстро, что осмыслить весь выложенный материал часто не представляется возможным. Если же подобных разработок все же не нашлось, и протестировать идею без проведения собственных исследований нельзя, пора переходить к следующему этапу.

2. 4 важных вопроса перед разработкой

Но перед этим попытайтесь ответить себе на следующие вопросы:

  • В чем состоит ваша торговая идея?
  • Какие задачи будет решать советник, и какое объективное преимущество это может дать в торговле?
  • Возможно, вам нужен графический индикатор или вспомогательный скрипт?
  • Насколько идея реализуема технически, и можете ли вы самостоятельно оценить ее сложность?

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

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

У новичков на валютном рынке часто возникает множество вопросов, ответы на которые бывают не совсем очевидны, либо являются лишь вопросом неопытности оного. Будучи начинающим трейдером, достаточно прочитать одну книгу Билла Вильямса, чтобы на всю жизнь подменить понятие торгового хаоса торговым порядком. Затем такие люди удивляются, почему вот здесь да не купить, а вот здесь да не продать, и заказывают у программистов советник по пересечению двух скользящих средних. А ведь на начальных этапах обучения это вполне можно отдать на откуп готовым инструментам разработки. Одной из таких как раз является MQL5 Wizard – мастер по созданию советников для MetaTrader 5.

Для реализации простых вещей Мастер идеален. Вам не нужно обладать никакими магическими способностями – навыки программирования здесь не требуются. Несколько простых шагов, и советник готов. Уже готовый советник можно протестировать в том же терминале MetaTrader. Держите комбайн по производству простецких Граалей.

Итак, для начала запускаем MetaTrader 5 и переходим в редактор приложений (кнопка F4). На верхнем меню жмем кнопку «Создать» и в появившимся диалоге выбираем генерацию нового советника.

Добавляем модули торговых сигналов. Модули могут быть как стандартные, так и разработанные сообществом (вы тоже можете поучаствовать в данном процессе).

Собственно, все стандартные сигналы хорошо описаны в онлайн справке на официальном сайте. Там же можно скачать и кастомные.

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

Обычный трейлинг стоп или закрытие сделки по значениям индикатора – на ваш выбор.

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

Собственно, даже если вы не состоите в клане Метатрейдера, не страшно, наверняка уже написан конструктор под нужную вам торговую платформу. Дело, опять же, в возможностях и желании. Мораль проста: не стоит пытаться реализовать то, что уже давно реализовано . Игнорирование чужого труда может дорого обойтись, придумывать науку заново совсем не обязательно.

Итак, вы уже обладаете некоторым торговым опытом, вы проверили свою идею в торговле или имеете точное представление о том, как она будет работать на реальном рынке. Значит, пора переходить к написанию формальных правил вашей стратегии. Часто на этом шаге начинаются проблемы у большинства последователей гуманитарных наук – люди сталкиваются с непреодолимой стеной непонимания, когда абсолютно идеально отработанная в голове схема перестает работать при переводе на технический язык.

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

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

Пример плохого задания для создания торгового советника – его отсутствие. Само намерение заказчика может быть и понятно: есть индикатор, нужно написать торгового робота, ну а дальше что?

«Старайтесь вникать в процесс работы и всего, что непосредственно касается реализации идеи вашего советника»

Как закрывать сделку? Как ее сопровождать? Какие выбирать объемы? Что делать с ? Нужно понимать, что программист не обладает экстрасенсорными способностями. Если вы такого найдете, обязательно дайте знать, такие люди не должны пропадать.

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

Мораль : чем больше подробностей вы предоставите в задании, тем легче его будет понять, осмыслить и, в конце концов, реализовать.

7. Выбор исполнителя

Если у вас нет опыта работы с фриланс-биржами, попробуйте представить себе субэкваториальную версию ада. На самом деле, не все так страшно, но некоторые нюансы все же стоит учитывать.

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

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

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

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

Один из типичных примеров – недопонимание форматов файлов и их значения. Вроде: «У меня тут есть.dll библиотека (.exe файл или.ex4 программа), не могли бы вы быстренько поправить то и то, а я вам за это копеечку закину? Нет? А почему? Василий мне сделал советника за 5 баксов, а вы плохой разработчик значит!».

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

Этап сдачи работы – самый сложный. Будьте уверены, каждый исполнитель с горя пьет успокоительный отвар, черным маркером отмечая день календаря, когда его в очередной раз просят поправить и без того исчерпавший все сроки заказ. Как и вселенной, совершенству нет предела, но в определенный момент нужно собраться и сказать – задача завершена.

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

Со стороны исполнителя же работа завешена ровно тогда, когда исполнены все пункты заказа. Техническое задание для программиста – это четко проведенная тропа, отходить от которой значит додумывать за заказчика. Иногда эта тропа заводит в тупик, как дорога из бывшей столицы Руси в либеральную Европу. То есть, на этапе приема работ выясняется, что задача, оказывается, состояла совсем не в том, а в кардинально обратном.

Если задача небольшая, исполнитель вполне может пойти на уступки, и исправить работу в соответствии с новым ТЗ. Если работа проделана масштабная – что-либо менять уже поздно. Частая проблема – тотальная отрешенность в процессе разработки, например, отказ от участия в бета-тестировании: «Зачем вы мне скинули советника с ошибками, я что за вас тестировать еще должен?» или: «Откуда я знаю, как этот ваш тестер запускать, я программист что-ли?».

Для адекватного человека такие заявления режут слух, исполнитель же впадает в депрессию. Разработка торгового робота – это, в первую очередь, работа. Если вы ищете готовое решение, существует магазин готовых советников, где советника за вас и протестируют, и вымоют до блеска, попутно документируя его историческую успешность. В таком случае, обращаться на фриланс-биржу не имеет смысла.

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

Заключение

Великие деятели, как Альберт Хофманн, не дадут соврать. Опыт создания своего продукта бесценен. Если же вы пришли на валютный рынок по собственному желанию, поверьте, это надолго.

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

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

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

В общем случае можно выделить несколько способов создания собственных советников:

  • с нуля – для этого, как правило, используется metaeditor, этот способ требует знания языка программирования;
  • путем модификации кода существующего советника;
  • с использованием «костылей» в виде специальных программ.

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

Forex EA Generator – популярная программа для создания советников форекс

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

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

Начать нужно с выбора метода анализа рынка – по тикам или с каждой новой свечой (раздел Start в левой панели). После этого поблочно начинается работа над самим советником. В левом части выбирается нужный блок и после щелчка на рабочем поле появляется прямоугольник с соответствующей надписью. Потом их нужно соединить стрелками вручную.

И только на следующем этапе эта программа для создания советников форекс позволяет перейти к заданию свойств каждого блока. Для того, чтобы перейти к редактированию, например, блока Technical Analysis нужно:

  • в панели инструментов (верхняя часть экрана) выделить вкладку Analysis – Technical Analysis;
  • выделить соответствующий блок в рабочем поле программы;
  • в левой части экрана в окне Properties задать условия для входа в рынок.

После завершения работы нужно скомпилировать советник (нижняя часть экрана).

Gordago Forex Optimizer – многофункциональный конструктор

Создатели этой программы попытались приблизить ее по функциональности к торговой платформе. То есть в ней можно не только «собрать» советник, но и тут же протестировать его на тиковой истории. А если брокер предоставит доступ к серверам, то и торговать можно с помощью этой же программы.

Работа начинается с того, что в меню File выбирается пункт New – открывается окно с условиями для входа и выхода из рынка. По умолчанию трейдер попадает в меню Продажа. В правой части экрана сосредоточены основные инструменты для анализа рынка.

При выборе, например, MA сперва нужно задать диапазон значений скользящей средней, а затем просто перетащить буквы МА в строку условий. При этом нужно не забыть выставить рабочий таймфрейм. Параметр Close также находится в правой части экрана (раздел Price), он выбирается и перетаскивается в строку условий, затем между параметрами МА и Close ставится знак больше или меньше.

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

Создание советников в автоматическом режиме

Hlaiman EA Generator – попытка полностью автоматизировать процесс создания советников. Принцип работы в корне отличается от описанных выше программных комплексов. Если в остальных программных продуктах основную часть работы делал трейдер – то есть вручную указывал параметры будущего робота, то Hlaiman сам «пишет алгоритм» советника. Работает эта программа с терминалом МТ4.

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

Тем не менее, это не искусственный интеллект, так что и здесь есть некоторые ограничения:

  • во-первых, нельзя произвольно расставить стрелки и надеяться на получение адекватного советника. Каждая стрелка должна стоять на графике в точном соответствии с правилами стратегии, которую нужно автоматизировать;
  • во-вторых, существует прямая зависимость между числом отмеченных сделок и успешность советника. Нужно отметить на графике хотя бы 200 сделок (по 100 в каждую сторону).

После этого остается только нажать кнопку запуска «MakeAlgorithm» и получить готовый советник. Подход к реализации написания советников выглядит интересным, но эта программа для создания советников форекс отсутствует в свободном доступе, так что сказать что-либо конкретное о ее адекватности сложно.

Подведение итогов

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

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

Тем не менее, не нужно возлагать слишком большие надежды на программы для написания ботов. Это лишь вспомогательный инструмент, ведущая роль все равно остается за человеком и именно от него зависит, насколько успешным получится советник. Источник:

Социальные кнопки для Joomla

Популярное:

  • 14.11.2013 06:32 | Индикатор разворота - определяем конец тренда 52830
  • 02.04.2015 10:04 | Индикатор VSA читает рынок как открытую книгу 49708
  • 23.09.2014 11:08 | Конструктор советников форекс позволит создать любой торговый робот 46509
  • 13.12.2013 01:48 | Торговля внутри дня - часовая стратегия форекс 38846