MQL4 ДЛЯ ПРОГРАММИРОВАНИЯ РОБОТА ДЛЯ ФОРЕКСА

Лучшие Форекс брокеры 2021 года:

Как написать робота для mt4

Предлагаю Вашему вниманию нашу разработку — конструктор роботов для MetaTrader 4.

ENSED COR – это конструктор торговых роботов для Форекс, который позволяет без знания языка программирования MQL4 создавать торговых роботов для торговой платформы MetaTrader 4.

Концепция работы с ENSED COR

Процесс создания торгового робота для MetaTrader 4 состоит из простых операций:

1) Описание сигналов на открытие покупки и продажи.
2) Описание сигналов на закрытие покупки и продажи (если это необходимо).
3) Ввод общих настроек робота, таких как Stop Loss, Take Profit, уровень допустимого проскальзывания.
4) Выбор и настройка метода расчёта объёма позиций, а также методов сопровождения сделок (к примеру, Трейлинг Стоп Лосс).

Сигналы описываются путём установления отношений между значениями различных индикаторов, ценовых уровней, числовых значений и т.п. Эти отношения устанавливаются путём нажатия кнопок «больше», «больше или равно», «меньше», «меньше или равно», «равно» и «не равно»:

Рейтинг брокеров FOREX:

Кроме того, можно описывать сложные условия, путём объединения отдельных пар условий как «И»/«ИЛИ»:

ENSED COR умеет работать как со стандартными индикаторами MetaTrader 4, так и с любыми пользовательскими индикаторами. Достаточно просто нанести на окно графика инструмента все требуемые индикаторы и сохранить шаблон, а затем загрузить его в программу ENSEED COR:

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

Бесплатно доступна демонстрационная версия. В ней недоступно использование шаблонов и пользовательских индикаторов. Стандартные индикаторы терминала MetaTrader 4 при этом доступны без каких-либо ограничений.

Стоимость полной версии определяется сроком подписки. Сейчас цены такие:
1 день — 35 рублей;
неделя — 200 рублей;
месяц — 550 рублей;
6 месяцев — 2350 рублей;
год — 3200 рублей.

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

Надежные Форекс платформы:

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

Сообщение от kags64

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

Добрый день!
Есть мнение, что подобные вопросы следует задавать не через форум
Благо уведомления исправно приходят, а то мог и вовсе не заметить этого сообщения.
Впрочем, у меня есть встречное предложение, подробности по почте.

ВСЕМ.ВСЕМ.ВСЕМ. Советую всем-ребята,забудье о покупке роботов.С этой программой напишет и дебил. Программа просто ссупер!Спасибо разработчикам.Давно искал такую.

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

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

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

Powered by vBulletin™ Version 4.1.8
Copyright © 2022 vBulletin Solutions, Inc. All rights reserved.
Перевод: zCarot

Трейдинг с советником: как создать торгового робота?

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

Алготрейдинг – это будущий и настоящий инструмент в арсенале каждого профессионального трейдера.

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

Пройди обучающее руководство и приобрети первые навыки в создании автоматических систем. Может быть, именно ты будешь Стивом Джобсом в автоматической торговле Форекс !

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

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

Но вот вопрос: реально ли самому взяться за создание торговых роботов? И если да, то что для этого нужно?

Жми кнопку, чтобы пройти пошаговое руководство по созданию робота и освоить его в несколько простых шагов Изучить »

Как создать торгового робота, не потеряв при этом драгоценного времени?

Практический каждый новичок в мире трейдинга мечтает создать торгового робота, или систему для трейдинга, которая бы торговала вместо него, а трейдер Форекс только «сливки снимал».

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

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

Жми кнопку, чтобы пройти пошаговое руководство по созданию робота и освоить его в несколько простых шагов Изучить »

Как создать торгового робота для Форекс?

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

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

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

Еще один плюс – это торговые терминалы Форекса, такие как, MetaTrader 4 или MetaTrader 5. Создать советник Форекс в МТ4 довольно просто, на фоне других торговых платформ, ведь эти терминалы специально разработаны, чтобы на их базе можно было создать торгового робота. У них простой интерфейс, который продуман даже для того, чтобы вести трейдинг вручную.

Жми кнопку, чтобы пройти пошаговое руководство по созданию робота и освоить его в несколько простых шагов Изучить »

Создание торговых роботов: как приступить?

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

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

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

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

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

Жми кнопку, чтобы пройти пошаговое руководство по созданию робота и освоить его в несколько простых шагов Изучить »

После изучения многих аспектов трейдер задумывается, что можно взяться за создание торговых роботов. Но тут возникает другая проблема, и она самая большая: невероятно сложно перенести все полученные знания на алгоритмический язык. Есть, конечно, и тут свои решения. Например, перед тем, как создать торгового робота в Metatrader 4, трейдер обращается к профессионалам. Но и они не всегда до конца вместить в робота все задуманное.

Есть и третий подход. Этот метод скорее похож на создание «черного ящика» с нейронными сетями, где используются уже готовые торговые инструменты. Все эти инструменты известны и широко представлены на рынке программных разработок и математических пакетах. Создание своего торгового советника на базе нейронных сетей – занятие весьма увлекательное даже для новичка рынка Форекс. Создание робота на базе искусственного интеллекта не требует какой-либо глубокой подготовки в области математики, либо опыта в программировании. Здесь все создается на базе визуальных компонентов.

Есть, конечно, самый простой вариант – это покупка готового робота. Но где гарантия, что это будет действительно универсальный советник?

Как создать робота для Metatrader 4?

Для торговой платформы Metatrader 4 подходит язык программирования MQL4 или MQL5. Вы можете просто изучить и разобрать несколько уже существующих роботов, и на их базе создать собственного советника. Это, кстати, поможет Вам лучше понимать тонкости программирования.

Жми кнопку, чтобы пройти пошаговое руководство по созданию робота и освоить его в несколько простых шагов Изучить »

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

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

Раздаем советники. Прибыльные. Бесплатно! Поиск Брокера Помощь

Как создать робота для торговли на Форекс в System Creator

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

Знакомимся с рабочей средой программы

