Главная » Статьи » Форекс Советники |
Рождение форекс экспертаДанная статья открывает целый цикл статей под названием "Рождение эксперта". В статьях наглядно будет показано, как создаются эксперты, индикаторы или скрипты на MQL4 для MetaTrader 4. Читателю не обязательно иметь какой-либо опыт в программировании на MQL4, чтобы разобраться в примерах приведенных в статьях. Таким образом, начинающий MQL4-программист может познакомиться с основами программирования, а так же проследит за созданием, или рождением, программы от начала (создание торговых правил), и до конца (тестирование стратегии на исторических данных). Каждый раз, когда начинаешь изучать новый язык программирования, будь то MQL4, Си, Pascal или Assembler, первым делом ищешь примеры программ на этом языке. Возьмем, например, MQL4. В сети есть множество разобранных примеров кода на MQL4, создано множество Форумов по обсуждению проблем связанных с программированием на MQL4. И это хорошо. Но, все статьи для начинающих построены по одной схеме - берем готовую программу и комментируем ее код. Таких статей очень много, одни из них похуже, другие лучше, третьи - просто восхитительны. Но, все же, это разбор готовой программы. А как был написан тот или иной эксперт, история, как правило, умалчивает. Так же история умалчивает и многие нюансы, которые возникают при создании программы, но с которыми, рано или поздно, приходится сталкиваться. Написать эксперта или индикатор, зная синтаксис MQL4, зная набор встроенных в него функций - дело не сложное, а вот заставить его работать правильно, так как задумано – это уже не так просто как кажется. Отладка программы на MQL4 занимает львиную долю времени работы над экспертом или индикатором. Вся проблема в том, что в MetaTrader 4 нет отладчика программ, нет дебаггера (debugger). Отладка программы на MQL4 сводится к тому, чтобы вручную, шаг за шагом, просматривать результаты работы эксперта, просматривать log-файлы, и затем корректировать код. Хорошо, если эксперт простой и содержит всего несколько правил для совершения сделок. Но бывают эксперты, которые описывают Механическую Торговую Систему (МТС) небывалой сложности. Такие эксперты содержат в себе несколько тысяч строк программного кода на MQL4 и отладка таких "монстров" - дело не из легких. Я придерживаюсь принципа – чем проще МТС и чем проще программа на MQL4, тем лучше. Тем больше шансов на то, что эксперт будет торговать по тому алгоритму, который был задуман трейдером изначально. И Вам советую придерживаться этого принципа. Написание программы на MQL4, равно как и на любом другом языке программирования, есть процесс творческий. Любой программист ответит Вам, что о не просто пишет программы, а создает их, вынашивает в своей голове. Большинство процессов связанных с созданием программы происходит, как это не странно, не за компьютером. Программист постоянно находится в процессе создания своих творений, чем бы он не занимался. За компьютером же, в основном, происходит отладка программы, проверка работоспособности придуманных накануне алгоритмов. Многие MQL4 – программисты, большинство заказов на написание экспертов, выполнят в течение 1-го - 2-х дней. Это связано с тем, что у многих из них уже есть свои наработки, свои библиотеки функций, и большой опыт написания экспертов и индикаторов для MetaTrader 4. Поэтому, для создания программы, они берут уже готового, похожего эксперта и заменяют в нем несколько строк кода. Или же собирают программу из готовых и отлаженных функций и блоков. Это значительно упрощает и ускоряет процесс написания MQL4-программ. Таких функций и блоков программного кода на MQL4 можно найти в большом количестве на просторах Интернета. Таким образом, написание программы может свестись к копированию и вставке отдельных частей MQL4-кода. Затем начинается отладка готового эксперта на исторических данных. Это самый скучный и требующий много времени процесс. Ведь необходимо проверить правильность работы эксперта при всевозможных условиях. Проверить правильность выполнения всех заложенных в эксперта правил торговли. Если это индикатор, то проверить правильность вычисления и отображения индикатора на всем диапазоне ценового графика, особенно на проблемных участках, где есть обрывы графиков цены или другие артефакты. В общем, постараться предусмотреть все те условия, с которыми придется столкнуться эксперту или индикатору во время реальной торговли. А это, порой, бывает очень сложно. Но не все так страшно. Из цикла статей "Рождение эксперта" Вы познакомитесь, как создаются эксперты на MQL4, как пишутся индикаторы и скрипты. Я попытаюсь подробно описать, как можно с нуля создать программу, не торопясь - шаг за шагом. При этом Вы увидите, как легко наступить на "грабли", программируя на MQL4. Такая информация поможет Вам избежать этих трудностей, хотя и не избавит Вас от них. Несколько слов о редакторе MQL4-кода, с помощью которого и создаются эксперты, индикаторы и скрипты. В состав MetaTrader 4 входит редактор MQL4-кода – MetaEditor. MetaEditor это достаточно продвинутый редактор, созданный специально для написания программ на MQL4. В нем заложена очень хорошая интерактивная справка по всем функциям MQL4. Рассмотрен синтаксис написания программ, приведено множество примеров и готовых частей кода, которые частенько просто копируются программистами и изменяются под свои нужды. Там же заложена возможность, будучи подключенным к Интернету, скачать готовые MQL4-программы с сайта www.mql4.com, будь то эксперты, индикаторы или скрипты. В MetaEditore так же есть встроенный веб-браузер, который позволяет полазить по сайту www.mql4.com для поиска ответов, частенько возникающих при написании MQL4-программ. Хочу так же заметить, что www.mql4.com является лучшим русскоязычным ресурсом по MQL4, там Вам ответят на любой вопрос по MQL4, MetaTrader 4 или MetaEditor, так что обязательно загляните туда. И, напоследок, несколько советов:
Помните – нет ничего невозможного, просто некоторые вещи требуют больше времени. | |
Просмотров: 2518 | Рейтинг: 5.0/1 |
Всего комментариев: 0 | |