Язык программирования MQL5

MetaQuotes Language 5 (MQL5) — язык программирования приложений для автоматизации трейдинга, разработанный MetaQuotes Software Corp. Синтаксис языка MQL5 сходен с языком С++ с некоторыми исключениями.

На языке MQL5 пишут технические индикаторы, торговые роботы, советники и другие приложения для трейдинга на рынке форекс. MQL5 программирует в формате объектно-ориентированного программирования (ООП). Для программы на MQL5 создана специальная среда MetaEditor и хранилище MQL5 Storage.

Основные составляющие языка такие же, как и в других языках программирования и есть ряд специфических особенностей. Данные в языке MQL5 могут быть различных типов — целые, логические, литералы, строки, дата, время, перечисления и другие. К сложным типам (абстрактные типы данных) данных относятся структуры и классы.

В языке MQL5 возможны разные операции и выражения. Операторы языка MQL5 представляют собой алгоритмы решения задач, которые формируют тело задачи. Функциями записывается программный код.

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

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

Как использовать язык MQL5

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

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

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

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

Язык MQL5 позволяет создавать собственные модули для сборки торговых роботов посредством Мастера MQL5.

Программы на MQL5 создаются по событийной модели. Они реагируют на какое-либо событие, — изменение цены, реализацию ордера, изменение таймфрейма и других.

Как написать советника на MQL5

Язык MQL5 содержит все необходимые элементы для написания советников — Expert Advisors. В общих чертах пошагово это выглядит так. Запускаем MetaEditor через торговый интерфейс MT5 (рис. 1) (загружается на компьютер одновременно с торговым сервисом), например, кликнув на соответствующий значок или на клавишу F4 на клавиатуре. Появится, собственно, редактор (рис. 2):

Язык программирования MQL5

Основы языка программирования MQL5

В MetaEditor кликнем на кнопку «Создать» и появится соответствующее окно со списком тех приложений, которые можно создать в редакторе (рис. 3)

Как использовать язык MQL5

Рис. 3

В этом окне представляется на выбор «Советник (шаблон)» и «Советник (сгенерировать)». Выбираем и кликаем на кнопку «Далее». И в том, и в другом случае появится окно, в котором нужно сначала дать имя создаваемому советнику (рис. 4) и можно написать ссылку на свой сайт, электронную почту в поле «Имя»:

Как написать советника на MQL5

Рис. 4

В варианте с шаблоном, кликнув на кнопку «Добавить», нужно выбрать те параметры, которыми должен будет обладать советник (рис. 5). Выбранные параметры можно и удалить, кликнув на соответствующую кнопку.

MQL5 программирование для форекс

Уже на этом этапе от трейдера требуется обладание устойчивыми навыками и программирования, и понимания трейдинга.

Выбрав параметр, нужно кликнуть «Далее», появится окно, в котором будет предложено выбрать обработчики событий для советника (рис. 6).

MQL5 форекс роботы и советники

Продолжая создание советника, кликнув «Далее», надо будет выбрать ещё обработчики событий тестирования и нажать кнопку «Готово», после чего появится шаблон кода (рис. 7) с заданными трейдером параметрами.

Руководство по языку MQL5

Рис. 7

В шаблон кода вносятся дополнительные параметры в соответствии с правилами, которые указаны в подробном руководстве по языку MQL5.

Если после вызова мастера MQL выбрана функция «Советник (сгенерировать)», то далее поэтапно выбирается имя (в параметрах уже указаны символы и таймфрейм), добавляются параметры для сигналов, добавляются параметры трейдинга, параметры управления капиталом (рис. 8) и после нажатия кнопки «Готово» появится шаблон кода.

MQL5 программирование

В редакторе есть также сервисы тестирования и отладки советника, работу которых нужно изучить в подробной инструкции по языку MQL5.

Сообщество трейдеров и форум

Все вопросы по освоению и применению MQL5 рассматриваются на страницах комьюнити. В частности, https://www.mql5.com/ru/forum — форум трейдеров, в котором можно найти ответы если не на все, то на подавляющее большинство вопросов.

Проблема в том, что форум очень большой и требуется время для того, чтобы найти нужную информацию. Вопросы от тех, кто только начинает освоение языка, рассматриваются по этому адресу: https://www.mql5.com/ru/forum/6343

Также на сайте MQL5 есть библиотека статей о языке по адресу: https://www.mql5.com/ru/articles

Но начинать изучение языка оптимально со справочника MQL5 — https://www.mql5.com/ru/docs

В сообществе MQL5 можно просто купить советника, попросить разработать робота или предложить своего советника на продажу.

Торговые сигналы при помощи советников, размещенных на сайте MQL5

На сайте MQL5 есть раздел сигналов для MetaTrader 5 для автоматической торговли https://www.mql5.com/ru/signals. Прежде всего нужно ознакомиться с правилами раздела.

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

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

