MQL ПРОГРАММИРОВАНИЕ ФОРЕКС

СОДЕРЖАНИЕ:


Учебник MQL4

Каждый трейдер, который осваивает ручной способ торговли, может автоматизировать свою торговую систему. Сделать это можно при помощи написания советника. Это, по сути, торговый робот, который за Вас будет открывать сделки, закрывать их, выставлять ордера, ограничивающие убытки (stop loss), ставить ордера, фиксирующие прибыль (take profit), а также любые прочие действия, которые Вы в него запрограммируете.

Самым популярным торговым терминалом является Metatrader 4. И соответственно языком программирования MQL4.

MetaQuotes Language 4 (MQL4) – это язык программирования торговых стратегий встроенный в торговый терминал MetaTrader 4. Научится программировать может любой желающий.

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

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

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

Так же можете посмотреть вебинары, посвящённые обучеию MQL4.

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

Для того чтобы зарегистрироваться на курс – заполните форму ниже. Наш специалист свяжется с Вами в ближайшее время.

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

Модификация советника

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

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

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

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

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

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

Заключение

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

Эта статья приведёт Вас к успеху:  КОЛИЧЕСТВО СДЕЛОК ФОРЕКС

Форекс программирование для всех

О Разделе «Форекс программирование для всех»

Финансовые рынки шагают в ногу с техническим прогрессом. Наряду с полной автоматизацией биржевых процессов, прогрессирует и Форекс программирование. Без появления роботов на валютной бирже, трейдинг работал бы, как и в далекие 30-е, — с трубкой в руках и в постоянно напряженном состоянии выставления приказов у брокера.

Современное Программирование на Форекс

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


Программируем на MQL4 своими руками

Хотите изучить MQL4 быстро, легко и бесплатно? Программирование MQL4 подробно и с самого нуля. Фишки, секреты и только практика

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

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

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

Ниже Вы найдете подробные практические уроки по MQL4, в которых рассматривается все «от и до». Обучающий материал рассчитан как для самых начинающих, так и для тех, кто уже «в теме».

Подробные пошаговые уроки по MQL4

Подробные уроки (своего рода, книга или учебник) по MQL4. Как для начинающих, так и для тех, кто уже «в теме». Пошаговое обучение и только практика.

Основные встроенные функции в MQL4: Period(); Sleep(); NormalizeDouble(); AccountBalance();

Изучаем основные встроенные функции в MQL4: Period(); Sleep(); NormalizeDouble(); AccountBalance(); Использование этих функций в программировании MQL кода

Принудительное окончание цикла в MQL4 при помощи оператора break;


MQL4: break — оператор принудительного окончания цикла. Разбираем работу этого оператора в составе цикла for

Массивы в MQL4: одномерные, двумерные, многомерные. Практическая работа с массивами

В данном уроке подробно поговорим о том, что такое массивы в MQL4 программировании? Как их применять и использовать на практике. Изучим виды массивов: одномерные, двумерные, многомерные

MQL4: Работа со справкой (встроенный справочник в MetaEditor)

В данном уроке мы разберем что такое справка и как ее использовать при MQL4 программировании

MQL4 и основные ошибки у новичков. Как сделать так, чтоб ошибок было меньше?

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

Функции и команды в MQL4 программировании. Их структура и ошибки новичков

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

MQL4: Операторы условия «если, иначе» if else


В этой статье мы подробно разбираем один из самых основных операторов условия в языке программирования MQL4 — if else (если иначе).

MQL4: изучаем цикл for()

В этой статье мы разберем работу одного из самых основных циклов в MQL4 программировании — цикл for(). Без этого цикла пожалуй, не обойдется ни один торговый Форекс советник.

MQL4: вывод информации о валютных инструментах на график. Функции Symbol(); MarketInfo();

В материале этой статьи мы произведем подробный практический разбор функций вывода информации о валютных инструментах на график в языке программирования MQL4 — Symbol(); и MarketInfo();

