MQL4 MetaQuotes Language 4 язык разработки торговых стратегий
Когда функция запускается снова, переменная не инициализируется повторно, а вместо этого сохраняет свое предыдущее значение. Давайте рассмотрим простую функцию для размещения ордера на покупку. Эта функция имеет аргументы, которые необходимо передать в функцию. Функция будет выставлять рыночный ордер на покупку на текущий символ с указанным размером лота, стоп-лоссом и тейк-профитом.
Отметим лишь, что искать подобные точки входа лучше всего на старших таймфреймах от H1 и выше. Надо сразу отметить, что пирамидинг не является самостоятельной торговой системой. Правильнее назвать его методом увеличения прибыли при торговле по тренду. Основная идея пирамидинга заключается в так называемых «доливках», когда при наличии ярко выраженного тренда открываются новые позиции на откатах или в момент выхода из очередной консолидации. При этом растёт совокупный объём, следовательно, и прибыль.
MQL4: работа с барами, поиск дивергенции по RSI
Для установки phpstorm нужно перейти на сайт разработчика и скачать установочный файл для вашей операционной системы. Сама установка проста и занимает 5-10 минут, поэтому тут подробно описывать этот процесс нет смысла. PHPStorm – это мощная IDE (среда разработки), поддерживающая множество языков. В ней очень много различных возможностей и функций, предусмотренных специально для удобства и ускорения разработки. Традиционно поток цен в торговых платформах группируется по некоторым временным периодам.
Если вы знакомы с программированием на таких языках, как C ++, PHP или на одном из многих языков, синтаксис которых является производным от C, вам будет удобно программировать на MQL. Панель инструментов в MetaEditor содержит стандартное дополнение к файлам и функциям редактирования. Кнопка «Скомпилировать» компилирует текущий файл в редакторе. Если есть какие-либо ошибки компиляции, они также будут показаны. Кнопка «Терминал» открывает торговый терминал для тестирования советников.
- Торговый советник — это программа автоматической торговли, написанная на MQL.
- Выражение может занимать несколько строк, но в конце должна стоять точка с запятой.
- Однако окончательные выводы можно делать только по результатам торговли на реальном счёте.
- Иногда функция, которую вам нужно использовать, уже скомпилирована в другом файле, таком как другой советник, файл библиотеки (.ex4) или файл Windows DLL (.dll).
Мы научились находить простые пятибарные формации – так называемые фракталы Билла Вильяма – и использовать их для определения локальных экстремумов. В итоге мы написали скрипт для автоматического поиска дивергенции цены и осциллятора RSI. Полученные решения можно применять при создании пользовательских индикаторов и торговых советников. Добавим в код функцию DeleteObjects, которую мы написали ранее, и вызовем её в обработчике OnStart(). Тем самым мы удалим с графика объекты, которые могли остаться после предыдущего запуска скрипта.
К примеру, данные о ценах, периоды графика, цвета и торговые операции. Например, PERIOD_H1 является константой для таймфрейма графика H1, OP_BUY относится к рыночному ордеру на покупку, а Red — это цветовая константа для красного цвета. Эти файлы содержат созданные пользователем функции, на которые есть ссылки в файле ммгп форум обзор .mq4. Во время компиляции компилятор «включает» содержимое файла .mqh в файл .ex4.
Расположение файлов
Скрипт — это упрощенный советник, который выполняет одну задачу, такую как установка отложенного ордера или закрытие всех ордеров на графике. Сходство MQL с такими языками, как C, позволяет опытным программистам относительно легко изучить его синтаксис, а сам язык достаточно хорошо документирован. Но обучение эффективному программированию торговых стратегий на MQL — это процесс постоянных проб и ошибок.
Теперь Вам не придется часами выжидать сигналов для торговли. Один раз создали торгового эксперта – и он на автомате будет зарабатывать Вам деньги. Прикладные программы и ручные средства управления могут использоваться в клиентском терминале одновременно, взаимно дополняя друг друга. Выражение может занимать несколько строк, но в конце должна стоять точка с запятой. Не так давно в уроке про открытые позиции трейдеров мы брали данные с сайта, находящегося в сети.
MQL4: Пишем советник по торговле заданных паттернов
Популярность MetaTrader обусловлена тем, что эта торговая платформа полностью бесплатная и включает в себя множество полезных инструментов технического анализа. Но, вероятно, главной причиной успеха MetaTrader является мощный язык программирования MQL. Массив-приёмник, естественно, должен быть объявлен и иметь тот же тип, что массив-источник.
Статические и динамические массивы
Но можно создать двумерный динамический числовой массив, в который достаточно скопировать нужные значения для сортировки, и индекс элементов, которым принадлежат эти данные в массиве-источнике. Отсортировав такой массив по первому измерению, мы можем потом обращаться к нужному элементу в массиве-источнике через индекс во втором измерении. Давайте рассмотрим подобную сортировку на конкретном примере. Только мы будем сортировать не какой-то массив структур, а информацию об открытых ордерах, даже не копируя её в массив. Чтобы инициализировать динамический массив, можно использовать функции ArrayInitialize() или ArrayFill().
Вы можете свернуть, развернуть и перейти между несколькими открытыми окнами. Окно навигатора предлагает полезные функции просмотра файлов и справочные функции. В окне панели инструментов отображается содержание справки, ошибки компиляции, результаты поиска файлов и онлайн-доступ к статьям и файлам на MQL4.com. Индикаторы, эксперты, библиотеки и скрипты имеют общее расширение .mq4.
Идентификатор функции должен совпадать с именем функции в файле исходной библиотеки. Обратите внимание на точку с запятой в конце объявления функции. Пока добавьте один или два параметра, но не беспокойтесь о их настройке. Нажмите кнопку Готово, и откроется шаблон советника с уже добавленной информацией. Здесь переменная size равна размеру массива, то есть 100. На последней итерации цикла счётчик i примет значение 100, но элемента с таким индексом в массиве нет, последний имеет индекс 99.