Скачать System Creator можно вот ЗДЕСЬ. установка его стандартна и требует лишь двойного щелчка по исполняемому файлу, а после запуска рабочая среда будет выглядеть так, как на скриншоте.

Для удобства основные блоки разбиты по содержанию:

  1. Позволяет просмотреть сохраненные системы.
  2. Открывает доступ к инструментам для работы, включая возможность сохранения алгоритмов в виде готового советника, который можно сразу же начать использовать в MetaTrader4.
  3. Позволяет видоизменить множество отдельных настроек, скрытых для начала, чтобы не загромождать интерфейс.
  4. Дает возможность управлять стратегиями, создавая новую (New Strategy), открывая одну из созданных (Open) и предоставляя доступ к заготовкам в виде демо-систем (Repository).
  5. Позволяет познакомиться с уже готовыми демо-системами.
  6. Открывает инструкцию, но она только на английском.
  7. Тут три опции – отключение окна запуска, параметры автосохранения, закрытие стартового окна при открытии определенной стратегии.
  8. Список совершенных действий.

Приступаем к работе по созданию эксперта

После установки System Creator интерфейс будет по умолчанию англоязычный, поэтому исправляем это, выбирая пункт меню View, а внутри Language и Russian.

Чтобы изменения вступили в силу, перезапускаем терминал.

Изучаем настройки рабочего аккаунта

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

В результате отобразится такое окно.

Тут нужно создать свой profile.

Задаем уникальное имя и какое-то описание, а далее жмем «Добавить» и переходим на закладку «Главная».

Тут нужно в активном режиме указать название созданного аккаунта.

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

Источник котировок для приложения System Creator

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

Затем добавляем название и выбираем папку, где будут храниться данные. При желании можно сделать импорт данных из предварительно созданного Instruments.xml или из MT4, но делать этого обычно не нужно. Опции источника с котировками позволяют его описать, указав, к примеру, где они были взяты, если есть необходимость, а остальное лучше не изменять.

Опции тестируемого счета

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

Тут в активном режиме можно:

  • задать валюту депозита (USD, EUR, GBP, JPY);
  • сумму денег на старте (по умолчанию 10 тыс.);
  • размер плеча (по умолчанию 1:100);
  • отображение результатов в пунктах или валюте, которая выбрана для депо;
  • в обмене валют устанавливаем птичку, чтобы курс для отдельных из них пересчитывался автоматом.

Вкладка с символами

Формируем список символов, для которых загружены котировки.

Чтобы сделать это, просто вводится название пары, как в МТ4. Если же робот готовится не под валютные пары Форекс, то есть дополнительные поля для биржевых индексов и CFD. Для каждого инструмента еще можно указать: количество цифр после запятой, минимальный лот, максимальный лот, своп, спред, комиссию, проскальзывание и пр. Все эти данные можно взять из спецификации активов на сайте брокера, а спред выбрать средний, понимая, что робот в реальных условиях на Форекс покажет лучший результат.

Охват используемых данных

Вот такое окно и настройки здесь позволяют задать максимальную численность свечей (не более 50 тыс.), тиков (не более 100 тыс.) и временные рамки.

Программный код пользователя

В этом окошке приложения по созданию роботов System Creator выставляем в верхних полях все три птички.

Далее нас интересует пункт «Перейти на форум индикаторов». Тут можно выбрать необходимые для себя инструменты и загрузить их.

Выбрав нужный индикатор, можно:

  • получить общие данные о нем;
  • код языке C#;
  • код MQL.

Затем нажимаем «Открыть папку индикаторов», а там уже сортируем все закачанные. Если подняться из User Files/Indicators в каталог User Files, то тут окно установочных файлов программы создания роботов выглядит так System Creator.

Здесь стоит обратить внимание на такие каталоги.

  1. Code содержит дополнения.
  2. Data хранит историю «.csv».
  3. Indicators – закачанные и сохраненные из МТ4 индикаторы в коде программы.
  4. Libraries – индикаторы в виде «.dll».
  5. Logs – сохраняет всю информацию о работе System Creator.
  6. MT4 Files содержит внутри Bridge Installer, позволяющий созданному тут роботу торговать в отдельном терминале MetaTrader4.
  7. Strategies – папка с созданными или скачанными торговыми системами.
  8. System – системные данные по работе приложения.

Чтобы сохраненные индикаторы стали отображаться в System Creator, нужно воспользоваться опцией «Обновить пользовательские индикаторы». В результате они из открытого кода (CS) преобразуются в библиотеку DLL.

Приемлемость

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

Тут можно указать путь к МТ4, в который произойдет экспорт созданного робота.

Тут можно тонко настроить проскальзывание.

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

Также нужно вписать в Автозагрузку Windows название приложения System Creator.

Использование исторических данных

Для создания стратегии робота нужны котировки, на которых она станет тестироваться. Чтобы сформировать эту базу, заходим в «Исторический центр» (скрин прилагается).

Активировав его одним из удобных способов, откроется такое окошко.

Обращаем внимание на меню слева, где приведено 3 способа загрузки.

Первый состоит в закачке с сайта разработчиков, где котировки хоть и неплохие, но далекие от идеала.

Второй способ – закачать их с Dukascopy.

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

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

Чтобы задать путь, нужно открыть терминал, выбрать в меню Файл подпункт «Открыть каталог данных».

В окне установочных файлов найти каталог «History».

Далее указываем путь, куда их нужно сохранить.

Статистика

При создании своих роботов важно отслеживать отдельные алгоритмы своей стратегии. Сделать это можно при помощи опции «Статистика».

Статистика внутри бара

В историческом центре полезно смотреть на статистику внутри бара.

System Creator при использовании баров имеет ограничения – до 100 тыс. на М1. Поэтому, чтобы в процессе создания и тестирования в котировках не было разрывов, стоит периодически заходить сюда и смотреть, нет ли ошибки по загруженным данным.

Как создать робота на основе своей системы

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

Тут есть один момент. Например, при открытии сделки в начале формирования новой свечки take и stop устанавливается в ней. Тут может быть два исхода. Первый негативный – сначала сработает stop, второй, напротив, позитивный, сделка закроется по take-profit.

