Пятница, 07.02.2025, 10:45
Forex4you - все о форекс
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Категории раздела
Введение в форекс [12]
Основные понятия [10]
Ценовая информация [3]
Графический анализ [4]
Фундаментальный анализ [8]
Технический анализ [2]
Индикаторы [5]
Осцилляторы [3]
Торговая система [17]
Стратегии форекс [120]
Видео уроки Forex [34]
Курс программирования MQL4 [14]
В помощь Трейдеру [6]
Рекомендуем
Бесплатная стратегия - основы графических построений
Система Станислава Чувашова "Личный Банк"
"Мастерская Forex Роботов" Полный ПАКЕТ
Как научиться прогнозировать 99% всех колебаний цены на форекс за 1-2 месяца и постоянно наращивать депозит?
Бесплатный видеокурс по числам ФИБОНАЧЧИ
"Волны Вульфа" - популярная стратегия профи-трейдеров
"Бесплатный видеокурс "Профессиональный Forex Старт"
Как заработать ДЕНЬГИ на Финансовом Беттинге БЕЗ Анализа, Прогнозов и Прочих сложных стратегий!
Лучшие советники, индикаторы и стратегии для торговли
Друзья сайта
  • Видео очевидного и невероятного

  • Математическая смекалка

  • The Delphi - сайт о программировании

  • Юмор на телевидении

  • Женские штучки

  • Почемучка

  • Телевидение онлайн

  • Красота
  • Наш опрос
    Как Вы торгуете на форекс?
    Всего ответов: 10
    Статистика

    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
     Все о Forex
    Главная » Статьи » Форекс » Курс программирования MQL4

    Программирование MQL4: Урок 9 – Препроцессор

    Зачем нужны переменные?
    Что такое препроцессор?

    Препроцессор – это программа, обеспечивающая предварительную обработку кода для его подготовки к компиляции.
    Например, если Вы используете директиву #include <win32.h>, это означает, что Вы говорите препроцессору включить содержимое файла “win32.h” в том месте, где Вы написали ключевое слово include.

    В MQL4 существуют 4 препроцессорные директивы:

    1 – директива define

    Директива define используется для задания значения константы. Константа очень похожа на переменную за тем исключением, что константе Вы придаёте значение только один раз и потом поменять его не можете.
    Например:

    #define my_constant 100

    Как Вы можете заметить в приведённом примере нет символа присваивания “=”, а есть только пробел между именем константы (my_constant) и её значением (100).
    И также Вы должны были заметить, что строчка не закончилась точкой с звпятой – она закончилась символом перехода на новую строку.

    Имена констант подчиняются тем же правилам, что и имена переменных (урок 2 – Синтаксис), например нельзя начинать имя константы с цифры, и его длина не должна превышать 31 символ.

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

    um = constant1 * 10;

    2 – директива property

    В MQL4 существуют заранее подготовленные переменные, называемые “Управляющие Компляцией”, значения которых можно изменять для своей программы.
    Для этого используется директива property - она говорит препроцессору, как настроить Ваш исполняемый файл *.ex4 .
    Пример:

    #property link "http://www.MYSITE.com"
    #property copyright "FreeWare"

    Список предопределённых переменных MQL4:

    L9-1.gif

    3 – директива include

    Использование директивы include равносильно копированию всего содержимого подключаемого файла к себе в программу, в то место, где стоит эта директива. Ctrl+C -> Ctrl+V – только за Вас это делает препроцессор.
    Пример:

    #include <win32.h>

    В этом примере Вы говорите препроцессору, открыть файл “win32.h“, прочитать всё его содержимое и скопировать в то место, где стоит директива include.

    Внимание: Есть два различных способа указания пути к файлу.
    - Можно указать имя файла в угольных скобках <win32.h> - тогда препроцессор будет искать его в директории по умолчанию (он знает, где она находится).
    - Можно указать имя файла в кавычках “win32.h” - тогда препроцессор будет искать этот файл в текущей директории – в той, где будет лежать Ваш код. Если Ваш код и искомый файл лежат в разных местах, то можно указать полный путь к файлу – это тоже делается с помощью кавычек: “F:\My_folder\My_include_files\Hello.h” .

    Директиву include можно вставить в любую часть кода, но обычно это делается в самом начале.

    Подсказка: Хорошей практикой является размещение часто употребляемого Вами кода в отдельном файле, для его дальнейшего подключения в свои программы.
    (просто совет).

    4 – директива import

    Это как директива include, но есть различия.
    Директива import используется только для подключения исполняемых файлов MQL4 (*.ex4) и динамических библиотек (*.dll), чтобы импортировать их функции в Вашу программу.
    Например:

    #import "user32.dll"
     int MessageBoxA(int hWnd,string lpText,string lpCaption,
     int uType);
     int MessageBoxExA(int hWnd,string lpText,string lpCaption,
     int uType,int wLanguageId);
    #import "melib.ex4"
    #import "gdi32.dll"
     int GetDC(int hWnd);
     int ReleaseDC(int hWnd,int hDC);
    #import

    Когда Вы импортируете функции из файла *.ex4 нет необходимости их объявлять.
    Когда Вы импортируете функции из файла *.dll необходимо объявлять функции, чтобы они были готовы к использованию.
    Пример объявления функции:

    int MessageBoxA(int hWnd,string lpText,string lpCaption, int uType);

    Импорт функций начинается со строчки #include “имя файла” (или в угольных скобках).
    Импорт йункций заканчивается строчкой #include .

    Как говорит один знакомый информатик: “препроцессор помогает избежать работы обезьянкой”. Этим всё сказано ;)

    Категория: Курс программирования MQL4
    Просмотров: 1189 | Теги: атс, советник, робот, MetaTrader, программирование, MQL | Рейтинг: 1.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Copyright Forex4you © 2010-2025
    Форма входа
    Поиск

    Как стабильно зарабатывать от 5% процентов прибыли ежедневно на автопилоте


    Спонсоры
    Лучшие брокеры
    ДЦ Forex4you
    ДЦ Instaforex
    ДЦ Alpari
    Для партнеров
    Партнерская программа "БЕЗОПАСНЫЙ ФОРЕКС"
    Партнерская программа от Trading-SYS
    Партнерская программа "Основы торговли Волн Вульфа"
    Статьи и новости
    Котировки валют
    Котировки от Forex4You

    Хостинг от uCoz