Самообучение языку MQL5 с полного нуля

 

Всем доброго дня!

Создаю новую тему «Самообучение языку MQL5 с полного нуля» для того, чтобы:

  1. Самому досконально разобраться в азах (основах, принципах) написания программного кода на языке MQL5.
  2. По итогам самообучения попытаться написать статью для всех начинающих изучать язык программирования MQL5, понятную не только «чайнику», «нубу» и т.д., а даже ребенку.

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

Из всего изобилия информации на сайте MQL5 для самообучения с полного нуля могу выделить всего лишь две статьи:

«Торговые операции на MQL5 - это просто» по ссылке https://www.mql5.com/ru/articles/481

«Быстрый старт или краткий курс для начинающих» по ссылке https://www.mql5.com/ru/articles/496

Обе статьи великолепны и написаны в таком изложении, которое абсолютно понятно для восприятия человека далёкого от программирования, однако в них не до конца раскрыты все азы программирования. Данную тему, хочу построить по принципу «от простого к сложному», но при этом ОБРАЩАЮ ОСОБОЕ ВНИМАНИЕ любителей хамить, флудить или ёрничать над новичками! По всем подобным выходкам буду обращаться к модераторам и администраторам сайта, чтобы они помогали удалять весь мусор из данной темы.

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

Ещё одна просьба. Не нужно постоянно отсылать меня к Справочнику MetaQuotes Language 5 (MQL5), потому, что именно его и изучаю, причём как раз при изучении Справочника MQL5 и возникают эти нудные вопросы, к которым прошу относится сдержанно и терпеливо. А мне все-таки придётся задавать такие вопросы, но то только потому, что не смог найти понятные для себя ответы.

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

Введение

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

Начнём по порядку. С учебником и ручкой всё понятно, так как компьютер с интернетом есть практически в каждом доме, а где же взять тетрадь? Сначала на сайте MQL5 необходимо скачать программу терминала MetaTrader 5 (далее по тексту МТ5). Для этого прокручиваем страницу сайта MQL5 до конца в низ и там находим заголовок Присоединяйся - скачай MetaTrader 5! Под этим заголовком нужно выбрать ту операционную систему, которая установлена на компьютере ученика (в моем случае Windows) и кликнуть по ней мышкой. После установки и открытия терминала МТ5 появится возможность открыть редактор MetaEditor. Чтобы открыть редактор, либо открываем вкладка Сервис и нажимаем на Редактор MetaQuotes Language, либо на панели терминала находим значок со всплывающей подсказкой MetaEditor и также жмём на него.

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

Сначала под сообщением «Выберите, что вы хотите создать:» выбираем кружок с названием Скрипт и жмём кнопку Далее. Откроется другая вкладка, где в верхней строке Имя: после слова Scripts\ нужно придумать название советника и вписать, например, New. Жмём на кнопку Готово.

Вот теперь всё! Перед учеником наконец-то открылась тетрадь для учёбы, а точнее шаблон скрипта с названием New.mq5.

Часть 1........


Здесь уже обращаюсь к специалистам по программированию на языке MQL5– с чего бы Вы порекомендовали начать изучение? Представьте себе с высоты прожитых лет, с чего бы Вы начали? Может быть сначала нужно составить план обучения по пунктам? Что в него обязательно должно войти, в какой последовательности? Возможно ли вообще научиться программированию на языке MQL5 без знания С++?  Прошу всех поделиться конструктивными предложениями!

С уважением, Владимир.
Торговые операции на MQL5 - это просто
Торговые операции на MQL5 - это просто
  • www.mql5.com
Почти все трейдеры приходят на рынок для того, чтобы заработать денег, хотя есть и доля тех, кому важен не сам торговый результат, а участие в процессе, драйв. Впрочем, получить удовольствие от процесса можно не только торгуя вручную, но и занимаясь разработкой автоматических торговых систем. Ведь создание торгового робота может быть таким же...
 

1: прочитать статьи Дмитрия Федосеева/

2: больше никого не читать месяца - три, пробовать все это время самому, любая новая статья помешает обучению.

3: смотреть нужные публикации участника ~ MetaQuotes, там выбирать что интересует в данный момент,

остальное устарело и во многом ошибочно.

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

 
MrBrooklin:

Всем доброго дня!

Создаю новую тему «Самообучение языку MQL5 с полного нуля» для того, чтобы:

  1. Самому досконально разобраться в азах (основах, принципах) написания программного кода на языке MQL5.
  2. По итогам самообучения попытаться написать статью для всех начинающих изучать язык программирования MQL5, понятную не только «чайнику», «нубу» и т.д., а даже ребенку.

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

Из всего изобилия информации на сайте MQL5 для самообучения с полного нуля могу выделить всего лишь две статьи:

«Торговые операции на MQL5 - это просто» по ссылке https://www.mql5.com/ru/articles/481

«Быстрый старт или краткий курс для начинающих» по ссылке https://www.mql5.com/ru/articles/496

Обе статьи великолепны и написаны в таком изложении, которое абсолютно понятно для восприятия человека далёкого от программирования, однако в них не до конца раскрыты все азы программирования. Данную тему, хочу построить по принципу «от простого к сложному», но при этом ОБРАЩАЮ ОСОБОЕ ВНИМАНИЕ любителей хамить, флудить или ёрничать над новичками! По всем подобным выходкам буду обращаться к модераторам и администраторам сайта, чтобы они помогали удалять весь мусор из данной темы.

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

Ещё одна просьба. Не нужно постоянно отсылать меня к Справочнику MetaQuotes Language 5 (MQL5), потому, что именно его и изучаю, причём как раз при изучении Справочника MQL5 и возникают эти нудные вопросы, к которым прошу относится сдержанно и терпеливо. А мне все-таки придётся задавать такие вопросы, но то только потому, что не смог найти понятные для себя ответы.

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

Введение

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

Начнём по порядку. С учебником и ручкой всё понятно, так как компьютер с интернетом есть практически в каждом доме, а где же взять тетрадь? Сначала на сайте MQL5 необходимо скачать программу терминала MetaTrader 5 (далее по тексту МТ5). Для этого прокручиваем страницу сайта MQL5 до конца в низ и там находим заголовок Присоединяйся - скачай MetaTrader 5! Под этим заголовком нужно выбрать ту операционную систему, которая установлена на компьютере ученика (в моем случае Windows) и кликнуть по ней мышкой. После установки и открытия терминала МТ5 появится возможность открыть редактор MetaEditor. Чтобы открыть редактор, либо открываем вкладка Сервис и нажимаем на Редактор MetaQuotes Language, либо на панели терминала находим значок со всплывающей подсказкой MetaEditor и также жмём на него.

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

Сначала под сообщением «Выберите, что вы хотите создать:» выбираем самый верхний синий кружок Советник (шаблон) и жмём кнопку Далее. Откроется другая вкладка, где в верхней строке Имя: после слова Experts\ нужно придумать название советника и вписать, например, New. Жмём два раза подряд на кнопку Далее и кнопку Готово.

Вот теперь всё! Перед учеником наконец-то открылась тетрадь для учёбы, а точнее шаблон советника с названием New.mq5.

Часть 1......


Здесь уже обращаюсь к специалистам по программированию на языке MQL5– с чего бы Вы порекомендовали начать изучение? Представьте себе с высоты прожитых лет, с чего бы Вы начали? Может быть сначала нужно составить план обучения по пунктам? Что в него обязательно должно войти, в какой последовательности? Возможно ли вообще научиться программированию на языке MQL5 без знания С++?  Прошу всех поделиться конструктивными предложениями!

С уважением, Владимир.

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

По ООП и разное кстати подборка

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам

Valeriy Yastremskiy, 2020.04.01 15:57

Спасибо. Полезно. Может кому понадобится.

ООП

https://www.mql5.com/ru/articles/357

https://www.mql5.com/ru/articles/703

https://www.mql5.com/ru/articles/116

https://www.mql5.com/ru/articles/70

https://www.mql5.com/ru/articles/351

ГА

https://www.mql5.com/ru/articles/55

MQL4

https://www.mql5.com/ru/articles/1483

И мне понравилось)))

https://www.mql5.com/ru/articles/1499


А так же вопрос, при нажатии на статьи появляются 18 страниц статей и заголовок: 

Статьи по программированию на языках MQL4 и MQL5

при нажатии на вторую страницу MQL4 пропадает. При нажатии на MT4 появляются 6 страниц. И в начальной выборке их нет.



 
Valeriy Yastremskiy:

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

По ООП и разное кстати подборка


Спасибо, Валерий! Сразу к Вам вопрос. Прочитал всё про операторы, функции, синтаксис и т.п. А что дальше? Как применить это всё на деле? Нужно понимание того, как всем этим пользоваться. Вот тут как раз и кроется главная проблема. Может есть какой-то основной принцип написания всех советников? Имеется ввиду не торговая стратегия, а именно сам код.

С уважением, Владимир.

 

Приведу конкретный пример.

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

Может быть при разработке программного кода примерно такая же последовательность? Подскажите!

С уважением, Владимир.

Как заказать торгового робота на MQL5 и MQL4
Как заказать торгового робота на MQL5 и MQL4
  • www.mql5.com
Главным преимуществом торговых терминалов MetaTrader является возможность создания автоматических торговых систем, способных совершать торговые операции без вмешательства трейдера, что позволяет исключить влияние психологии на результаты торговли. Для этого нужно сформулировать торговую стратегию и реализовать ее в виде программы на языке MQL...
 
MrBrooklin:

Может быть в разработке программного кода примерно такая же последовательность? Подскажите!


пост - https://www.mql5.com/ru/forum/352460#comment_18544249 мало?

надо что-бы зашли нубы и перечислили таких же нубов?)

 
MrBrooklin:

Приведу конкретный пример.

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

Может быть при разработке программного кода примерно такая же последовательность? Подскажите!

С уважением, Владимир.

Как электронщик, вы должны хорошо понимать что такое схема.
Тут тоже самое. Чтобы писать качественную логику, нужно сперва составить блок-схему алгоритма, как всё будет работать.
На плате же всё по схеме работает ))
По этому да, при разработке кода, необходима последовательность.

 
Roman:

Как электронщик, вы должны хорошо понимать что такое схема.
Тут тоже самое. Чтобы писать качественную логику, нужно сперва составить блок-схему алгоритма, как всё будет работать.
На плате же всё по схеме работает ))
По этому да, при разработке кода, необходима последовательность.

Спасибо, Роман!

С уважением, Владимир.

 
MrBrooklin:

Спасибо, Роман!

С уважением, Владимир.

-1 шаг.

сравнение и поиски схожеств со своими мастерделруками, -1 шаг.

 
Fast235:

пост - https://www.mql5.com/ru/forum/352460#comment_18544249 мало?

надо что-бы зашли нубы и перечислили таких же нубов?)

Статью Дмитрия Федосеева "Основы программирования на MQL5: Глобальные переменные терминала MetaTrader 5" начал изучать по Вашему совету. Параллельно с изучением статьи возникают вопросы, которые озвучиваю в созданной мной теме. Есть люди, которые сразу понимают всю полученную информацию и у них выстраивается чёткая картина, а есть другие люди, у которых нет такой способности. Будьте терпимее.

С уважением, Владимир.

 
MrBrooklin:

Статью Дмитрия Федосеева "Основы программирования на MQL5: Глобальные переменные терминала MetaTrader 5" начал изучать по Вашему совету. Параллельно с изучением статьи возникают вопросы, которые озвучиваю в созданной мной теме. Есть люди, которые сразу понимают всю полученную информацию и у них выстраивается чёткая картина, а есть другие люди, у которых нет такой способности. Будьте терпимее.

С уважением, Владимир.

уверяю, вы вернетесь к его, ко всем темам, особенно к string, она самая сложная)

Причина обращения: