MQL Первые шаги

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

 


Не вижу смысла дублировать одно и то же, но идя навстречу пожеланиям трудящихся попробую изобразить процесс более понятно))))))))))

 


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

 

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

 

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

 

Начнём с программ:

 

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

 

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

 

Отсюда 2 вида программ- исходный текст, понятный человеку (в нашем случае на языке MQL) и исполняемый файл, понятный терминалу и соответственно операционке компьютера.


Файл исходника имеет расширение MQ4 то есть выглядит так: имя_файла.mq4 (небольшой секрет, такие файлы можно открывать и редактировать обычным блокнотом но metaeditor конечно удобнее)))))))))


Исполняемый файл имеет расширение EX4 и выглядит соответственно: имя_файла.ex4.
Ну для начала о программах достаточно. Существуют и другие виды программ и расширения но об этом пока рановато)))))))))

 

Теперь о терминале.

 

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

 

Данные в терминал поступают из интернета в виде ТИКА то есть минимального изменения цены. какой то определённой периодичности при этом нет...если цена не меняется, нет и тиков. Советник так же не работает постоянно, какой смысл делать какие то вычисления, если ничего не изменилось???

 

Отсюда понятие УПРАВЛЕНИЯ. С приходом нового тика терминал передаёт управление нашему советнику. Внутри советника управление тоже может передаваться различным функциям. Отработав (то есть проделав все вычисления и операции) советник возвращает управление терминалу. Это пока основное что нужно запомнить.

 

Вот теперь наконец то можно приступить непосредственно к изучению языка MQL.


Для начала проделаем небольшую подготовку, создадим советник для работы (можно его так и назвать "УЧЕБНЫЙ", кстати можно писать русским шрифтом...в терминале МТ4 это допускается)


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


Теперь пишем следующие строчки


int start()
{
return(0);
}


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


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


Теперь можно компилировать советник. Если компиляция прошла без ошибок советник готов к работе.

см. рис.

 

Компиляция

 

 Назад

 

TEXT.RU - 100.00%

 

Комментарии (0)

Нет комментариев. Ваш будет первым!

Яндекс.Метрика