Пятница, 01.11.2024, 05: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
    Статистика

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

    Программирование MQL4: Урок 8 – Переменные в MQL4

    Зачем нужны переменные?

    Как я уже говорил ранее, переменные – это всего лишь имена, которые привязаны к кускам памяти, где хранятся соответствующие данные.

    Чтобы было легче понимать, что происходит, представьте себе, что память – это набор коробок различных размеров. Размер коробки – это эквивалент количества бит, требуемого для хранения данного типа.

    • Чтобы использовать коробку для хранения данных, необходимо присвоить ей имя. Этот процесс называется объявлением.
    • В процессе объявления Вы используете слово, чтобы объяснить компьютеру какого размера коробка Вам нужна. Это слово называется ключевым.
    • Лучше дать имя коробке такое, чтобы потом было легко понять, что в ней лежит.
    • Данные кладутся в коробку путём присвоения данных коробке.
    • Если объявление и присвоение данных происходит в одной строчке, то такой процесс называется инициализацией.

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

    Например, если мы дадим компьютеру следующую строчку кода:

    int MyVaraible=0;

    то мы говорим компьютеру, что хотим, чтобы он выделил блок памяти длиной 4 байта под нащу переменную “MyVariable”.

    В этом примере:

    int – это ключевое слово

    int – тип данных integer

    int – объявление

    MyVariable – имя переменной

    =0 – инициализация

    О переменных мы узнаем больше в следующих уроках.

    В MQL4 присутствуют следующие типы данных:

    • Integer (int)
    • Boolean (bool)
    • Character (Char)
    • String (String)
    • Floating-point number (double)
    • Color (color)
    • Datetime (datetime)

    Я скопировал для Вас предыдущие строки из урока про типы данных. Теперь Вы вспомнили, что такое переменные – давайте посмотрим, как их надо объявлять:

    Объявление:

    Объявить переменную означает представить её миру и указать её тип. Для этого используются ключевые слова, которые мы прошли в уроке про типы данных (int, double, char, bool, string, color и datetime) и имя, которое Вы выбрали для своей переменной.
    Например:

    int MyVaraible;

    Здесь Вы объявили переменную под именем MyVariable, которая имеет тип integer. До строчки объявления ‘слово’ MyVariable в коде использовать нельзя. Если Вы попробуете это сделать, то компилятор MQL4 будет жаловаться и выдаст такую ощибку: ‘MyVaraible’ – variable not defined. 1 error(s), 0 warning(s).

    Инициализация (присвоение)

    Предупреждение: я писал, что инициализация – это присвоение значения переменной в строчке её объявления. Далее заменим слово “присвоение” словом “инициализация” для удобства.
    Итак, инициализация означает присвоение значения переменной, например: MyVaraible=0; Инициализацию можно производить в той же строчке, что и объявление: int MyVariable=0;
    А можно объявить переменную в одном месте, а инициализацию производить совершенно в другом:

    int MyVaraible;
    …
    …
    MyVaraible=5;

    Но помните, что объявление всегда идёт ДО инициализации.

    Зоны видимости переменных

    Есть два типа зон видимости переменной – локальная и глобальная.

    1 – Локальная зона видимости

    Локальные переменные не видны вне того мира, где они были объявлены. Границы ‘мира’ определяются ближайшей парой фигурных скобок {}. Сверху мир ограничен скобкой {, а снизу – скобкой }. Например, переменные, объявленные внутри функции, локальны для тела этой функции. Переменные, объявленные внутри цикла или условия локальны для этого цикла или условия, и они НЕ видны и НЕ могут быть использованы вне этого цикла или условия.
    Например:

    double my_func (double a, double b, double c) 
    
     { 
     int d; 
     return (a*b + c);
     }

    В приведённом примере переменные a,b,c и d являются локальными и могут быть использованы только внутри тела этой функции.

    2 – Глобальная зона видимости

    Глобальные переменные - это переменные, объявленные вне всех фигурных скобок. Они видны и могут быть использованы в любой части Вашей программы.
    Например:

    int Global_Variable;
    double my_func (double a, double b, double c) 
     { 
     return (a*b + c + Global_Variable);
     }

    Здесь глобальная переменная Global_Variable объявлена вне функции (на уровне объявления функций), поэтому она видна всем функциям Вашей программы.
    Глобальные переменные автоматически выставляются на нуль, если Вы их не проинициализировали при объявлении.

    Внешние переменные

    Ключевое слово “extern” используется для объявления переменных специального вида (не типа, а вида). Переменные такого вида используются для хранения входных данных программы, которые Вы можете ввести в окошке настроек Вашего советника или индикатора.
    Например:

    extern color Indicator_color = C'0x00,0x00,0xFF'; // blue
    int init()
     {
     ...
     }

    В этом примере переменная Indicator_color была объявлена, как extern, которую Вы увидите, когда прикрепите свой индикатор к графику в терминале, и которую можно менять в окошке настроек.

    L8-1.jpg
    Рис. 1. Окошко настроек индикатора MA.

    Здесь переменные Period, Shift, MA_method, Apply_to и Style - переменные, объявленные с использованием ключевого слова “extern“. Поэтому они появляются в окошке настроек.
    Если Вы хотите, чтобы пользователь мог изменять какую-либо переменную, сделайте её extern-переменной.

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

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


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

    Хостинг от uCoz