Учебник (справочник) по языку программирования MQL5

Если Вы интересуетесь трейдингом, то наверняка уже наткнулись на термин „автоматическая торговая система“ или «советник» в терминале ]]> Meta Trader ]]> . Благодаря этим системам трейдеры имеют гораздо более широкие возможности торговли. Советник может работать непрерывно днем и ночью не уставая. Точно так же он может торговать на десятках рынков одновременно, без эмоций, выполняя только запрограммированные действия. Эти свойства не всегда являются только преимуществом, но это тема для отдельной статьи.

Автоматическая торговая система по сути, представляет собой алгоритм, написанный на определенном языке программирования, который имеет задачи при предписанных условиях открывать, закрывать и управлять позициями. Советник — это программа, состоящая из десяток или сотен строк написанная на языке программирования. Рассмотрим язык программирования MQL или MetaQuotes Language самого популярного программного обеспечения MetaTrader.

Язык MetaQuotes

MQL — это язык программирования MetaQuotes, который также является оператором расширенной торговой платформы MetaTrader, предназначенной для торговли на Форекс. Модуль для создания и изменения автоматизированных торговых систем, а также индикаторов и других программ, предназначенных для работы в ]]> Meta Trader ]]> , встроен непосредственно на платформу и называется MetaEditor. Поэтому, если вы загрузили и установили ]]> Meta Trader ]]> , у вас автоматически будет MetaEditor. Это верно для версий 4 и 5. Вы можете запустить MetaEditor с платформы в меню «Инструменты» — «Редактор метакодов» или непосредственно нажав на значок на верхней панели инструментов:

Основные понятия


С точки зрения программирования, MQL — это язык, полученный из C ++. Получается, что знание C ++ является преимуществом, но, конечно, не проблема научиться программировать на MQL без какого-либо предыдущего опыта программирования. В интернете много книг и обучающих материалов. Например, есть раздел «Уроки по MQL» на TradeLikeAPro.

Важные базовые концепции языка:

  • Исполнение программы. При выполнении написанной программы терминал будет «читать» код и соответственно выполнять соответствующие действия в терминале ]]>Meta Trader ]]> .
  • Тик — новая входящая цена. Большинство программ выполняются только при каждом новом тике.
  • Комментарий. Часть кода программы, который не исполняется. Текст комментария обозначается так: // и окрашивается в коде серым цветом.
  • Компиляция — завершающий этап создания программы. Компилятор в рамках Метаэдитора проверяет код, и если он без ошибок исполняет его.

Книга «Язык программирования MQL5: Продвинутое использование торговой платформы MetaTrader 5». Автор Тимур Машнин.

Эта книга является справочником, что поможет начинающим программистам (которые уже имеют опыт программирования на других языках) ознакомиться с языком программирования MQL5, или станет дополнительным источником информации для тех, кто уже начал его изучать. Прочитав книгу, вы сможете создать свой первый советник или индикатора для терминала MetaTrader 5.

Не рискуйте настоящими деньгами! Экономьте время, тестируйте и совершенствуйте Ваши стратегии ]]> в программе ForexTester ]]> .

Я — Программист MQL4, то что Вам нужно!

Доброго времени суток. Рад приветствовать Вас на сайте! Меня зовут Артём, на форумах я больше известен как StatBars. Я профессиональный программист MQL4 и моё основное занятие и способ заработка — это написание советников, написание стратегий, индикаторов и экспертов на заказ. Сейчас я в основном программирую для платформы MetaTrader 4 , реже для платформ NinjaTrader, ActTrader, АльфаДирект, сейчас из за большого количества заказов программирую на mql4 для платформы MetaTrader 4. Кстати, на странице Советники на Заказ Вы можете узнать примерную стоимость моих услуг, но учтите здесь всё индивидуально и конечная стоимость написания советника может отличаться.

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

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

  • При пересечении МА ценой снизу вверх, т.е. цена пробивает МА и идёт вверх, открывает ордер BUY, а по STOPLOSS только что открывшегося ордера выставляется SELLSTOP с удвоенным лотом. Все расчёты вести по закрытым сформировавшимся барам. В параметры эксперта мне нужно вывести все настройки МА, stoploss, takeprofit и начальный лот.

  • Если CCI пересекает уровень задаваемый в параметрах снизу вверх это является первым сигналом. Если RSI ниже заданного уровня это второй сигнал к покупке. Если МА быстрый выше чем медленный это 3 сигнал к покупке . . . Если из всех сигналов есть 4 на покупку то покупаем. Ордера на Sell выставлять следующим образом: если CCI пересекает установленный в параметрах уровень(отдельная настройка от BUY) сверху вниз то . И в том же духе продолжаем описывать условия для произведения дальнейших действий.
  • Отдельно про ММ и подобное: если просите написать по мартину, то написан будет самый простой алгоритм мартингейла, когда после каждой убыточной закрывшейся сделке будет открываться с удвоенным лотом. В любом случае лучше если Вы полностью сами опишите своими словами и саму стратегию. «Я хочу процентную лотность» — при написании советников используется динамическая процентная лотность, здесь увеличение лота торговли происходит с увеличением депозита, также и уменьшение соотетсвенно уменьшению депозита.

Когда мне заказывают простой мартингейл и говорят что это супер секретная методика и что нельзя о ней никому говорить :))

Написание стратегии зачастую занимает немного времени, но это для профессионалов. Больше времени занимает разбор непонятного технического задания, или после выполнения эксперта на заказ клиент(т.е. Вы =) ) говорит что не так работает. и выясняется что он совсем другое имел ввиду, написав ТЗ. Что ж приходиться исправлять ошибки заказчика, но не всегда за бесплатно, но чаще всего это моя ошибка =). Как говорил Билл Гейтс: «Если Ваш программист не делает ошибок, увольте его, он ничего не делает!». Поэтому ещё раз прошу Вас относится серьёзно к написанию ТЗ. Мы тоже совершаем ошибки, но стараемся исправить их в кратчайшие сроки и , конечно же, бесплатно.

Эта статья приведёт Вас к успеху:  ВОЛНОВЫЕ СИГНАЛЫ ФОРЕКС

Если Вам нужен программист Mql — обращайтесь, Контакты:

Режим работы С понедельника по воскресенье, круглосуточно

Адрес: Ворошиловский просп., 13 344006 Ростов-на-Дону ,

Телефон: +7 950 854 77 00 ,

Электронная почта: [email protected]

Ведущий разработчик: +7 950 854 77 00 — Артём

Skype: tradexperts

Воспользуйтесь чатом онлайн поддержки

Либо Вы можете воспользоваться стандартной формой отправки писем на наш ящик: форма обратной связи.


«Программирование на MQL4» — Курс молодого бойца

Пошаговый видеокурс «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт».

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

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

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

Однако, заказать советник или индикатор на языке MQL у программиста стоит от 100$ и выше. Кроме этого вы потратите недели на переписку с исполнителем, уточняя мелкие детали и дорабатывая скрипты.

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

Возможно ли это?

Возможно! И о том, как это сделать, Вы узнаете из пошагового видеокурса «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт».

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

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

Теперь Вам не придется часами выжидать сигналов для торговли. Один раз создали торгового эксперта – и он на автомате будет зарабатывать Вам деньги.


Кому будет полезен курс?

  • Форекс Новичкам, которые хотят автоматизировать свои ежедневные рутинные действия;
  • Опытным трейдерам, которые уже знакомы с программированием на других языках.

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

Автор курса — Сергей, известный на нашем форуме под ником xbms. Долгое время занимался разработкой систем для управления бизнесом, созданием универсальных систем, в некотором роде это были аналоги 1С.

Образование: Высшее, Киевский политехнический институт