Для того чтобы программа как-то определяла, какой из сценариев выбрать, есть 3 способа:

  • Shortest опирается на меньшие временные промежутки, выбирая более короткий путь;
  • Nearest определит, что ближе к открытию – стоп или тейк – и активирует его;
  • Random будет закрывать позицию в случайном порядке.

Перечень основных параметров System Creator

Нажав на «Новая стратегия» правой кнопкой, открывается контекстное меню, предоставляющее доступ к ряду параметров.

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

  • разработка торговой системы;
  • анализ созданного робота;
  • стресс-тест.

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

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

Дополнительные сигналы входа

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

Правила открытия и закрытия позиции

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

  • набор условий для входа;
  • логика действий при открытии;
  • набор условий для выхода;
  • логика действий при закрытии.

Если нажать «Добавить логическое условие для входа/открытия», то можно перейти к списку индикаторов и их параметров.

Выбираем нужный и указываем сигнал, который он генерирует.

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

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

На скрине видно, как впопыхах сформированная стратегия ведет к потере денег, а приложение System Creator снабжает разработчика торгового робота для мт4 всей необходимой статистикой.

Опции при создании торгового эксперта

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

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

Если нажать гаечный ключ, то откроется такое окно.

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

Кнопка с шестеренкой открывает доступ к настройкам.

Здесь можно настроить фильтры, отбирая алгоритмы по таким параметрам:

  • увеличение баланса;
  • коэффициент эффективности стратегии;
  • коэффициент Шарпа;
  • минимум по просадке;
  • доходность;
  • расчет HPR;
  • профит фактор;
  • баланс риска и прибыли.

Очень важно использовать время на разработку системы, отображается в минутах для рабочего временного промежутка. Если стратегия для дневных графиков, то нужно выбирать не менее 6 часов (360 мин.), что дает возможность создать одну-две неплохих системы. Если разрабатывать робота для Н4, то выбирают не менее 15 часов, выставляя 900 мин. Для часового таймфрейма уже понадобится не менее 3,6 тысяч минут! То есть на разработку такой стратегии уйдет примерно 1 неделя.

Используемые индикаторы

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

Параметр охвата используемых котировок

Здесь задается объем данных на истории, которые задействуют для тестирования. Тут стоит выставить 1/3 от общего максимального значения имеющихся данных. Далее нужно отобрать блоки, которые должны остаться неизменными. Для этого щелкаем на них дважды, пока не закроется замок.

Создание торговых экспертов

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

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

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

Открыв его, стоит обратить внимание на две расположенные в левой части группы репозитария – локальную и online. Первый из них содержит данные относительно тех алгоритмизированных разработок, которые имеются на локальном ПК, а второй дает доступ к наработкам торговых роботов для Форекс от авторов System Creator.

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

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

Как анализировать созданные стратегии

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

Но делать этого не стоит, так как System Creator иногда ошибается с просадкой, а также не всегда верно оценивает риски, поэтому крайне важно проверить жизнеспособность робота, который в МТ4 может показать совсем другие результаты.

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

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

На выходе после окончания работы генератора в хранилище попадает большое количество стратегий. Отсеяв их по результатам форвард-теста и откровенно слабым результатам, можно 1-2 оставить для дальнейшего исследования.

К примеру, недавно проводили генерирование системы для D1 на валютные пары GBP/USD и EUR/USD, после чего приложение проработало миллионы вариантов за почти 14 часов и выдало около 6-ти сотен стратегий, среди которых десяток показали неплохие результаты после форвард-теста.

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

Как оптимизировать созданные алгоритмы

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

Для этого можно задействовать такие параметры.

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

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

Возможности функций обзора

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

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

Балансовый график

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

  • цена актива отображается линией серого оттенка;
  • баланс – черным;
  • увеличение баланса за счет покупок – зеленым;
  • увеличение баланса за счет продаж – красным;
  • изменения эквити – оранжевым.

Основной график

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

Сразу сверху над графиком располагается панель инструментов, которая позволяет:

  1. Отобразить сетку.
  2. Задействовать перекрестие.
  3. Включить объемы.
  4. Показывать стрелочками точки входа.
  5. Объем открываемых сделок.
  6. Уровни открытых сделок.
  7. Уровни SL и TP.
  8. Сомнительные бары.
  9. Индикаторы.
  10. Увеличение масштаба графика.
  11. Уменьшение масштаба графика.
  12. Опции переключения визуального отображения графика в виде линии, построенной по ценам закрытия.

Проводник по информации внутри свечи

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

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

Компаратор

Для начала проверяют, что тест при помощи различных способов выдает плюс/минус похожий итог.

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

Мультирынки

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

Монте Карло

Заключительный тест, после которого, если все прошло успешно, стратегию можно сохранять.

Здесь можно видеть симуляторы 3-х категорий:

  • изменение непосредственно рынка;
  • изменение системы;
  • проблемы с исполнением.

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

Можно сделать настройку, а затем нажать «Начало», после чего система проведет тестирование и выдаст результат.

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

Автоторговля

Чтобы советник торговал, но при этом не пришлось его компилировать в код mql4, нужно слева в меню изменить режим на «Trader».

Но перед тем как все заработает, вспомним, что по адресу User Files – MT4 Files у нас есть специальный мост, который соединит программу для создания робота для мт4 с торговым терминалом. После его установки, прикрепляем мост на тот же график и временной промежуток, которые выбраны для работы стратегии, назначив ID и скопировав в приложение Set connection ID:

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

Вот такая многофункциональная программа для создания робота System Creator.

04 августа 2022

Отзыв оставлен для брокера:

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

Олег, 02 авг 2022

Отзыв оставлен для брокера:

Всем привет, в еторо зарегистрировался недавно, чуть более месяца назад. Шел именно на криптовалюты, из-за простоты обращения с ними. Но немного потестив эфир, пока взял паузу, пока успокоится актив. Сейчас занимаюсь копированием трейдеров, результат в 1% прибыли за месяц — есть, скромно, но это начало. Думаю в ближайшие 1-2 месяца криптовалюты остынут и ими займусь вплотную. Удачи)