Пользователь выбирает сигналы в соответствии с критериями максимальной прибыльности, надежности, рейтингом и так далее. Также он может выбрать новый сигнал.

Торговые сигналы при помощи советников, размещенных на сайте MQL5

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

Какого советника выбрать

MQL5.community предлагает обширный выбор советников и торговых роботов с исходными кодами: https://www.mql5.com/ru/code/mt5/experts. На сайте два раздела — советники, предназначенные для MetaTrader5 и советники, предназначенные для MetaTrader4. В сервисе можно также скачать индикаторы, скрипты и библиотеки.

Советник можно выбрать в соответствии с упрощенным рейтингом: справа от списка советников — два раздела: последние/лучшие. Лучшие выбираются по оценке пользователей. Кроме того, оценка роботов указывается справа от каждого из них звездочками от 1 до 5. Кстати, пользователь может добавить в список свой код для скачивания пользователями.

Но советника можно заказать и под свои требования, для этого есть фриланс-биржа: https://www.mql5.com/ru/job, или просто купить (или скачать бесплатно) в магазине торговых роботов: https://www.mql5.com/ru/market. Там же можно выставить робота на продажу.

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

Полезные материалы

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

Довольно велик выбор книг по данной теме, в частности, «Учебник (справочник) по языку программирования MQL5» Т. Машнина (скачать бесплатно), есть бесплатные видеокурсы и многочисленные уроки энтузиастов на форумах трейдеров. Материалы предназначены не только для начинающих, но и для пользователей, которые хотят углубить свои знания.

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

Кстати, поскольку язык MQL5 близок языку C++, то многие опытные пользователи рекомендуют для начала почитать книги по C++, как, например, Bronson G.J. A First Book of C++, Девис Стефан Р. «C++ для чайников», Липпман С. «C++ для начинающих», Пахомов Б Н. «С/С++ и МS Visual C++ 2010 для начинающих» и другие — все эти книги без труда можно скачать в интернете. Освоение MQL5 особых трудностей не составит, — после освоения C++.

Выводы

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

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

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

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

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

Отзывы

  • Kornet Mackormik

Сайт MQL5 это развод. Пользуясь монополией, занимаются агрессивной рекламой, в последнее время появилась в терминале в правом верхнем углу на красном фоне единичка которая первое время бросалась в глаза и мешала работать так как для плодотворной работы в форекс нужно быть сосредоточенным на работе а не отвлекаться на разные рекламы. Уведомления о торгах и закрытиях рынка начали давать на английском языке, снова таки отвлекая от работы. Когда я высказал сомнения на форуме меня просто забанили до 2030 года не удостоившись написать причину бана. Кстати сказать что модератор кроме того что с не очень мягко говоря высоким интеллектом так еще и допускает грамматические ошибки и оскорбления. С так называемыми програмЁрами столкнулся лично когда изучал язык программирования. Задал вопрос почему не получается сделать так-то и так-то, на что мне дали готовый код. Когда я попросил пояснить почему так написан код а не так как я писал, ответ получил как прямой в челюсть, написали что бы пользовался тем кодом что дали. То есть программист сам не понимает в программировании ничего, а просто готовые коды берет и пишет совы, индюки и все остальное. Естественно что после таких программистов толком ничего не работает. Я не говорю за всех программистов, но большинство именно такие. По этому мораль такова. Прежде чем доверять написанному, а тем более купленному советнику нужно критически оценить предлагаемый продукт. В доказательство написанного выше прикрепляю скриншот моей странички на которой видно бан.

видео, как мошенники с MQL5 подделывает статистику и разводят подписчиков. https://www.youtube.com/watch?v=h9bEzoivCLU&t=117s

Mql5 — мошенники. сайт MQL5 — подделывает торговую историю торговых счет, торговые позиции, которые опубликованы в торговой истории на сайте MQL5 не соответствуют торговым позициям, которые в торговой платформе mt4. Сайт MQL5 может показывать на своем сайте только позиции с прибылью, а позиции с потерями, которые в торговой истории платформы, сайт MQL5 может не отображать. Отсюда получается идеальная ежемесячная торговая история, а после публикации, счет сгорает вместе с подписчиками в течение 1-2 месяца.
Так же, просадка по счету публикуется только с момента регистрации счета на сайте MQL5, а не с торговой истории. если просадка по счету была 90%, сайт MQL5 не будет показывать это в торговой истории, а покажет просадку, со дня регистрации счета на сайте MQL5.
Поэтому на сайте множество торговых счетов с максимальной просадкой 2-10%, а ежемесячная прибыль 100-250% в месяц. Сайт MQL5 не уведомляет об этом подписчиков, тем самым вводя трейдеров в заблуждение.За это, трейдеры, кто потерял свои деньги на сайте MQL5, копируя торговые сигналы, вправе требовать от сайта MQL5 возврата потерянных средств и компенсацию в судебном порядке.
По поводу торговых роботов, это просто один и тот же алгоритм, которые открывает торговые позиции автоматически, наугад. Затем администрация сайт меняет название робота, загружает новое фото обложки, пишет в рекламе обновленный робот, а продает один и тот же алгоритм, которые открывает позиции наугад. Подумайте логически, если торговый робот продаваемый на сайте MQL5 может хорошо торговать, зачем сайту MQL5 продавать этого робота за 50-100$? Почему сайт MQL5 не занимается самостоятельной торговлей? Потому что этот робот взорвет ваш депозит в течение месяца.

    Константин 12 июля 2019 в 09:47

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

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

Как легко программировать для форекс

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

Почему важно уметь программировать

Автоматизированные системы в разных своих формах проникают во все сферы жизнедеятельности. И сегодня уже практически любая профессия предполагает использование программного обеспечения.

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

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

Программы для Forex могут выполнять следующие задачи:

  • Торговля по тренду. Анализируя основную тенденцию изменения цены актива, робот открывает долгосрочные позиции.
  • Торговля против тренда. В этом случае программа открывает сделки в направлении обратном основному движению инструмента.
  • Торговля во флэте. Подходящее боковое движение определяет трейдер. Когда коридор выбран, запускается флэт-робот. Программа открывает и закрывает много небольших сделок с маленьким профитом и стоп-лоссом.
  • Скальпинг. Самостоятельно работать с большим количеством ордеров внутри дня – это утомительно, легко допустить ошибку. По этой причине для торговли по методу скальпинга часто используются высокочастотные виды роботов. Они могут проводить сотни сделок за один торговый день.
  • Мультивалютная торговля. Робот анализирует несколько валютных пар и открывает по ним позиции с одинаковой корреляцией.

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

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

Кто создает программы для Forex

Чтобы создавать торговых роботов необязательно долго учиться на программиста. И часто их разрабатывают люди практически без опыта работы с кодом.

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

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

Программировать легко

Если вы когда-либо задумывались над тем, чтобы начать программировать, то возможно сталкивались с различными предубеждениями, из-за которых могли отказаться от своей задумки:

  • Нужно быть профессионалом. На самом деле большинство разработчиков – это простые пользователи интернета, имеющие среднее познание в этой сфере. Хороший результат достигается за счет качественного обучения и постоянной практики.
  • Необходимо знание математики. Код выполняет функцию набора команд, обеспечивающих выполнение нужной задачи. При стандартных рабочих целях в рамках трейдинга сложные формулы и высшая математика не потребуются.
  • Программирование не подходит для творческих людей. При работе с кодом приветствуются нестандартные пути для достижения цели. И в этом творческое мышление только поможет.
  • Нужно будет много запоминать. Задействовать память действительно придется, но без перегрузки. У большинства языков базовый синтаксис содержит около 50 команд. Многие функции и методы можно найти в бесплатных библиотеках данных. Если вы будете использовать современную среду для разработки (IDE), то вам будут доступны различные подсказки и готовые распространенные конструкции.

Например, такой язык, как Python, при стабильном обучении по вечерам, осваивается за 4-6 месяцев.А писать простые скрипты на Питоне (и не только) можно научиться за неделю. И в языке MQL все еще проще. Так что владение кодом доступнее, чем может показаться на первый взгляд.

Что такое язык программирования

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

Поэтому он включает в себя следующие компоненты:

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

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

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

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

Языки MQL4 и MQL5

MQL4 и MQL5 – это языки программирования для MetaTrader 4 и 5. В подавляющем большинстве случаев именно они используются для написания советников, индикаторов и скриптов. И с ними вы сможете справиться, даже если никогда ранее не программировали. Главное – настроиться на процесс изучения информации и ее применения.

Языки MQL4 и MQL5 имеют следующие особенности:

  • Они встраиваются в платформу MetaTrader.
  • Индикаторы, советники и скрипты создаются в одной среде разработчика. Для написания программ в версии 4 и 5 используется MetaQuotes Language Editor. Эта среда загружается в процессе установки MetaTrader Client Terminal вместе со всей необходимой справочной информацией.
  • При помощи каждой из версий можно реализовать любую торговую стратегию в виде программы.

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

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

  • контролировать состояние торгового счета;
  • давать сигналы для определения точек входа и выхода из рынка;
  • выполнять расчет для индикаторов и уровней;
  • обеспечивать обмен информацией между индикатором/торговым роботом и удаленным сервером по протоколу ТСР или HTTP;
  • отправлять в мобильные клиенты МТ4/5 push-уведомления;
  • и прочее.

Стоит учитывать тот факт, что платформа МТ5 является более новой версией терминала и различные инструменты под нее создаются намного активнее, чем для МТ4.

Возможности языка MQL позволяют решить любую задачу, имеющую отношение к процессу торговли на валютном рынке. И вокруг MQL4 и MQL5 уже есть большое сообщество. То есть вам будет кому задать сложные вопросы. Справочной информации с готовыми решениями тоже много. Плюс ко всему освоить MQL ощутимо проще, чем стандартный, не ориентированный на трейдинг, язык программирования.

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

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

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

  • в первых трех уроках мы разбираем основы программирования;
  • в четвертом – на реальном примере показываем, как написать советник для MetaTrader 4;
  • в пятом – показываем, как перенести советник из MetaTrader 4 на MetaTrader 5.

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

Программирование форекс-роботов без знания языка MQL4

Программирование советников форекс

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

Конечно, знание языка программирования MQL версий 4 или 5 – это значительный шаг вперед для трейдера. Язык программирования позволяет создать собственный индикатор технического анализа, написать скрипт или торговый советник. А преимущества автоматической торговли общеизвестны – это и отсутствие влияния эмоций, и большее количество свободного времени. В этой статье мы рассмотрим вопросы и различные подходы к программированию торговых роботов:

  • Программирование роботов с помощью языка MQL;
  • Модификация кода существующей механической торговой системы;
  • Программирование советника с помощью специальных программ.

Создание программных кодов

курс ленивого инвестора

Важно! Я веду этот блог уже почти 10 лет. Все это время я регулярно публикую отчеты о результатах публичных инвестиций. Сейчас мой публичный инвестпортфель — более 5 000 000 рублей.

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

Если вам интересна практика и какие инвестрешения в моменте принимаю лично я, то вступайте в Клуб Ленивого инвестора.

Хорошую базу для познания MQL создает владение языком программирования «С++», но и без этих знаний язык MQL хорошо поддается изучению. Многие рядовые трейдеры, изучающие язык самостоятельно, считают, что для написания несложных скриптов и программ достаточно самостоятельного изучения языка программирования в течение недели.

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

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

Создание программных кодов MetaEditor

Достоинством редактора является то, что созданные алгоритмы могут быть запущены сразу после создания, так как они автоматически появляются в торговой платформе. MetaEditor в МТ4 обладает такими характеристиками, как:

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

Помимо встроенного редактора МТ4 существует еще множество платформ для программирования советников с использованием языка С++. Например, платформы WealtLab, StockSharp и TSLab обеспечивают реализацию сразу всех этапов создания экспертов, включая их тестирование.

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

Платформа StockSharp

Платформа TSLab представляет собой визуальный редактор, собирающий торговый советник из функциональных блоков. Блоки написаны на языке С#, но их код в процессе программирования скрыт от пользователя. Существует и возможность использования языка C# и комбинирования программирования с визуальным редактором. Так можно дописывать отсутствующие в стандартном наборе элементы.

Платформа TSLab

Промежуточной по функционалу, между платформами StockSharp и TSLab является платформа WealtLab. Она имеет визуальный редактор, правда, не очень хорошо развитый, и возможность использования языка программирования. Достоинством является отличный тестер стратегий.

 платформа WealtLabМодификация советника

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

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

Одним из способов программирования торгового советника является использование специализированных программ. Функционально они мало отличаются от описанной выше платформы TSLab и друг от друга и разработаны для снижения трудоемкости написания исходного кода. Создание самой торговой системы остается за трейдером.

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

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

Программа Gordago Forex Optimizer разработана с функционалом, приближенным к торговой платформе. Помимо создания советника она позволяет тестировать разработку на истории, а так же осуществлять с ее помощью торговлю, в случае наличия доступа к торговым серверам. Работа с программой интуитивно понятна – начало работы начинается с задания условий входа в рынок и выхода из него, задания инструментов анализа рынка. Функционал программы позволяет использовать разработанные эксперты в МТ4.

Программа Gordago Forex Optimizer

Полностью в автоматическом режиме эксперты создаются в программе Hlaiman EA Generator. Программа работает с торговой платформой МТ4. Для создания эксперта необходимо добавить на график желаемые инструменты технического анализа и нанести на график стрелки, указывающие места и направления входа в рынок, где осуществил бы вход сам трейдер. После этого программа самостоятельно просчитывает заданные условия входа и разрабатывает алгоритм робота. При этом качество отработки условий входа зависит от качества и количества заданных точек – они должны расставляться строго в соответствии с разработанной стратегией и таких точек должно быть нанесено максимальное количество. К сожалению, программа отсутствует в свободном доступе, что не позволяет провести тестирование созданных с ее помощью советников.

 программа Hlaiman EA GeneratorЗаключение

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

Источник https://eto-razvod.ru/mql5-programming/

Источник https://trading-go.ru/beginner/07052021/

Источник https://smfanton.ru/forex/programmirovanie-robotov.html