Заниматься программированием начал в 13 лет (1988-й год), таким образом опыт работы составляет уже 25 лет.
Первые компьютеры: Yamaha MSX, ЕС1840, БК0010, ZX-Spectrum

Языки программирования: Assembler, C++, Delphi, SQL(MSSQL, MySQL, Interbase), 1C, MQL

В настоящее время работает в бельгийской компании в России на должности Ведущего программиста.

За годы работы написаны тонны кода, это несколько десятков серьёзных проектов и более сотни мелких (с затратами 2-3 месяца).

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

Из курса Вы узнаете:


  • Основы языка MQL;
  • Базовые структуры — циклы и функции языка;
  • Важные аспекты программирования, без знания которых не обойтись
  • Как добавлять в свои советники конструкции кода, созданные другими.
  • Создадите своего первого советника;
  • Автоматизируете ручной рутинный труд;
  • Создадите советника на Мартингейле;
  • Напишете собственный Трейлинг стоп для советников;
  • Разработаете собственные скрипт.

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

Преимущества курса перед другими аналогичными продуктами:

  • Простота. Каждое видео – это четкая пошаговая инструкция, решающая конкретную задачу. А сами уроки рассказаны простым и понятным даже для начинающего языком;
  • Пошаговость. Вас возьмут буквально «за руку» и шаг за шагом покажут и расскажут, как создавать своих собственных роботов на языке MQL;
  • Практическая направленность курса. Каждое видео дополняют домашние задания;
  • Бесплатность. Курс бесплатен, однако в сети Вы можете найти аналоги, которые стоят от 5 до 15 тыс.р.

В результате изучения курса Вы:

  • Избавитесь от рутины при торговле;
  • Научитесь создавать собственные программы, советники;
  • Освоите новый навык — программирование на MQL, с помощью которого Вы сможете зарабатывать деньги, программируя на заказ торговых роботов;
  • Автоматизируете свои действия на Forex.

P.S. Если Вам надоела бесконечная рутинная работа и Вы давно мечтаете настроить автоматический трейдинг по Вашим правилам, введите свои контактные данные в форму ниже и нажмите кнопку заказа. Курс появится в Вашем почтовом ящике уже через несколько минут.

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

Основы языка программирования 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):

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


Рис. 3

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


Рис. 4

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

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

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

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


Рис. 7

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

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

В редакторе есть также сервисы тестирования и отладки советника, работу которых нужно изучить в подробной инструкции по языку 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 может представить свой сигнал в бесплатное пользование другим трейдерам.

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

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

