Как написать советника для mt4 своими руками
Сколько бы ни говорили о значимости фундаментального анализа для оценки и прогнозирования валютного рынка, а возможность оценки рынка с помощью технического анализа весьма и весьма перспективна. Задайте себе вопрос: «А чем, по существу, является фундаментальный анализ форекс?» ФА является новостным критерием валютного рынка, обстоятельствами, которые заложены в его основу, в ценовой диапазон торгового инструмента.
Но преимущество технического анализа в данном случае состоит в том, что многочисленные индикаторы форекс позволяют очень удачно проанализировать те данные, которые уже заложены в рынок за счет фундаментальных факторов. По этой причине, наиболее важной задачей в данном случае для трейдера является возможность отслеживания и анализа сигналов, которые подаются, с помощью различных технических средств. К этим средствам можно отнести советник форекс.
Совокупность элементов, в число которых входит набор определенных индикаторов, правил их использования, правил трактовки сигналов, подаваемых этими индикаторами и особенностей их функционирования на разных временных масштабах вкупе с дозированным применением денежных средств к каждой торговой сделке называется торговой системой. Любая торговая система – это клубок взаимосвязанной информации, эффективность которой должна быть доказана на практике. Практике прошедших дней. В данном случае имеется в виду, что все сигналы, все трактовки и все нюансы, которые присущи торговой системе, должны быть протестированы на исторических данных. И здесь советник форекс играет не последнюю роль.
Если вы уже торгуете на валютном рынке и хорошо понимаете, о чем идет речь, то вы должны понять, что все индикаторы форекс, инкрустированные в торговую систему, должны быть «заточены» под определенные особенности валютного рынка. К таким особенностям можно отнести временной интервал торговли, волатильность рынка, ликвидность валют, которыми ведется торговля, — это лишь немногие факторы, влияющие на поведения индикаторов. Но для того, чтобы индикаторы давали хорошую отдачу, необходимо правильно настроить советник форекс, т.е. правильно настроить и проверить работоспособность индикаторов на исторических данных. Это делается для того, чтобы задать оптимальные значения для индикаторов.
Предположим, что в вашем арсенале многочисленные индикаторы форекс, которые необходимо проверить, протестировать и классифицировать по полученным результатам. А теперь представьте, сколько времени потребуется, чтобы для каждого индикатора форекс подобрать оптимальные параметры его использования. Безусловно, на это могут потребоваться не только месяцы, но и годы. Занятие, нудное, кропотливое, но чрезвычайно полезное. Почему? Да потому что в результате такой работы вы получите бесценный опыт. Но мы, собственно, не об этом. Речь пойдет не о том, как это полезно, а о том, как облегчить данную работу, значительно сэкономив собственное время.
Для начала мы отметим, что процесс пересчета параметров достаточно сложен. Его, конечно, можно и автоматизировать, но мы придерживаемся правила никогда не доверять контроль результатов работы полностью компьютеру. Компьютерная программа сама проделает за вас рутинную работу, но «разгребать» ее результаты и вносить коррекцию вам придется самостоятельно.
С помощью торгово-аналитической платформы MetaTrader 4 у вас имеется возможность написать советник и протестировать на исторических данных советник форекс, который используются для создания механических торговых систем.
Далее всю работу по созданию советника форекс мы разобьем по пунктам.
1. Зайдите в редактор программ MetaEditor 4. Откройте вкладку «Файл» и выберите пункт «Создать». Далее появится «Мастер создания советника». Выберите тип создаваемого советника и нажмите на кнопку «Далее». После этого вы перейдете в информационное окно, где будет необходимо внести данные автора советника форекс: имя советника, сайт и т.д.
2. Теперь нужно отредактировать советник форекс. Необходимо добавить его параметры, чтобы впоследствии прикрепить его к графику цен. Это позволит передавать в программу определенные сведения.
3. Обратите внимание на таблицу под названием «Параметры». Справа от нее есть кнопка «Добавить». Нажимаем на эту кнопку и видим, что у нас появился новый параметр «Paraml». Данный параметр имеет тип int, что означает, что данный параметр целочисленный и не имеет первоначального заданного значения. Далее вы можете отредактировать данные этого параметра. Сделать это можно, нажав мышкой на соответствующее поле таблицы. Далее смените название параметра на «Stop Loss», тип данного параметра зададим как double, и зададим значение по умолчанию «5». Завершите редактирование путем нажатия на клавишу «Готово». Теперь наш советник форекс имеет базовый код.
4. После этого перед нами появится заголовок, где мы заполняем данные: имя, автор и ссылка на ресурс. Далее перед нами появляется информация о глобальной переменной и незаполненные параметры функций «start», «deinit» и «init». Те параметры, которые мы заполняли в предыдущем пункте для параметра StopLoss, а именно «init» содержат указанные нами сведения: «double» и значение 5.
5. Для функции «init» можно было бы указать и гораздо больше параметров. В данном случае необходимо понять, что чем больше параметров мы зададим для данной функции, тем больше глобальных двойников (кодов) мы получим. Двойники были бы для каждого такого кода. После работы «Мастера создания советников» можно удалить ненужные глобальные переменные.
Теперь мы немного отвлечемся и рассмотрим значения функций init, deinit, и start
Данная функция необходима в случаях:
• когда происходит перекомпиляция программы в MetaEditor
• когда мы подключаем советник форекс к графику
• когда мы меняем торговый счет
• когда мы меняем временной период графика цен
• когда мы меняем настройки эксперта
• после запуска MetaTrader 4 и загрузки исторических данных
Данная функция необходима в случаях:
• когда мы завершаем работу с MetaTrader 4, или когда мы закрываем график цен
• когда мы переключаемся между торговыми счетами
• когда мы изменяем временной период графика
• когда мы удаляем эксперт с графика цен
• когда мы меняем параметры эксперта
• когда мы перекомпилируем программу в MetaEditor
Эта функция автоматически запускается при новом тике. Она является одной из основных функций эксперта, потому что она выполняет наиболее важную работу в каждый момент времени. Обязательно обратите внимание на одну характерную особенность данной функции: если пришел новый тик, а start еще не завершила свою работу по предыдущему тику, то для нового тика работа функцией start производиться не будет.
Все, описанные выше функции, являются основой создания торгового советника форекс. В следующей публикации мы рассмотрим дальнейшие действия по его созданию.