ленточка, 02 авг 2022

Отзыв оставлен для брокера:

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

MQL4 – что это такое и как с этим работать

Доброго времени суток, мои читатели. С Вами снова я – Ваш друг и товарищ луганский бомжик. Давно не писал что-то на своем блоге, так как был чуток занят. Сегодня хотел бы поговорить о такой полезной штуке, как язык программирования MQL4, который встроен в торговую платформу MetaTrader 4. В этой статье я попытаюсь доходчиво объяснить такие моменты: что такое MQL4, для чего он нужен, и что с его помощью можно сделать.

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

Для тех, кто знаком с любым видом языка программирования, MQL4 не станет каким-то откровением, и такой человек сможет с легкостью в нем разобраться. Он относится к классу С-языков, и по своим характеристикам, быстродействию и функциональности, MQL4 уступает только высокоуровневым языкам Java и C++. Это очень гибкий и способный контролировать практически все параметры советников язык. Подобные достоинства фактически развязывают руки любому трейдеру, который стремится автоматизировать свою торговлю на рынке Форекс.

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

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

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

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

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

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

Уроки программирования на MQL4

Сегодня мы продолжаем работу над советником FromHollowToTop. Тестирование первой версии показало, что вход по индикатору ZigZag зачастую бывает преждевременным. Для того чтобы совершить вход, когда цена пойдет в нужную нам сторону, а не будет продолжать движение, перерисовывая луч, необходимо ввести дополнительное условие. Такое дополнительное условие будет служить своеобразным фильтром, отбрасывающим ранние сигналы. В качестве дополнительного условия можно принять закрытие свечи выше или ниже предыдущей (не путать простое пробитие свечи, речь идет о значении цены закрытия). То есть, для осуществления покупки необходимо, чтобы цена закрытия свечи была выше максимума предыдущей свечи, а для продажи – ниже минимума.
Очевидно, что далеко не всегда мы будем получать оба сигнала (сигнал от зигзага и дополнительный сигнал) на одной и той же свече. Скорее всего, последний экстремум зигзага будет где-то на 5-6 баре от текущего, когда получим пробитие предыдущего бара ценой закрытия. Поэтому, если на текущем баре значение индикатора ZigZag равно нулю (нет экстремума), то нам нужно найти бар, на котором оно не равно нулю, иначе говоря, найти экстремум.

Юрий FT

Модератор
  • 09.08.2008
  • #2

Урок №7. Работа с файлами

В отличие от других языков программирования, работа с файлами в MQL4 немного ограниченна, так как позволяет читать и записывать информацию в файлы только по определенным папкам. Разработчики утверждают, что это сделано в целях безопасности, чтобы применение чужих экспертов не нанесло вред операционной системе или даже оборудованию. Видимо, благодаря этому обстоятельству, не было случаев появления экспертов-вирусов. Хотя при этом никто не отменял возможность использовать вызовы функций из динамических библиотек (DLL), при помощи которых более-менее опытный программист поставит на колени практически любую систему. Но и с этой проблемой рядовому пользователю бороться просто – убрать флажок «Разрешить импорт DLL» в главном меню МТ4 «Сервис»-«Настройки»-«Советники». То есть здесь все в наших руках и внимательности.

Вложения

ForTrader

Гость
  • 17.08.2008
  • #3

урок №8. Создание индикатора.

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

Для изучения тонкостей работы индикаторов создадим небольшой индикатор торговых сессий. Суть его будет заключаться в том, что сутки мы условно разобьем на три части (время терминальное): с 0-8 часов (азиатская сессия), с 8-16 часов (европейская сессия), с 16-24 (американская). По каждой из этих сессий будем находить максимальное и минимальное значение, которое будет отображаться на следующей сессии горизонтальными линиями.

Юрий FT

Модератор
  • 23.08.2008
  • #4

Урок №9. Графические объекты.

Вывод графической информации при помощи буферов индикатора решает множество задач, но имеет серьезный недостаток – не позволяет привязывать графическую метку к конкретной области экрана, выводя ее (метку) на четко определенном баре. В результате, при прокрутке пользователем графика цен влево или вправо, метка также смещается.
Решением проблемы является использование графических объектов, которые можно привязывать как к барам (времени открытия бара), так и к определенной области экрана. Применять объекты можно во всех видах MQL-программ: советниках, индикаторах и скриптах. Поэтому рассмотрим применение функций создания графических объектов на примере скрипта.

Вложения

Главный редактор
  • 30.08.2008
  • #5

Урок. 10. Система с несколькими ордерами. Гридеры.


До сих пор мы рассматривали советники «простого» типа. Их простота заключалась в открытии по сигналу одной позиции, которая до своего закрытия так и оставалась единственной, даже в случае получения еще одного сигнала в том же направлении. Если требовалось открыть позицию, противоположную существующей, мы сначала закрывали имеющуюся. И только после успешного закрытия открывали новую позицию. Казалось бы, простота – залог успеха, но не всегда. Существует множество систем, которые оперируют не одним ордером, а одновременно двумя и более. Действительно, если мы поймали тренд, почему бы не добавить позиций в ту же сторону? Ведь подобное добавление, в разумных пределах конечно, в худших случаях приводит к небольшому уменьшению заработка, а в лучших – к существенному приросту депозита.
Одними из наиболее часто встречающихся систем с одновременным удержанием двух и более позиций являются гридеры. Гридеры (от англ. grid — сетка) в основном являются безиндикаторными системами и основаны на размещении сетки ордеров на некотором расстоянии от рынка в одну и в другую сторону. Сразу замечу, что очень мало подобных систем является прибыльными, так как довольно трудно подобрать правильный баланс между шагом сетки (расстояние между соседними ордерами) и профитом. Тем не менее, умы многих трейдеров будоражит идея о том, что если рынок в одну сторону не пошел, то обязательно пойдет в другую, забывая о таком состоянии рынка как флет и наоборот – работая в боковом движении, забывая про тренд.

Вложения

Почетный гражданин
  • 03.09.2008
  • #6

А где первые 5 уроков О_о ?

чет не могу найти

Главный редактор
  • 03.09.2008
  • #7
Главный редактор
  • 06.09.2008
  • #8

Урок. 11. Мультивалютный советник.

В процессе торговли мало кто из трейдеров ограничивается работой только на одном инструменте. Это оправдано старой поговоркой «не ложи все яйца в одну корзину». Таким образом, одновременное открытие позиций по нескольким валютным парам в худшем случае может уменьшить убытки, а в лучшем – увеличить прибыль. К тому же, зачастую сложно предвидеть, по какому из инструментов движение будет наибольшим.
Если трейдер применяет свою торговую систему ко всем инструментам одинаково, обладая при этом достаточно большим депозитом, то проблема решается просто – на каждый из рабочих графиков прикрепляется один и тот же советник. А если торговая система предусматривает слежение за тремя десятками инструментов, а одновременную работу только по десяти из них, которые дают более перспективные сигналы? Тогда нужно наладить взаимодействие между советниками, обмениваясь информацией через глобальные переменные терминала. Такой способ имеет право на жизнь и используется многими программистами. Но все же удобнее и эффективнее организовывать обмен информацией внутри одного советника, который прикреплен только к одному графику, но имеет возможность торговать на всех доступных валютных парах. Этот подход автоматически решает проблему одновременного доступа нескольких советников к торговому потоку. Такое часто случается, когда в один и тот же момент несколько советников пытаются осуществить торговую операцию. В результате большинство из них получает ошибку 146 – торговый поток занят. Со следующим тиком, конечно, количество одновременно обратившихся советников уменьшается, но вновь происходит возникновение ошибки. Если же все советники организовать в теле одной программы, то с разделением прав доступа проблем возникать не будет, так как одна программа не может пытаться открыть множество позиций одновременно.
По большому счету, мультивалютный советник мало чем отличается от обычного одновалютного эксперта. В нем просто добавляется цикл, в котором меняются названия инструментов, а логика работы остается та же. Но именно в мелочах зачастую и скрываются основные сложности разработки мультивалютных экспертов. Ведь уже недостаточно написать Symbol() для указания нужного инструмента – потребуется конкретика. То же самое относится к ценам Bid и Ask. Одноименные предопределенные переменные дадут нам информацию только о ценах текущей валютной пары. Для определения цен другого инструмента придется использовать вызов MarketInfo с параметрами MODE_BID и MODE_ASK соответственно. Дальше – больше. На разных валютных парах существуют различные торговые условия – спрэд, уровень стопов, значения Point и Digits – все отличается. Еще одной головной болью разработчиков мультивалютных экспертов является отсутствие возможности протестировать их в тестере стратегий. Точнее, по одной валютной паре их протестировать возможно, но вот даже с двумя инструментами (не говоря уже о трех, четырех или десяти) никак не провернуться. Поэтому здесь используется «старый дедовский метод» — тестирование он-лайн на демо-счете.
Дополнительным минусом мультивалютных экспертов является большое количество внешних параметров эксперта. Довольно неудобно при каждом запуске настраивать все эти параметры. Хотя, конечно, можно воспользоваться встроенной возможностью терминала для сохранения и загрузки внешних параметров эксперта. Но если наряду с параметрами требуется загрузка некоторых данных из файла (например, время выхода важных новостей на ближайшую неделю, месяц), то удобнее все настройки вынести в файл, оставив во внешних переменных только имена файлов данных.
В качестве примера создадим советника MutiSymbols, который оперирует максимум десятью валютами.

Вложения

Главный редактор
  • 14.09.2008
  • #9

Урок 12. Использование автооптимизации.

Ни для кого не является новостью, что создание абсолютной системы, которая будет давать прибыль при любом состоянии рынка бесконечно долго, как минимум затруднительно, как максимум – невозможно. До сих пор очень часто на форумах встречаются заявления о создании очередного «Грааля». Большинство форумян очень скептично относятся к такого рода заявлениям и даже открыто высмеивают авторов манны небесной. И вправду, зачем нашедшему клад рассказывать об этом на весь мир?
Понимая, что поиск сверхсистемы изначально обречен на неудачу, многие из нас, как алхимики, упорно продолжают поиски своего философского камня. На этом этапе часто удается создать систему, которая приносит прибыль некоторое время, а затем рынок вновь изменяется. Профессиональные трейдеры в таких случаях также корректируют свою систему или разрабатывают новую, что позволяет им таковыми и оставаться. Советник же полностью изменить самого себя не в силах, так как это прерогатива его создателя, а вот немного подкорректировать свою стратегию вполне может, подобрав другие параметры профита, стопа и т. д. Этот процесс в тестере стратегий называется оптимизацией.
Запустить программно тестер стратегий и произвести в нем оптимизацию возможно (нужно использовать API-функции Windows), но будет не очень надежно в плане дальнейшей поддержки терминалом. Ведь коды кнопок и окон не документированы официально и поэтому могут быть изменены в следующих релизах МТ4. Поэтому лучшим выходом будет являться оптимизация непосредственно при помощи самого советника. То есть, через какой-то промежуток времени советник производит оптимизацию и до следующей оптимизации работает с полученными лучшими параметрами. Через определенный период действия повторяются. Это позволит советнику все время изменяться, следуя изменениям рынка. Хотя не факт, что изменения рынка будут касаться только каких-то параметров советника. Может, сама стратегия, заложенная в эксперте, себя изживет. Но не будем о грустном и вспомним один из постулатов технического анализа – «тенденция скорее продолжится, чем изменится». То есть подбор параметров на небольшом отрезке ближайшей истории может быть оправдан, хотя никто гарантию на такую «оправданность» не даст.
Тем более, при подборе параметров перед нами еще стоит выбор временнόго промежутка для оптимизации. Скорее всего, это должна быть ближайшая история, а вот оптимальную длительность этой истории нужно тоже как-то подбирать. Таким образом, даже в параметрах оптимизации есть, где разгуляться.
Заниматься моделированием тиков, как это делает тестер стратегий, мы не будем, так как функция оптимизации в этом случае будет уж очень объемной. Пойдем по более простому, но не менее эффективному пути. Вспомните, как вы изначально проверяете только что родившуюся идею. Вряд ли вы сразу начинаете писать советника. Проще всего визуально пройтись по истории, отмечая входы и выходы из сделок. В этом случае нас не интересуют реальные тики, вполне достаточно самих свечей с их четырьмя основными характеристиками. Эта модель тестирования в тестере стратегий называется «по ценам открытия». Понятно, что далеко не все стратегии могут быть проверены в этой модели. Но практика показывает, что подобные эксперты при использовании на реальном счете работают с результатами более близкими к результатам предварительного тестирования.

