Переменные в MQL4 программировании, их виды и типы - Форум о заработке, инвестициях и криптовалюте
Форум о заработке, инвестициях и криптовалюте

Вернуться   Форум о заработке, инвестициях и криптовалюте > Практический трейдинг > Все о автоматизации торгового процесса

Важная информация

Все о автоматизации торгового процесса Обсуждение автоматической торговли и программного обеспечения. Алгоритмы трейдинга.

Ответ
 
Опции темы Опции просмотра
Старый 01.07.2013, 00:59   #1
Crosh
Acrypto-Мастер
 
Аватар для Crosh
 
Регистрация: 15.02.2013
Сообщений: 7,463
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Автор темы По умолчанию

Переменные в MQL4 программировании, их виды и типы

И так, мы уже знаем, как происходит весь процесс создания вспомогательных инструментов трейдера (скрипты, индикаторы, советника), и теперь можем смело приступать к изучению их составляющих. Начнем мы с переменных, их типов, видов и характеристик Что же они из себя представляют? В программировании MQL4 понятие переменной является идентичным понятию переменных с математики. А понятие “идентификатор переменной” это то же что и “имя переменной”.

В MQL4 программировании различают несколько видов переменных: локальные, глобальные, статические и внешние.

а)локальные-первый вид переменных - это те, которые объявлены внутри определенной функции, в которой они используются, и только в ней они будут доступны.
б)глобальне - второй же вид объявляется вне тела функций, а в теле глобального модуля в начале программы. Глобальная переменная может быть вызвана и использована в любой в части модуля.
в)статические переменные, так же как и локальные, не могут использоваться вне функции в которой они объявлены, но их значение не теряется при выходе из этой функции.
д)и последний вид, внешние переменные. Значение данной переменной доступно из окна свойств программы. Переменная данного вида объявляется вне пределов функций и так же как и глобальная переменная доступна из любой точки программы. Для глобальной переменной перед типом её значение обязательным является модификатор extern. А так же, значение можно задавать пользователю, через окно свойств.



Теперь перейдем к типам переменных. Для детального ознакомления возьмем жизненный пример. Сколько у вас постов на форуме? Сколько их будет завтра? А через год? Так вот количество постов - это и есть переменная. Их количество меняется с каждым днем когда вы находитесь онлайн, так же как и любая переменная. Исходя из этого, можем сказать первая особенность переменной состоить в том, что она изменяеться с течением времени. Другая особенность переменных, это их тип. Количество постов всегда целое. А ведь есть еще и дробные числа, числа с плавающей запятой. К примеру, сколько денег у вас на балансе форума было после первого сообщения? А сколько после 23. Очевидно, что число будет иметь тип - десятичная дробь: 0.20, 1.45, 104.52. Числами описываются многие параметры при создании mql4 объектов, а как же представить текст. Это делается с помощью переменных строкового типа, которые хранят в себе только строки (текст). Ну и раз мы немного разобрались в типах переменных, можем приступить к процессу создания и описания переменных на языке MQL4.

Код:

Код:
int n=7;
В данном примере мы описали переменную которая имеет целый тип (int - от англ. integer, перевод - "целое число"). “Int” является одним из ключевых слов языка программирования на MQL4, которое указывает, что данные переменные будут представлять только целые числа. После этого указывается сама переменная n (number). “n” это её представление в модуле, по нему мы будем вызывать значение, которое принимает эта переменная. В нашем случае мы присвоили переменной значение 7, поставив между ними символ “=”. В конце каждой исполняемой строчки обязательно нужно ставить символ “;”, для того чтобы программа поняла что инструкция закончена и можно переходить дальше по коду. Сейчас же можем сказать что процесс объявления и присваивания значения (инициализация) переменной любого типа можно представить такой формулой

Код:
Код:
[тип] [название] = [значение];
Стоить отметить еще то, что, если значение мы задаем изначально, то єто константа. Но, не обязательным является присваивание переменной какого либо значения, ведь переменная может быть и результатом какого нибудь вычисления, можно просто описать её тип, а значение уже присвоить в ходе исполнения кода.

Код:
Код:
int n;


По поводу дробных чисел приведем такой пример:

Код:
Код:
double many = 1.45;
В данном примере мы объявили переменную с именем many (англ. деньги), которая тип double (число с десятичная дробь) и которой мы так же даем значение как и в первом примере.

Следующий тип который мы рассмотрим - строковая переменная:

Код:
Код:
string name = "Investo";
Видим, что тип переменной уже string, имя - name, "investo" - значение которое имеет переменная. Вы, наверное, обратили внимание на то что в данном примере зачение заключено между двойными кавычками ("). Это особенность строковых переменных.

Есть ще один тип переменных, которые принимает значение или true (правда) или false (ложь), это булевские переменные - bool

Код:
Код:
bool trend = false;
При написании кода, нужно помнить то что язык MQL4 зависит от регистра. Поэтому переменные написаны БОЛЬШИМИ буквами и маленькими, будут совершенно разные. На примере вы можете увидеть четыре разных переменных.

Код:
Код:
double LOWTPRICE;
double lowprice;
double LowPrice;
double lowPrice;
Следующий пример:

Код:
Код:
DOUBLE lowPrice1;
Double lowPrice2;
Данный пример не будет работать, потому что ключевые слова могут быть написаны только маленькими буквами. Ещё одна важная особенность написания переменных в том что их названия не могут начинаться с спец. символов или цифр.

Например:

Код:
Код:
double 17price;
double #price;
В любых языках программирования есть такой элемент как комментарии. Для того, чтобы написанная строка стала комментарием, нужно перед ней поставить "//". При этом она комментируется, то есть при компилировании не будет приниматся во внимание программой.

Например:

Код:
Код:
// здесь будет ваш комментарий
Комментарии помогают пользователю или программисту быстро сориентироваться какой блок кода за какую операцию отвечает, и не тратя много времени разобраться в коде. Поэтому при написании кода, комментируйте его, это может сэкономить не мало времени в будущем.

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





Автор: Crosh
Все права на статью принадлежат http://forum.forex-investo.ru
Копирование строго запрещено.
Миниатюры
Нажмите на изображение для увеличения
Название: 10.png
Просмотров: 223
Размер:	1.5 Кб
ID:	13667   Нажмите на изображение для увеличения
Название: Безымянный (1).JPG
Просмотров: 207
Размер:	122.7 Кб
ID:	13668   Нажмите на изображение для увеличения
Название: окно свойста.JPG
Просмотров: 223
Размер:	17.3 Кб
ID:	13669  
Crosh вне форума   Ответить с цитированием
Старый 31.08.2013, 16:51   #2
Di4
Новичок
 
Регистрация: 27.08.2013
Сообщений: 12
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
По умолчанию

Извините может вопрос не в кассу, я тут у вас новичок. Тут на форуме сидят программисты, или нет? Интересно было посмотреть коды разных советников. На чем их пишут. Как интегрировать в метатрейдер. Если можно на каком нибудь примере показать как какую нибудь (извините за тавтологию ) стратегию торговли.

Что то я про знаки препинания забыл, извините
Di4 вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Загрузка...


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
vB.Sponsors

© 2009-2020 «ACRYPTOINVEST.COM»
сообщество трейдеров, инвесторов и игроков