Система также подбирает сигналы по требованиям пользователя для определенных форекс брокеров или ищет сигналы по их автору. Стоит отметить, что сервис указывает отказ от ответственности за работу сигналов (рис. 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 — легкий в освоении и его можно освоить «с нуля» даже за месяц. Есть очень большие сомнения в подобных утверждениях.

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

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

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

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

Программирование на MQL4

Разочарование в SMS-уведомлениях через Google Календарь


Боюсь я до сих пор не нашел никакого бесплатного способа для информирования о положении дел через SMS и MQL. Идея была проста и актуальна: т.к. торговлю я веду на часовом графике, я хотел, чтобы за 5 минут до нового часа функция на MQL снимала показания… Читать далее →

Ошибка в формате даты при вызове jar-файла из MQL4

При программировании на MQL 4 в момент, когда необходимо составить (склеить) дату в формате datetime «yyyy.mm.dd hh:mi» и исходными компонентами являются функции Hour(), TimeHour(), Minute() или TimeMinute(), стоит обратить внимание, что если возвращаемое значение меньше 10, то формат «hh» или «mi» будет не соблюден, т.к. «0» в начале будет отсутствовать… Читать далее →

Подсчет прибыли по ордерам в валюте депозита на MQL4

Решил сегодня написать индикатор, который бы выводил мне на экран текущую прибыль или убыток по открытым позициям. Казалось бы, тривиальная задача, но встал вопрос: как вывести прибыль в валюте депозита? Тривиальная задача, в которую неясность вводит возможность в MetaTrader 4 в Терминале на вкладке «Торговля» выводить прибыль 3 разными способами:… Читать далее →

СМС уведомления через MQL4, Java и Google Calendar

После того, как я увидел в интернете статью про реализацию смс-уведомлений в MetaTrader через Google Calendar (Календарь), меня это очень сильно заинтересовало, считая, что Google Calendar я использую. В статье говорилось про создание событий в Календаре и использовании их для уведомления о критических ситуациях. Статья хорошая, с исходниками, но мне… Читать далее →

Графическое сопровождение к работе советника

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

Создание советника для открытия серии ордеров

После того, как я решил использовать валютное хеджирование в качестве основы торговой стратегии, 1-м делом я определил все необходимое для торговли. Итак, мне понадобится: индикатор прохода цены серии валютных пар от определенного дня и времени; советник для открытия серии валютных пар в одном направлении; советник для закрытия серии валютных пар… Читать далее →

Как написать индикатор: выводим спрэд

Чтобы в полной мере понять, как написать индикатор на языке программирования MQL4, необходимо это практически сделать. Напишем индикатор, который будет отображать спрэд в правом верхнем углу графика. Ранее в блоге уже была затронута тема программирования на MQL 4 для начинающих. Подробно и с «нуля» я рассказывал про… Читать далее →

Архив котировок Форекс

Пишем скрипт открытия позиции

Если мы торгуем фиксированным лотом, то использование скрипта обосновано. Во-первых, позиция откроется быстрее. Во-вторых, при неудачном ответе сервера, скрипт обработает ошибку и примет решение практически моментально. Рассмотрим процесс создания скрипта с самого начала. Примечание: я уже рассказывал в блоге про создание… Читать далее →

Закрыть позиции встречным ордером: используем скрипт

Когда в терминале MetaTrader 4 открыто несколько однонаправленных позиций и необходимо их закрыть, использование скрипта позволит облегчить задачу. Более того, если позиции необходимо закрыть немедленно, то с трудом можно надеяться, что они будут закрыты по одной цене. В нашем скрипте реализуем следующий алгоритм – после запуска: найдем сумму лотов открытых… Читать далее →

О Форекс блоге

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

Свежие записи

↑ Вверх Сайт также доступен на: Английском
© 2008-2011 Форекс блог CafeForex.ru

Форекс для начинающих

В рубрике «Форекс для начинаю­щих» и «Опыт торговли» подробно рассматривается торговля на реаль­ном счету, Форекс основы и пси­хология трейдинга с подроб­ным раз­бором торговых ситуаций, вклю­чая видео и изображения.

Торговые стратегии

В рубрике «Стратегии Форекс» пред­лагаются обзоры новых внут­ридневных торговых стратегий на основе скользящих средних, трен­довых линий; канальные и скаль­пинговые стратегии; стратегии Форекс без индикаторов.

Индикаторы и советники

В рубрике «Индикаторы Форекс» выкладываются новые индика­торы с описанием и фотогра­фиями. Объясняется на приме­рах принцип написания торговых советников, индикаторов и скрип­тов на языке mql.

Торговля на Форекс

Автор блога на собственном опыте подробно объясняет принципы работы на Форексе, рассказывает как производить технический ана­лиз рынка Форекс. Заработать на Форексе удается не многим, требуется большое терпение.

Форекс блог «CafeForex» создан трейдером с опытом торговли более 5 лет. Автор делится своим опытом торговли на Форексе, рассматривает торговые стратегии, новые индикаторы. «Форекс для начинающих – это испытание» по мнению автора. В блоге описывается психология трейдинга на реальном счету.

Автоматизация торговли на Форексе, как метод упрощения работы, является для трейдера хорошей перспективой. Автор делится опытом программирования на языке mql4, включая: создание торговых советников (роботов), индикаторов и скриптов.

Добавить комментарий