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

 
VM7
Вторая статья сейчас проверяется модератором, а третья пишется. Так что ждите, скоро все будет.

Gitarist
Воспользуйтесь форумом: создайте отдельную ветку, детально опишите проблему. Ваша проблема не относится к статье.
 
По быстрее бы ! Учиться хотим , а учебников нету :)
 
Вы про нас там не забыли?
 
Вторая статья уже давно опубликована ;))
http://articles.mql4.com/ru/articles/1483
 
Непонятны вот эти штуки:
a += 5;     
a *= 5;    
a /= 5;    

a++;  
а--;  


 

str1 += a + b
Т.е. что это за операторы такие +=, ++ и проч. Вводит в непонимание.
 
for(int a=0; a<Bars;) 
{
   AveragePrice+=High[a];
   
   a++; // счётчик изменяется внутри тела цикла
 }
Это бесконечный цикл? Дойдя до int a=0, переменная "a" будет всегда обнуляться, и цикл будет проходить вновь для переменной "а" равной нулю?
Не понятна логика выполнения цикла.
for(;a < Bars;)
Точка с запятой это опечатка? Если нет, то какой в ней смысл?
 
Lbv_Lbvsx
Непонятны вот эти штуки:

a+=5; // тоже самое что a=a+5
a*=5; // a=a*5;
a/=5; // a=a/5;
 
a++   // a=a+1;
a--   // a=a-1;
 
str1+=a+b; // str1=str1+(a+b);
все эти операторы предназначены для того, что бы сократить количество кода. Со временем привыкните ))

Это бесконечный цикл? Дойдя до int a=0, переменная "a" будет всегда обнуляться, и цикл будет проходить вновь для переменной "а" равной нулю?
Нет это не бесконечный цикл. Посмотрите на условие выполнения цикла:
a<Bars
То есть, пока переменная а меньше чем Bars, то продолжить выполнение цикла. На каждом "проходе" счетчик а увеличивается на 1, пока не будет равен Bars.
Точка с запятой это опечатка? Если нет, то какой в ней смысл?
Нет не опечатка. Цикл for состоит из трех частей: инициализация, условие выполнения, изменения счетчика. Инициализация и изменение счетчика не являются обязательными, поэтому мы их можем пропустить, что и было сделано. Мы просто выполнили инициализацию до цикла, а изменение счетчика выполняем в теле цикла.
Условие выполнения тоже не является обязательной частью, то есть можно сделать даже так:
int a=0;
 
for(;;)
{
   MessageBox("a="+a);
 
  if(a>4)
    break;
      
  a++;   
}
В таком случае будем иметь бесконечный цикл, но так как мы используем оператор break (читайте вторую статью), то выходим из цикла, когда нам нужно.
 
Понятно, спасибо.
 
опубликована новая статья, приятного чтения)):
http://articles.mql4.com/ru/articles/1496
 
double a = 50.0;// объявляем переменную с плавающей запятой и
                // присваиваем ей значение 50   
double b = 2.0; 
double c;   
 
c = a + b;      // присваиваем переменной c сумму переменных
                // a и b. Теперь значение с равно 52. Как и
                // после любой другой инструкции, ставим точку
                // с запятой (";")   
 
c = a - b;      // вычитание, с = 48 
c = a*b;        // умножение, с = 100 
c = a / b;      // деление, c = 25   
c = (a + b)*a;  // в скобках нужно размещать операции, которые
                // должны выполняться в первую очередь. Так, в
                // нашем случае сначала будет найдена сумма a и 
            // b, а потом эта сумма умножена на а и присвоена с
 
// если есть несколько операций в кавычках, то они          Но выше было сказано, что в КАВЫЧКАХ - строковая переменная
c = (a + b) / (a - b); 
                       // будут выполняться слева направо 
 
// в соответствиями с правилами математики, сначала будет 
// найдено 
c = a + b*3.0;      
                       // произведение b и 3, а уже потом сумма
Причина обращения: