void OnStart()
// Нужно написать скрипт который определяет каких баров на графике больше,
// с ценой закрытия которая больше чем цена открытия
// или
// с ценой закрытия которая меньше чем цена открытия.
// Результат вывести словом Up – если баров закрытых вверх больше, или Down – если баров закрытых вниз больше.
// Рассматриваем только закрытые бары.
// Какой получится результат, в случае, если баров закрытых вверх или вниз будет поровну?
// При сравнении цен учесть погрешности double.
{
int i, a=0;
int n=0.0, m=0.0; // Объявлены переменные, i, a, n, m, переменной a, n и m сразу же присвоено значение 0.
for(i=Bars-1; i>0; i--) // Сразу присвоено значение Bars-1 переменной i. После этого проверено условие что i>0,
{ // если это так, то выполняется один раз все, что написано внутри тела цикла.
if(Close[i]>Open[i]) // Это условие (Close[i]>Open[i]) расположено как раз в теле цикла, и оно выполняется только если выше будет соблюдаться условие i>0,
{
n++; // В теле условия суммируются все подходящие цены закрытия и подсчитывается количество подходящих баров.
}
if(Close[i]<Open[i]) // Это условие (Close[i]<Open[i]) расположено как раз в теле цикла, и оно выполняется только если выше будет соблюдаться условие i>0,
{
m++; // В теле условия суммируются все подходящие цены закрытия и подсчитывается количество подходящих баров.
}
}
if (n>m) // если баров с условием (Close[i]>Open[i]) больше, чем баров с условием (Close[i]<Open[i]), то
{
a=n-m;
Print("Up","-", a); // Выводится результат.
}
if (n<m) // если баров с условием (Close[i]>Open[i]) меньше, чем баров с условием (Close[i]<Open[i]), то
{
a=m-n;
Print("Down","-", a); // Выводится результат.
}
if (n==m) // если баров с условием (Close[i]>Open[i]) равно барам с условием (Close[i]<Open[i]), то
Print("Even","-",n,"-", m); // Выводится результат.
}