Пятница, 24.05.2019, 21:44Приветствую Вас Гость
Регистрация | Вход
RSS
Информация для заработка.
Меню сайта
Форма входа
Поиск
Календарь
«  Май 2019  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Наш опрос
Оцените мой сайт
Всего ответов: 16
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Яндекс.Метрика
    Автор: palt        

    Как не удивительно это будет звучать, но курс «MQL для тебя» предназначен, в основном, для трейдеров форекс, желающих научиться создавать всевозможные советники форекс, пользовательские индикаторы и скрипты для торгового терминала Metatrader 4 (и в дальнейшем Metatrader 5), хотя и программисты, не знакомые с языком программирования MQL, могут почерпнуть новые для себя знания.

    Давайте разберемся, почему же основная аудитория сайта  — это трейдеры форекс?

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

    Можно конечно сидеть перед графиком торгового терминала и  на листочке записывать все сигналы и их результаты, но на это уйдет слишком много времени и сил. А если учесть тот факт, что рынок постоянно меняется и, поэтому, те торговые стратегии или сигналы форекс, которые работали еще вчера или может пару месяцев назад и приносили прибыль, а 4−5 месяцев назад они, к сожалению приносили одни только убытки. К тому же, если вы, например, хотите проверить «с листочком» большой период на малых таймфреймах (например M5 или M15), то это отберет у вас очень много времени и сил. И даже, если вы проделали эту трудоемкую аналитическую работу, то как подобрать оптимальные параметры данной стратегии, например «Стоп-лосс» и «Тейкп-профит» или любой другой параметр торговой системы, которых иногда бывает до 10 и более? Ведь они при заключении каждой сделки, пусть немного, но могут отличаться.

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

    Вот поэтому я и предлагаю АВТОМАТИЗИРОВАТЬ торговлю трейдера !

    Можно конечно заказать написание советника у опытного программиста, но это будет стоить для вас приличных денег. А представьте ситуацию, что идея окажется не рабочей... платить то, все равно прийдется! И насколько я знаю, трейдеры неохотно хотят делиться с программистом своим «Граалем» и основная причина: «...программист получит мою идею, а я ему еще и платить должен?...».

    В то же время рядовому трейдеру форекс порой бывает очень сложно изучить и понять программирование на языке MQL без посторонней помощи. Да, конечно у многих брокеров форекс или ДЦ форекс существуют курсы по изучению языка программирования MQL, но опять же все это «удовольствие» стоит денег, и порой немалых. К тому же если после обучения на курсах MQL  у вас снова возникнуь дополнительные вопросы — что делать? Кто проконсультирует? Опять платить?...

    Именно поэтому я и создал данный Блог — «MQL для тебя»!

    Блог, который поможет ЛЮБОМУ трейдеру форекс постичь азы программирования на языке MetaQuotes Language (MQL) !

    MetaEditor 4

    Для решения этих и многих других задач мы будем использовать торговый терминал MetaTrader (по моему мнениию самый лучший клиентский терминал для работы на рынке Forex), а именно редактор MetaEditor, который является составной частью клиентского терминала Metatrader 4 и встроеный в него язык программирования MQL (MetaQuotes Language).

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

    Язык MQL — Урок 1 «Редактор MetaEditor»


    Редактор MetaEditor является составной частью клиентского терминала Metatrader 4, он предназначен для создания, редактирования и компиляции исходного текста программ, написанных на языке MQL. С его помощью можно разрабатывать советники, индикаторы, скрипты и библиотеки функций. В редактор MetaEditor встроен мастер создания советников, который помогает быстро создавать новые MQL-программы. Кроме того в терминал встроен тестер стратегий, который позволяет проверить поведение на исторических данных.

    Программы, написанные на MQL, имеют различные свойства и предназначение:

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

    Пользовательский индикатор — самостоятельно написанный технический индикатор. Пользовательские индикаторы используются только для анализа динамики цен.

    Скрипт — программа, предназначенная для одноразового выполнения каких-либо действий. В отличие от экспертов, скрипты запускаются не потиково, а один раз при вызове.

    И так приступим:

    Для вызова редактора MetaEditor необходимо в окне терминала нажать клавишу image001.

    Перед нами откроется окно, вызываемого нами, редактора — MetaEditor:

    image003

    Теперь мы можем создать новую программу: Советник, Скрипт, Пользовательский индикатор, нажатием клавиши image005

    Теперь запускаем мастер создания советника, скрипта и т.п.:

    image007

    В предложенном списке выбираем «какую программу мы хотим создать».

    Для начала, предлагаю начать изучение языка MQL со скриптов (как наиболее простых программ, написанных на языке MQL4).

    Выбираем пункт меню «Пользовательский скрипт» и нажимаем кнопочку «Далее >».

    image009

    Мастер «создания Скрипта»  предлагает задать Имя нашему новому скрипту, для дальнейшего его сохранения и работы с ним. Для примера, введем в поле «Имя:» test и нажмем кнопочку «Готово».

    После этого у вас должен появиться экран, который вы можете увидеть на рисунке 1 данного урока.

    Вот и все — первый шаг мы с вами сделали — научились вызывать редактор MetaEditor для создания программ на языке MQL, определились с видом программы для работы в Metatrader 4 и теперь с сохраненным скриптом, под именем test.mq4 мы будем работать в следующем уроке по изучению языка MQL !


    Язык MQL — Урок 2 «Первые шаги»


    На первом уроке по изучению языка MQL мы научились запускать редактор MetaEditor и создавать новый скрипт MQL4. Но как мы можем увидеть, созданный нами скрипт MT4 пока не выполняет никаких функций в торговом терминале Metatrader 4.

    В данном уроке мы научимся его выполнять какую — нибудь полезную функцию. Для примера, рассмотрим одну из полезных функций, которую мы реализуем на языке MQL4 — «расчет лота в зависимости от имеющихся у нас свободных средств».

    Для этого мы должны определится с допустимым риском для нашего депозита на форекс (т.е. какое кол-во средств мы будем задействовать в торговле при использования советника форекс или в нашем случаи — скрипта для Metatrader 4).

    Все учебники по форекс и опытные трейдеры рекомендуют:  "никогда не рискуйте при заключении сделок на форекс более чем 2−5% от своего депозита". Ну что ж, давайте прислушаемся к их советам. Но т.к. четкой цифры нет, то нам нужно чтобы созданный нами скрипт запрашивал эту цифру.

    Теперь давайте реализуем эту функцию на языке MQL4:

    Введем в начале скрипта команду: #property show_inputs
    У нас получилось:
    //±-----------------------------------------------------------------+
    //| test.mq4 |
    //| Copyright © 2009, MetaQuotes Software Corp. |
    //| http://www.metaquotes.net |
    //±-----------------------------------------------------------------+

    #property copyright "Copyright © 2009, MetaQuotes Software Corp."
    #property link "http://www.metaquotes.net"
    #property show_inputs
    //±-----------------------------------------------------------------+
    //| script program start function                                                   |
    //±-----------------------------------------------------------------+

    int start()
    {
    //----

    //----
    return(0);
    }
    //±-----------------------------------------------------------------+
    команда #property show_inputs означает выводить окно со свойствами перед запуском нашего скрипта MQL.

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

    Компиляция — это преобразование нашей получившийся программы из языка понятного нам (в данном случаи MQL) в язык понятный компьютеру. Для компиляции скрипта MQL нажмем клавишу «компилировать» —  Компиляция
    При этом в нижней части экрана высветится:

    Компиляция в MetaEditor

    Это сообщение означает, что наш скрипт на языке MQL проверен на отсутствие ошибок и преобразован в код, понятный компьютеру.
    Затем переходим в терминал Metatrader 4 из редактора MetaEditor, нажав клавишу "Терминал" -  переход в Metatrader 4

    Теперь, когда мы уже находимся в торговом терминале Metatrader 4 - в окне «Навигатор» выбираем пунк «Скрипты»:

    Навигатор Metatrader 4

    Ищем в данном списке наш созданный скрипт для MT4 — «test»

    скрипт в навигаторе MT4

    И дважды щелкнув мышкой по скрипту «test»- запускаем его !

    Настройки скрипта в MT4

    Но теперь возникает вопрос: «куда же вводить наш процент от депозита для расчета лота на форекс?»

    Для этого мы должны задать его предварительно в нашем скрипте. Идем снова в редактор MetaEditor и добавляем в начале скрипта команду: extern int MaxRisk=2;

    В итоге наш код должен выглядеть так:
    //±-----------------------------------------------------------------+
    //| test.mq4 |
    //| Copyright © 2009, MetaQuotes Software Corp. |
    //| http://www.metaquotes.net |
    //±-----------------------------------------------------------------+

    #property copyright "Copyright © 2009, MetaQuotes Software Corp."
    #property link "http://www.metaquotes.net"
    #property show_inputs
    extern int MaxRisk=2;
    //±-----------------------------------------------------------------+
    //| script program start function |
    //±-----------------------------------------------------------------+
    int start()
    {
    //----

    //----
    return(0);
    }
    //±-----------------------------------------------------------------+

    Давайте разберемся что мы написали, используя команду - extern int MaxRisk=2;

    Или другими словами, рассмотрим формат написания команд в редакторе MetaEditor:

    extern — означает что данный параметр внешний (т.е. его можно изменить при запуске скрипта или советника MT4)

    int  - тип переменной (компьютеру же надо знать что мы ему передаем: число, текст и т.д.)

    MaxRisk  — название нашей переменной, которое может быть абсолютно любым — на ваше усмотрение !

    =2 — присвоили данной переменной (в данном случаи MaxRisk) значение, которое будет высвечиваться по умолчанию в окне выставления настроек скрипта в терминале Metatrader 4.
    ; — знак, означающий окончание нашей команды.

    Теперь снова компилируем и запускаем наш скрипт «test» (как было описано выше). Если компилятор «ругается» (сообщает) об ошибках — это означает что то мы сделали что-то не правильно и следует проверить правильность кода на языке MQL4 !

    Ели ошибок нет, то при запуске скрипта (или советника) в терминале Metatrader 4, появляется следующее окошко:

    правильно созданный скрипт в Metatrader 4

    Как мы теперь можем видеть, при запуске скрипта «test», у нас появилась новая вкладка «Входные параметры».
    Переходим на нее:

    Входные параметры скрипта Metatrader 4

    Вот в данной вкладке мы и видем наш параметр MaxRisk, который служит для расчета лота в MT4 и который мы будем в дальнейшем использовать при создании скриптов и советников на языке MQL !