Примеры: Язык MQL 4 для "чайников". Первое знакомство

 

Опубликована новая статья Язык MQL 4 для "чайников". Первое знакомство:

Эта серия статей рассчитана на трейдеров, которые ничего не знают о программировании, но хотят изучить язык MQL 4 максимально быстро с минимальными усилиями и затратами времени. Если вы боитесь таких словосочетаний, как "объектная ориентация" или "трёхмерный массив", эта статья - то что вам нужно. Уроки рассчитаны на максимально быстрый результат. Кроме того, материал будет подаваться в доступной форме. Мы не будем сильно углубляться в теорию, зато практическую пользу вы получите уже на первом уроке.

Автор: Antoniuk Oleg

 
Vot eto emoe prosto ME4TA! Vot TAKOGO nado kak mogno bolshe! Ogromnoe spasibo :)
 

Начало достаточно информативное. Думается, что эта и последующие публикации будут не только полезны во всех отношениях для трейдера, который все хочет сделать собственными руками и головой, но и для всего трейдерского сообщества, так как появяться новые интересные разработки. Автору хочется пожелать провести всех заинтересованных особ через "тернии к звездам". Хочется пожелать успехов в познании нового и реализации авторских замыслов!

 
Хорошая статья, полезная.
Особенно понравилось вот это:

Попробуйте написать бесконечный цикл и посмотрите, что произойдет, если его запустить.

=)
 
Наконец то что то появилось полезное для чайников. Хорошее начало , но потом логика резко потерялась когда подошли к моменту MessageBox()! а именно : int a = 50; int b = 100; MessageBox("It is very simple. a+b=" + (a + b), "a+b=?"); далее вобще запутался : int a = 50; int b = 100; string str1 = "a + b ="; str1 += a + b; // теперь str1 = "a + b = 150" // теперь используем переменную str1 в качестве // первого параметра MessageBox(str1, "a + b = ?"); - откуда взялась функия - string str1- что это за оператор ? Можно поподробнее!
 
Всем спасибо за отзывы!!

Gitarist
Объяснить подробнее можно и нужно. Смотрим:

int a = 50;  
int b = 100;    
MessageBox("It is very simple. a+b=" + (a + b), "a+b=?");
Первые две строки я думаю должны быть понятны: мы просто объявляем 2 переменные и присваиваем им соответственно 50 и 100. Рассмотрим последнюю строку подробнее:
MessageBox("It is very simple. a+b=" + (a + b), "a+b=?");
Здесь мы вызываем функцию MessageBox, которая принимает 2 параметра. Эти два параметра имеют тип строки, тоесть string. Сама функция выдает окошко с сообщением. Первый параметр отвечает за текст сообщения, а второй за заголовок. Это хорошо показано на рисунке. Теперь рассмотрим каждый параметр отдельно, начнем с второго:
"a+b=?"
Так вот, это просто строка. Мы же помним, что все, что находится в двойных кавычках - это строки. То есть это не какие-то там операторы, просто строка обычного текста. А вот с первым параметром уже посложнее:
"It is very simple. a+b=" + (a + b)
Смотрите внимательно: в самом начале также идет обычная строка, она находится между двойными кавычками:
"It is very simple. a+b="
А потом вот это:
+ (a + b)
Само это выражение уже должно быть знакомо вам. Мы просто суммируем переменные a и b, а потом добавляем это к строке. Да, именно так. У вас сразу возникает вопрос: но как же можно добавить к строке целое число? Очень просто:
язык MQL4 устроен таким образом, что если любой тип данных (целые числа, например) попытаться добавить к строке, то числа автоматически будут
переконвертированы в строку, а после этого две строки будут объеденены. И все это автоматически.
Посмотрите, что будет происходить с этим выражением шаг за шагом:
"It is very simple. a+b=" + (a + b)    // имеется такое выражение сначала   
                                       // потом будет найдена сумма переменных a и b   
                                       // так как a=50, а b=100, то их сумма=150  
"It is very simple. a+b=" + (50 + 100) // подставляются значения переменных   
"It is very simple. a+b=" + 150        // сумма найдена   
"It is very simple. a+b=" + "150"      // теперь целое число переводится в строку   
"It is very simple. a+b=150"           // при суммировании строк они объединяются
В конечном итоге производится вызов функции с такими параметрами:
MessageBox("It is very simple. a+b=150","a+b=?");
Второй случай объяснять наверное не стоит, так как все уже должно быть понятно, но если что, то спрашивайте, будем разбираться.

Обращаюсь ко всем читателям.
Если у вас возникли какие-то вопросы по ходу прочтения статьи, то не стесняйтесь, задавайте их здесь, будем разбираться вместе.

 
Вроде разобрался в пояснениях , спасибо ! ждем с нетерпением продолжения инструкции :)
 
Здравствуйте еще раз , подскажите пожалуста -Какую команду и в каком месте прописать в код готового советника чтобы выставлялся стоп лос по Н или L предыдущей свечи ? Буду очень признателен.
 
Diam0nd:
Vot eto emoe prosto ME4TA! Vot TAKOGO nado kak mogno bolshe! Ogromnoe spasibo :)

Присоединяюсь. ДАВНО жду продолжения. Может пропустил и оно уже было?
Спасибо.
 
Diam0nd:
Vot eto emoe prosto ME4TA! Vot TAKOGO nado kak mogno bolshe! Ogromnoe spasibo :)


Присоединяюсь. Спасибо. Только продолжения уже заждались все. :)
 
Мои комменты пропадают... Не вижу их. Третий раз пробую.
Может хоть без цитаты пройдёт?....

Присоединяюсь к благодарностям. Дело очень нужное. Только продолжение побыстрей бы. ;)