1

Step 1

Подготовка

2

Step 2

Основы языка

3

Step 3

Стандартные константы, перечисления и структуры

4

Step 4

Программы MQL5

5

Step 5

Предопределенные переменные

6

Step 6

Общие функции

7

Step 7

Группа функций для работы с массивами

8

Step 8

Преобразование данных

9

Step 9

Математические функции

10

Step 10

Строковые функции

11

Step 11

Дата и время

12

Step 12

Информация о счете

13

Step 13

Проверка состояния

14

Step 14

Получение рыночной информации

15

Step 15

Доступ к таймсериям и данным индикаторов

16

Step 16

Операции с графиками

17

Step 17

Торговые функции

18

Step 18

Управление сигналами

19

Step 19

Глобальные переменные клиентского терминала

20

Step 20

Файловые операции

21

Step 21

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

22

Step 22

Графические объекты

23

Step 23

Функции для работы с техническими индикаторами

24

Step 24

Работа с результатами оптимизации

25

Step 25

Работа с событиями

26

Step 26

Работа с OpenCL

27

Step 27

Стандартная библиотека

28

Step 28

Практика

1

Step 1

Подготовка

2

Step 2

Основы языка

3

Step 3

Стандартные константы, перечисления и структуры

4

Step 4

Программы MQL5

5

Step 5

Предопределенные переменные

6

Step 6

Общие функции

7

Step 7

Группа функций для работы с массивами

8

Step 8

Преобразование данных

9

Step 9

Математические функции

10

Step 10

Строковые функции

11

Step 11

Дата и время

12

Step 12

Информация о счете

13

Step 13

Проверка состояния

14

Step 14

Получение рыночной информации

15

Step 15

Доступ к таймсериям и данным индикаторов

16

Step 16

Операции с графиками

17

Step 17

Торговые функции

18

Step 18

Управление сигналами

19

Step 19

Глобальные переменные клиентского терминала

20

Step 20

Файловые операции

21

Step 21

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

22

Step 22

Графические объекты

23

Step 23

Функции для работы с техническими индикаторами

24

Step 24

Работа с результатами оптимизации

25

Step 25

Работа с событиями

26

Step 26

Работа с OpenCL

27

Step 27

Стандартная библиотека

28

Step 28

Практика

27 June 2014 31 December 2014
The goal is overdue by 3618 days

Goal abandoned

The author does not write in the goal 10 years 4 months 29 days

Goal author

Павел

Russia, Москва

36 years old

General

Изучить язык программирования MQL5 для Forex терминалов

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

 Goal Accomplishment Criteria

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

 Personal resources

Основной ресурс - время, которого, судя по документации в 4.5 тыс страниц понадобится много.

 Goal ecological compatibility

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

  1. Подготовка

    Установка необходимых программ, скачивание документации, настройка.

  2. Основы языка

    Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для работы в режиме реального времени, но и создавать собственные графические инструменты, помогающие принимать торговые решения.

  3. Стандартные константы, перечисления и структуры

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

  4. Программы MQL5

    Для того чтобы mql5-программа могла работать, она должна быть скомпилирована (кнопка "Компилировать" или клавиша F7). Компиляция должна пройти без ошибок (допускаются предупреждения, которые необходимо проанализировать). При этом в соответствующей директории terminal_dir\MQL5\Experts, terminal_dir\MQL5\indicators или terminal_dir\MQL5\scripts должен быть создан выполняемый файл с тем же именем и расширением EX5. Именно этот файл может быть запущен на выполнение.

  5. Предопределенные переменные

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

  6. Общие функции

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

  7. Группа функций для работы с массивами

    Допускаются не более чем четырехмерные массивы. Индексация каждого измерения производится от 0 до размер_измерения-1. В частном случае одномерного массива из 50 элементов обращение к первому элементу будет выглядеть как array[0], к последнему элементу - array[49].

  8. Преобразование данных

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

  9. Математические функции

    Набор математических и тригонометрических функций.

  10. Строковые функции

    Группа функций, предназначенных для работы с данными типа string.

  11. Дата и время

    Группа функций, обеспечивающих работу с данными типа datetime (целое число, представляющее собой количество секунд, прошедших с 0 часов 1 января 1970 года).

  12. Информация о счете

    Функции, возвращающие параметры текущего счета.

  13. Проверка состояния

    Функции, возвращающие параметры текущего состояния клиентского терминала

  14. Получение рыночной информации

    Функции для получения информации о состоянии рынка.

  15. Доступ к таймсериям и данным индикаторов

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

  16. Операции с графиками

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

  17. Торговые функции

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

  18. Управление сигналами

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

  19. Глобальные переменные клиентского терминала

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

  20. Файловые операции

    Группа функций для работы с файлами.

  21. Пользовательские индикаторы

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

  22. Графические объекты

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

  23. Функции для работы с техническими индикаторами

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

  24. Работа с результатами оптимизации

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

  25. Работа с событиями

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

  26. Работа с OpenCL

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

  27. Стандартная библиотека

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

  28. Практика

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

  • 3157
  • 27 June 2014, 10:56
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?