Вложения

scriptong

Почетный гражданин
  • 15.09.2008
  • #10

Потребности читателей

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

Главный редактор
  • 20.09.2008
  • #11

Урок 13. Организация связи между двумя терминалами.

Любой вид анализа, который трейдеры пытаются применить к рынку, обладает своими достоинствами и недостатками. И именно недостатки делают любой анализ неполным, а в некоторых случаях вообще недостоверным. В данном случае мы будем говорить о недостатках технического анализа, так как автоматическая торговля в большинстве случаев базируется на анализе графиков, а применение фундаментального анализа для полностью автоматической торговли невозможно, только лишь в связке с человеком.
Основным недостатком технического анализа можно смело назвать отличие внешнего вида графиков у различных брокеров. Уже один тот факт, что терминальное время у каждого свое (объясняется нахождением брокеров в различных часовых поясах), приводит к различию дневных и четырехчасовых графиков. На это можно возразить, что часовые графики и ниже должны совпадать, так как во всем мире длительность часа одинаковая. Но и это не так. Наблюдая одновременно котировки нескольких ДЦ, можно заметить, что цены открытия и закрытия часа у них отличаются, даже при условии равенства текущих котировок. Это уже объясняется плотностью тиковых потоков, которая у каждого брокера тоже своя, и приводит к разной картинке, наблюдаемой на экране. То есть, медвежий бар одного ДЦ может быть представлен бычьим баром другого. Про разницу котировок можно вообще промолчать, так как она в основном не очень значительная (5-10 пунктов, редко до 20), но на мелких периодах вроде М1 может вполне сказаться.
Все вышеперечисленное приводит к разным показаниям индикаторов, на которых и базируется большинство советников. Не раз отмечалось, что по сигналам советника в ДЦ А1 необходимо совершить сделку Buy, а по сигналам этого же советника в ДЦ А2 сделку совершать нельзя или вообще нужно совершить Sell. В результате начинающие трейдеры начинают искать ДЦ, котировки которого являются «правильными», эталонными. Но в том то и беда, что абсолютной истины здесь не существует. Правильным будет тот поток котировок, с которым вы имеете дело, то есть именно брокера, у которого открыт ваш счет.
Тем не менее, есть одно решение проблемы. Если у вас имеется возможность одновременной работы с двумя и более ДЦ, то можно работать только по сигналам, которые возникают одновременно у всех просматриваемых брокеров. Остальные сигналы должны отбрасываться. Вручную такое сравнение довольно утомительно и может привести к частым механическим ошибкам. Именно здесь нам и пригодится автоматизация процесса.
Каким образом, возможно передать сигнал от эксперта одного терминала эксперту другого терминала?

Вложения

scriptong

Почетный гражданин
  • 22.09.2008
  • #12

Здрасте.
В 30 номере fortrader.ru, хоть что-то появилось об автооптимизации, спасибо.
Пардон, т.к. меня забанили пишу Вам, а не на форум.
Плиз, поместите этот пост где-нибудь на видном месте это важно, имхо.
Может кто-то продвинет эту тему дальше. Заранее спасибо.

В 12 уроке, уважаемый автор Игорь Герасько, респект ему,
чувствуется, не совсем раскрыл тему,
написал урок в лучшем стиле эпохи Советских кандидатов наук.

Вообще, понятно, что в сухом остатке параметров советника — неопределенность,
как местоположение электрона, место известно, время неизвестно;
время известно место неизвестно — квантовая механика.
Где FX — генератор случайных чисел, а советник псевдогенератор.
Т.к. Квантовая механика развивается,
(появилась теория: примерно,
частица всегда одновременно присутствует в 2 удаленных частях вселенной
и это одна частица.),
то развивается и а.оптимизация параметров советника.
Тем более, как и электрон (определяют место с определенной точностью)
определяем параметры советника с определенной точностью.

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

Далее не рассмотрев главного в а.оптимизации, уважаемый автор начал с второстепенного:
Причем тут а.оптимизация лосей, профитов и прочих метапараметров.
Это только усложняет пути а.оптимизации, периоды а.оптимизации.
Достаточно прогнать параметры скользящей средней в 3 встроенных циклах for:
по средней, сигнальной и глубине количества баров истории с запоминанием
максимальной суммы прибыли и получением лучших 2 параметров средней на этой истории.
Не рассмотрены причины выбора периода а.оптимизации, отличия минуток от часов.
Не указан 1 из главных путей а.оптимизации направление тренда,
т.е. торговать только бай или только сел. И т.д. и т.п. А тупая а.оптимизация,
хотя бы одной скользящей средней цены в будущем, ни к чему хорошему не приведет.
В предыдущем примере советника, другой автор использует параметры кучи индикаторов,
это тоже ни к чему хорошему не приведет. Это избыточно.
(Нормальная модель атома построена только для водорода.)

Рассмотрим предварительную оптимизацию
Блока а.оптимизации параметров робота Марина:

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

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

Тембр ноты Ля любого муз. инструмента отличается наличием мелких примесных синусоид.
Затухающая графика их известна. Европейские лады (полтона) смотрим для H4.
Индийские лады (четверть тона) смотрим для минуток. Евро сродни рок группе,
где набор нот инструментов группы в песне — генератор чисел FX,
а соло нот инструмента в группе — настроенный советник- псевдогенератор.

Песня — история евро(марки) за год,
куплеты — между принятием % ставок ЕЦБ и ФРС, фунта-БА, йены-БЯ, франка-БШ.
Переложив на ноты историю евры через свечи H4, где длительности нот и свечей совпадают.
Паузы, проигрыши — выходные и праздники.
Имя ноты, определенной октавы, задано ценой евры за этот период,
т.е. от начало принятия % ставки до другого начала строим
хроматическую гамму на несколько октав.
Свеча-нота вниз строим минорный аккорд, вверх мажорный аккорд,
в конце музыкальной фразы септаккорд.

Накладываем тренд вверх тональность До мажор, вниз — Ля минор.
Евро — вокал; фунт — бас-гитара; йена-ударные; франк-ритм-гитара.
Кан.Ав.Нз.,Кроссы — доп. инструменты.

Создав 2 десятка песен, записав и прослушав их, проанализировать куплеты,
подкорректировать и синтезировать будущий куплет, добавить в песню.
В полученных песнях разложить ноты на синусоиды инструмента. (частоты гармоник)
Тембр — от вида инструмента. Для Евро подбираем тембр вокала.

Рисуем его на графике цен прошлых и будущих. Оцифровать. Получить ряды чисел.
Построить по ним оптимальную скользящую среднюю и сигнальную.
Заложить набор этих песен в блок а.оптимизации робота Марина.
На основе оцифрованных песен проанализировать и создать будущий куплет песни
блоком а.оптимизации на истории за разные периоды. Сравнить прибыль.

В общих чертах, упрощенно, где-то так.

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

Как написать торгового робота для Форекс

Содержание данной статьи является исключительно частным мнением автора и может не совпадать с официальной позицией LiteForex. Материалы, публикуемые на данной странице, предоставлены исключительно в информационных целях и не могут рассматриваться как инвестиционный совет или консультация для целей Директивы 2004/39 /EC.

Похожие:

21 июл. 2022 г. 19:30:23

Варианты написания советника, что для них потребуется При решении вопроса, как написать Форекс робота, можно рассматривать три основных варианта. С.

Я попробую применить полученные знания на демо-счете, доступном без регистрации

Покажите мне графики валют и как цена на рынке двигается в реальном времени

Я хочу начать копировать сделки профессиональных трейдеров на мой счет

Я готов начать зарабатывать на финансовых рынках и хочу открыть торговый счет

    LiteForex в ВКонтакте

Предупреждение о рисках: Торговля на финансовых рынках сопряжена с риском. Контракты на разницу («CFDs») являются сложными финансовыми инструментами, используемыми для маржинальной торговли. Торговля CFD имеет высокий уровень риска, так как кредитное плечо может работать как в Вашу пользу, так и против Вас. Вследствие этого торговля CFD подходит не всем инвесторам из-за высокого риска потери инвестированного капитала. Вы не должны рисковать большими средствами, чем Вы готовы потерять. Перед началом торговли Вы должны убедиться, что Вы понимаете все риски и учитываете их в совокупности с уровнем Вашего опыта при постановке Ваших инвестиционных целей. Перейти к полному документу «Предупреждение о рисках».

Данный веб-сайт является собственностью группы компаний LiteForex.

LiteFinance Global LLC зарегистрирована в государстве Сент-Винсент и Гренадины как общество с ограниченной ответственностью под номером 931 LLC 2022. Юридический адрес: First Floor, First St Vincent Bank Ltd Building, James Street, Kingstown, St. Vincent and the Grenadines. Email:

LiteFinance Global LLC не предоставляет сервис резидентам стран Европейской Экономической Зоны (ЕЭЗ), США, Израиля и Японии.

MQL4: алгоритмы в программировании торговых советников

Содержание статьи: (кликните, чтобы перейти к соответствующей части статьи):

Здравствуйте, дорогие друзья, MQL программисты и трейдеры, желающие автоматизировать свои Форекс стратегии.

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

Дело в том, что составление алгоритма MQL4 непосредственно перед самим программированием позволяет с одной стороны, систематизировать все Ваши мысли по поводу торговой идеи и на основе этого построить все причинно-следственные взаимосвязи в Вашей торговой стратегии.

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

Компьютер не может отойти «куда-то в сторону», он не способен думать сам, он думает по заданному алгоритму, то есть либо да, либо нет (если «да», то он делает одно действие, если «нет», то он делает другое действие).

Простейший алгоритм на основе бытового процесса

Давайте для начала рассмотрим процессы алгоритмов на простом бытовом примере — помыть посуду.

Если мы будем рассуждать о данном процессе со стороны нас (людей), то процесс будет выглядеть так: есть грязная посуда, её необходимо вымыть. Что же мы делаем? Мы подходим к раковине, берем губку, моем посуду и всё — посуда вымыта.

Для компьютера такое описание процесса категорически не подойдет.

Ему необходимо четко и пошагово расписать каждое действие. Давайте рассмотрим, как это происходит.

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

Далее, мы ставим условие компьютеру и спрашиваем: «Есть ли грязные тарелки?». Так как он не может мыть что-то, если грязных тарелок не будет. Если они есть, то компьютер выполняет действие «Вымыть тарелку». Далее, он возвращается снова к нашему условию.

Мы снова спрашиваем: «Есть ли грязные тарелки?». Если грязные тарелки еще есть, то компьютер заново выполняет действие «Вымыть тарелку». После чего, он снова приходит к нашему условию «Есть ли грязные тарелки?» — если «нет», то это значит, что компьютер завершил мыть посуду — всё вымыто. Далее компьютер по заданному алгоритму выходит в конец процесса.

Как мы видим, несмотря на то, что это достаточно легкий процесс, для компьютера мы должны расписать весь процесс от и до, то есть, каждое действие.

Алгоритм программирования на MQL4 простейшей торговой Форекс стратегии

Теперь давайте рассмотрим алгоритмы, но уже по нашей сфере, по торговле на Форекс.

Исходная задача (торговая стратегия).

Имеется скользящая средняя, назовем ее MA. Если цена выше скользящей средней, то мы закрываем все продажи и открываем покупки. Если цена ниже, чем наша скользящая средняя, то мы закрываем все покупки и открываем продажи. Такая вот простая торговая стратегия.

В данном случае скользящую среднюю мы обозначаем как MA, а цену — как BID.

Если кто не знает, то в трейдинге и в нашем терминале MetaTrader4 есть два типа цен: тот, который мы видим на нашем обычном графике — это цена BID.

Но есть еще другая цена — цена ASK. Чтобы её увидеть, необходимо щелкнуть по графику правой кнопкой мыши, далее кликнуть на Свойства — Общие. В появившемся окне поставить галочку на панели возле графы «Показывать линию Ask».

Белая линия на графике — это цена Bid, красная линия — это цена Ask. Расстояние между этими линиями — это и есть спред, который взимается с нас всеми брокерами при торговле.

Вернемся к алгоритмам. В условиях нашей задачи мы цену будем обозначать BID.

Итак, имеется весь наш процесс, начало процесса, конец процесса.

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

Напоминаю, тик — это каждое изменение цены, которое приходит в наш терминал.

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

Итак, рассмотрим все по порядку.

Пришел первый тик — начало процесса. Мы записали значение нашей скользящей средней в значение переменной MA. Далее, мы записали значение цены BID. После чего, мы сравниваем значение цены BID со значением скользящей средней MA. Если значение цены стало больше, чем значение средней скользящей, тогда по условиям задачи мы должны купить — условие «Да». Если меньше, то, по идее, мы должны продать.

Бывает несколько состояний: цена больше чем MA, цена меньше чем MA. Если больше — мы покупаем, если меньше — мы продаем. Но есть еще третье состояние, когда цена равна значению средней скользящей. По условиям задачи данное равенство у нас никак не описано, соответственно мы ничего не должны делать.

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

Вернемся к нашему примеру. Допустим, что, действительно, цена больше чем MA — мы должны купить, но, прежде чем открыть какой-либо новый ордер, мы должны посмотреть, есть ли у нас какие-либо старые Sell ордера и если есть, то закрыть их по условиям. В нашем случае условия открытия — Buy, значит перед открытием Buy ордера, мы должны закрыть все Sell ордера.

Давайте все протестируем подробнее: пришел первый тик — мы записали значение средней скользящей MA, записали значение цены BID, сравнили значение цены со скользящей средней, Значение цены больше MA — «Да» — переходим далее и проверяем наличие Sell ордера. Мы ставим условие (вопрос) компьютеру: «Sell ордера есть?» — «Да», допустим, они есть. Если они есть, то мы выполняем действие закрыть все Sell ордера.

После чего возвращаемся снова к нашему условию: «Sell ордера есть?» — «Нет», Sell ордеров нет, все Sell ордера закрыты. Переходим к новому условию и спрашиваем: «Buy ордера есть?».

Для чего нам необходимо это условие, почему мы не можем сразу открыть Buy ордер?

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

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

То есть, если мы поставим условие: «Buy ордер есть?» и если он есть, то мы просто выходим и завершаем процесс. Если его нет, то мы открываем Buy ордер. Таким образом, сколько бы тиков к нам не поступало, будет всегда открыт один Buy ордер.

Вот, собственно, и весь алгоритм закрытия Sell ордера и открытия Buy ордера в ситуации, если цена BID больше средней скользящей MA.

Противоположную ситуацию (где BID меньше MA) уже расписывать не буду, думаю, на примере выше все должно быть понятно.

Алгоритм второй торговой стратегии (открываем сделки при пересечениях двух скользящих средних)

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

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

Мы записываем значение быстрой скользящей средней MA1 и медленной скользящей средней MA2.

Далее, сравниваем эти два значения, то есть, сравниваем значения MA1 и MA2. «MA1 больше значения MA2?»- если «Да», то совершаем блок покупок. Если MA1 меньше чем MA2, то мы обрабатываем блок продаж. Данный результат, в принципе, является правильным. Но если точно подходить к построению алгоритма, то по нашим условиям данный алгоритм не совсем верен.

А дело тут вот в чем: нужно сравнивать значения МА1 и МА2 не просто так, а сравнивать их значения 2 раза в соответствии двум подряд идущим барам на графике. То есть, мы должны сравнить значение средних скользящих 1) зеленой МА1[1] (на первом баре) со значением красной МА2[1] (на первом баре) и 2) зеленой МА1[2] (на втором баре) со значением красной МА2[2] (на втором баре).

Учет всех баров в MetaTrader4 идет с право на лево. Самый правый бар, который развивается во времени – называется нулевым [0], далее, влево идут первый бар [1], второй бар [2] и так далее вглубь истории. Подробнее об этом мы поговорим чуть позже, в другой статье.

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

Например, если мы просто сравним две МА: МА1>МА2 – это значит, что просто одна скользящая средняя больше другой, то есть, МА1 находится выше МА2. Таким выражением мы просто определяем, что одна МА больше (выше) другой, но сам момент пересечения тут не задан.

А вот, если выражение написать так: ( МА1[1]>МА2[1] и МА1[2]<=МА2[2] ), то таким образом мы уже как раз таки и описали сам момент пересечения МА1 снизу вверх МА2 на двух подряд идущих барах.

То есть, если на втором баре МА1 была меньше (ниже) или равна МА2 и одновременно с этим, на первом баре МА1 стала больше (выше) МА2 – значит мы имеем факт пересечения.

Итак, давайте вернемся к нашему алгоритму и построим его на основании алгоритма из первой стратегии, но немного подправим условия сравнения МА (в алгоритме выше мы сравнивали цену BID и значение МА, а в данном же алгоритме мы будем сравнивать две МА друг с другом на двух подряд идущих барах), и алгоритм будет выглядеть так:

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

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

Ну, или либо сейчас просто еще раз прочтите данную статью для большего понимания вопроса.

В этой статье мы рассмотрели алгоритмы в MQL4 программировании на примерах двух торговых стратегий: простой и более сложной.

Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.

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

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

Другие статьи по теме Программирование на MQL4 Вы можете просмотреть в данном содержании практических уроков по MQL.

Понравился материал статьи?
Добавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D

Брокеры, дающие высокие бонусы:
MQL4 ДЛЯ ПРОГРАММИРОВАНИЯ РОБОТА ДЛЯ ФОРЕКСА