Меню Рубрики

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

Traders //—>

    Opentraders — это независимое сообщество, создаваемое трейдерами и для трейдеров. Присоединяйтесь, нам по пути!
  • Войти
  • Регистрация

Группа «Программирование на MQL»

Обсуждаем здесь вопросы разработки экспертов, делимся опытом, выкладываем уроки.

Внимание! Если Вы хотите заказать советник, то Вам в группу «Заказы на разработку советников»

Лучшее от AM2

100% ордеров в плюс или тысячи процентов годовых 19
2016-12-21 20:18:10 0

Советник — откусыватель убыточной позиции 23
2017-05-28 14:02:20 0

На какие «Машки» больше всего смотрят «Нонки» 33
2015-11-07 02:52:18 0

Запускаем стороннее приложение и выключаем компьютер с помощью средств MQL 3
2017-10-22 13:05:55 0

Как написать простейший советник, торгующий отложенными ордерами. 50
2013-02-28 20:53:04 0

Как написать простейший советник на MQL4?

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

Для начала сформулируем правила открытия и закрытия позиций.

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

Чтобы облегчить задачу написания эксперта воспользуемся кодом советника Moving Average.mq4 из стандартной библиотеки MetaTrader 4.

Немного изменим шапку эксперта и укажем свои внешние переменные:

Так как советник у нас простейший убираем из кода функции LotsOptimized() для расчета лота и CheckForClose() предназначенную для закрытия позиций при определенном условии.

Далее запишем значения необходимых индикаторов и условия открытия позиций в функции CheckForOpen():

И в завершение нашего задания подкорректируем содержание функции start():

Удачи вам и больших профитов уважаемые трейдеры и программисты!

Источник статьи: http://mql.opentraders.ru/940.html

Урок №12: Пишем советник по индикатору

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

Начнём с создания шаблона советника(как это сделать мы разбирали на уроке №10).

Опишем входные параметры эксперта:

Значения StopLoss, TakeProfit и Slippage, присвоенные в параметрах, указаны для 4-х значного брокера, соответственно, чтобы эти же значения корректно работали у 5-ти значного ДЦ их нужно умножить на 10, что мы и сделаем в функции OnInit:

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

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

Переходим к функции OnTick и пишем заготовку обработчика, где описываю алгоритм работы эксперта:

  1. if (CountBuy() == 0) — я проверяю есть-ли у меня ордера на покупку, находящиеся в рынке, и если нет, то шаг 2.
  2. BuySignal = … — проверяем наличие сигнала на покупку по индикатору, кстати, это будет переменная, которую необходимо объявить заранее.
  3. if (BuySignal > 0) — если есть сигнал на покупку, то переходим к шагу 4.
  4. CloseSell() — закрываем открытые ордера на продажу, если они есть и переходим к шагу 5.
  5. Открываем ордер на покупку.

Точно такой же блок делается и для продаж.

Исходя из написанного алгоритма сразу видно, что предварительно нам потребуется несколько функций: CountBuy(), CountSell(), CloseBuy(), CloseSell(), а также написать код получения сигнала с индикатора.

Объявим в коде несколько переменных для дальнейшей работы и необходимые функции:

Функция CountBuy():

Аналогично пишется функция CountSell(), разве что проверяется тип ордера OP_SELL:

Далее пишем функцию CloseBuy():

Пишем практически всё то же самое и для закрытия ордеров на продажу, разница лишь в типе проверяемого ордера и цене закрытия, функция CloseSell():

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

Для получения сигнала от любого пользовательского индикатора используется функция iCustom, обратившись к справке (F1) видим формат вызова функции:

Теперь мы можем с легкостью получить сигнал на покупку в нашем советнике:

заодно и сигнал на продажу:

кстати, обратите внимание на предпоследний параметр mode, который мы передаём в функцию iCustom — это номер буфера индикатора, где хранятся сигналы покупок и продаж.

Таким образом наша функция OnTick() будет выглядеть следующим образом:

Собственно говоря, на этом всё, разработка советника на пользовательском индикаторе завершена.

Источник статьи: http://mql.su/2017/12/lesson12-my-expert/

MQL4: Создаем шаблон советника в редакторе кода MetaEditor

В этой небольшой статье мы рассмотрим, как создать базовый шаблон на MQL4 в редакторе кода MetaEditor.

Для того чтобы создать шаблон советника в MQL4, нам необходимо открыть наш редактор кода. Как это делается, мы разбирали в нашей первой статье «Знакомство с редактором кода MetaEditor».

Итак, давайте создадим наш первый базовый шаблон советника. Открываем MetaEditor и нажимаем кнопку создать.

У нас появляется окно Мастера MQL, который нам поможет создать шаблон советника в MetaEditor. Он нам предлагает на выбор несколько вариантов того, что можно создать. Последние три варианта нам не нужны (они нужны для профессионального программирования). В процессе нашего программирования нам могут пригодиться: Советник (шаблон), Пользовательский индикатор или Скрипт. В нашем случае, сейчас выбираем Советник (шаблон) и нажимаем далее.

В следующем открывшемся окне Мастер MQL нам предлагает заполнить 4 поля. Мы будем заполнять только верхние два поля. В первом поле мы прописываем наименование нашего советника, допустим Experts\My_first_expert.

«My_first_expert» — это название моего советника. Вы можете назвать его иначе.

Второе поле особой значимости не играет: здесь прописываются только авторские права, то есть, в данном случае мое авторство Copyright (с) Антон SanGReal Invest.

В третьем поле прописывается Ваш сайт, если таковой есть. Но можно это поле не заполнять вовсе.

Четвертое поле нужно для того, чтобы мы на данном этапе уже ввели начальные значения в данном советнике, например, переменную лота, переменную take profit, переменную stop loss и так далее. Но я предпочитаю оставлять это поле пустым, так как для меня удобней прописать данные моменты в самом коде. Поэтому сейчас заполнять данное поле мы не будем.

Итак, заполняем нужные нам поля и нажимаем кнопку «Далее».

В следующем окне Мастер MQL нам предлагает выбрать какие-то базовые функции, которые он автоматически пропишет нам в коде. По сути, в 95-98% случаях нам данные функции не пригодятся. Но в рамках нашего обучения мы будем использовать функцию «On Timer». Соответственно, напротив нее необходимо поставить галочку. И нажимаем кнопку «Далее».

В следующем окне Мастер MQL вновь нам предлагает включить некоторые функции в наш стандартный шаблон. Но нам они не потребуются, соответственно ничего из предложенного не добавляем и нажимаем кнопку «Готово».

И вот у нас открылся базовый шаблон нашего «пустого» советника в MetaEditor.

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

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

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

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

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

Источник статьи: http://sgr-tradeinvest.ru/mql4/shablon-sovetnika.html

Как правильно написать советник (индикатор) на MQL4? А также как отладить и протестировать его своими руками?

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

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

РЕКОМЕНДУЕМ: ЛУЧШИЕ ФОРЕКС БРОКЕРЫ ПО МНЕНИЮ ВЕДУЩИХ РЕЙТИНГОВ

2007 год. Старт от 100$. | ТРОЙНОЙ ПОДАРОК НА 13-ЛЕТИЕ | обзор | отзывы 2017 год. VFSC, ЦРОФР. | ОТКРЫТЬ СЧЕТ В FINMAXFX | обзор | отзывы 1998 год. Старт от 0$. | CASHBACK х 2 + 20% К ДЕПОЗИТУ | обзор | отзывы 2007 год. Старт от 1$. МАКСИМАЛЬНЫЙ БОНУС $1500 | обзор / отзывы

ТОП ЛУЧШИХ БРОКЕРОВ БИНАРНЫХ ОПЦИОНОВ 2020 ГОДА

*БО. Не требуется верификация! | обзор | отзывы | НАЧАТЬ ТОРГОВЛЮ С 10$ *БО. Выгодные условия. | обзор | отзывы | ДО 218% ЗА СДЕЛКУ!

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

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

Новичкам проще всего будет выбрать один из двух путей:

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

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

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

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

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

Как отладить и протестировать советник на MQL4 созданный своими руками?

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

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

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

ЛУЧШИЕ ФОРЕКС БРОКЕРЫ, ПО ДАННЫМ РОССИЙСКОГО РЕЙТИНГА НА 2020 ГОД:

1998 год. FCA, НАУФОР. ВОЗВРАЩАЕМ 20% ОТ ТОРГОВЛИ | обзор / отзывы 2007 год. FinaCom. КЕШБЭК ДО 14$ С ЛОТА! | обзор / отзывы 2007 год. 260 представительств. STARTUP БОНУС $1500 | обзор / отзывы 1997 год. Нацбанк РБ. НЕ ДЛЯ РФ! ИЗ 50$ ДО 5.000$ | обзор / отзывы 2007 год. Financial Commission. ФОРЕКС / ОПЦИОНЫ ОТ 1$ | обзор / отзывы

А ТАКЖЕ ЛУЧШИЕ БРОКЕРЫ БИНАРНЫХ ОПЦИОНОВ НА СЕГОДНЯ:

Самые выгодные условия! ТОРГОВЛЯ БЕЗ ВЕРИФИКАЦИИ | обзор / отзывы Инновационные платформы 2020. 3000$ К ДЕПОЗИТУ | обзор / отзывы

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

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

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

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

Во-вторых, к созданию советников можно привлечь сторонние приложения, являющиеся аналогами “мастеров настройки” в операционных системах Windows и MacOS.

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

Как облегчить задачу начинающему трейдеру по написанию собственных индикаторов на MQL4?

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

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

Создание простого советника на MQL4

ТОП БРОКЕРОВ, ПРИЗНАННЫХ НЕЗАВИСИМЫМИ РЕЙТИНГАМИ

*БО. Не требуется верификация! | обзор/отзывы | НАЧАТЬ ТОРГОВЛЮ С 10$ *БО. Выплаты до 218% за сделку! | обзор/отзывы | НАЧАТЬ С 10 $

ЛУЧШИЕ ФОРЕКС БРОКЕРЫ ПО ДАННЫМ «ИНТЕРФАКС»

2007 год. FinaCom. КОПИРОВАТЬ СДЕЛКИ ТРЕЙДЕРОВ | обзор/отзывы 1998 год. FCA, НАУФОР. | +20% ПО КЕШБЭКУ | обзор/отзывы 2007 год. БОНУС $1500 НА СЧЕТ. | STARTUP BONUS $1500 | обзор/отзывы 2007 год. The FC. ФОРЕКС / ЦИФРОВЫЕ КОНТРАКТЫ ОТ 1$ | обзор / отзывы

Источник статьи: http://infofx.ru/trejding/kak-pravilno-napisat-sovetnik-indikator-na-mql4-a-takzhe-kak-otladit-i-protestirovat-ego-svoimi-rukami/


0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии