Цель заброшена
Автор не отписывался в цели 10 лет 4 месяца 25 дней
Изучить язык программирования MQL5 для Forex терминалов
В свое время был выучен MQL4 на уровне написания програмок для себя, выучен не важно, решение многих проблем приходилось делать "как умею", а не как нужно. Поэтому к изучению хочется подойти отвественно и научиться качественно программировать. В процессе обучения реализовывать свои идеи, помогать реализовывать их другим. Этапы разобью по главам документации.
Критерий завершения
Возможность качественно реализовать любую поставленную задачу.
Личные ресурсы
Основной ресурс - время, которого, судя по документации в 4.5 тыс страниц понадобится много.
Экологичность цели
Много времени за компьютером не очень хорошо сказывается на здоровье, буду компенсировать вечерними прогулками на велосипеде.
-
Подготовка
Установка необходимых программ, скачивание документации, настройка.
-
Основы языка
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для работы в режиме реального времени, но и создавать собственные графические инструменты, помогающие принимать торговые решения.
-
Стандартные константы, перечисления и структуры
Для облегчения написания программ, а также для удобства восприятия исходных текстов программ, в языке MQL5 предусмотрены предопределенные стандартные константы и перечисления. Кроме того, для хранения информации используются служебные структуры.
-
Программы MQL5
Для того чтобы mql5-программа могла работать, она должна быть скомпилирована (кнопка "Компилировать" или клавиша F7). Компиляция должна пройти без ошибок (допускаются предупреждения, которые необходимо проанализировать). При этом в соответствующей директории terminal_dir\MQL5\Experts, terminal_dir\MQL5\indicators или terminal_dir\MQL5\scripts должен быть создан выполняемый файл с тем же именем и расширением EX5. Именно этот файл может быть запущен на выполнение.
-
Предопределенные переменные
Для каждой выполняющейся mql5-программы поддерживается ряд предопределенных переменных, которые отражают состояние текущего ценового графика на момент запуска программы - эксперта, скрипта или пользовательского индикатора.
-
Общие функции
Функции общего назначения, которые не вошли ни в одну из специализированных групп.
-
Группа функций для работы с массивами
Допускаются не более чем четырехмерные массивы. Индексация каждого измерения производится от 0 до размер_измерения-1. В частном случае одномерного массива из 50 элементов обращение к первому элементу будет выглядеть как array[0], к последнему элементу - array[49].
-
Преобразование данных
Группа функций, обеспечивающих преобразование данных из одного формата в данные другого формата.
-
Математические функции
Набор математических и тригонометрических функций.
-
Строковые функции
Группа функций, предназначенных для работы с данными типа string.
-
Дата и время
Группа функций, обеспечивающих работу с данными типа datetime (целое число, представляющее собой количество секунд, прошедших с 0 часов 1 января 1970 года).
-
Информация о счете
Функции, возвращающие параметры текущего счета.
-
Проверка состояния
Функции, возвращающие параметры текущего состояния клиентского терминала
-
Получение рыночной информации
Функции для получения информации о состоянии рынка.
-
Доступ к таймсериям и данным индикаторов
Функции для работы с таймсериями и индикаторами. Таймсерия отличается от обычного массива тем, что индексация элементов таймсерии производится от конца массива к началу (от самых свежих данных к самым старым). Для копирования значений таймсерий и индикаторов рекомендуется использовать только динамические массивы, так как функции копирования самостоятельно распределяют необходимый размер массивов-приемников значений.
-
Операции с графиками
Функции, устанавливающие свойства графика, фактически служат для отправки ему команд на изменение. При успешном выполнении этих функций команда попадает в общую очередь событий графика. Изменение графика производится в процессе обработки очереди событий данного графика.
-
Торговые функции
Группа функций, предназначенных для управления торговой деятельностью.
-
Управление сигналами
Группа функций, предназначенных для управления торговыми сигналами.
-
Глобальные переменные клиентского терминала
Группа функций, предназначенных для работы с глобальными переменными.
-
Файловые операции
Группа функций для работы с файлами.
-
Пользовательские индикаторы
Группа функций, используемых при оформлении пользовательских индикаторов. Данные функции нельзя использовать при написании советников и скриптов.
-
Графические объекты
Группа функций, предназначенных для работы с графическими объектами, относящимися к любому указанному графику.
-
Функции для работы с техническими индикаторами
Все функции типа iMA, iAC, iMACD, iIchimoku и т.п., создают в глобальном кеше клиентского терминала копию соответствующего технического индикатора. Если копия индикатора с этими параметрами уже существует, то новая копия не создается, а увеличивается счетчик ссылок на данную копию.
-
Работа с результатами оптимизации
Функции для организации собственной обработки результатов оптимизации в тестере стратегий. Могут вызываться при оптимизации в агентах тестирования, а также локально в экспертах и скриптах.
-
Работа с событиями
Функции для работы с пользовательскими событиями и событиями таймера. Кроме этих функций существуют также специальные функции, для обработки предопределенных событий.
-
Работа с OpenCL
Программы на OpenCL предназначены для выполнения вычислений на видеокартах с поддержкой стандарта OpenCL 1.1 или выше. Современные видеокарты содержат сотни небольших специализированных процессоров, которые могут одновременно выполнять простые математические операции над входящими потоками данных. Язык OpenCL берёт на себя организацию таких параллельных вычислений и позволяет добиться огромного ускорения для некоторого класса задач.
-
Стандартная библиотека
Эта группа разделов содержит технические детали работы со стандартной библиотекой MQL5 и описания всех ее ключевых компонентов.
-
Практика
Поиск заданий (хотя они уже есть и сейчас от знакомых), их успешная реализация, получение дохода от полученных знаний, применение их в торговле.
- 3153
- 27 июня 2014, 10:56
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением