Цитата:
Сообщение от osieris
не пойму как правильно заканчивать советник или индикатор, вот к примеру часть окончания:
if(i<Bars-1) ExtMapBuffer1[i]+=ExtMapBuffer1[i+1];
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
и что означает эта скобка "}", но я так понят еще играет большое значение если они идут в группе и одна под одной как к примеру вот здесь
}
}
}
можете мне насчет этого дать пояснение?
|
Выдержка из справки mql:
"
Составной оператор (блок) состоит из одного или большего числа операторов любого типа, заключенных в фигурные скобки { }. После закрывающейся фигурной скобки не должно быть точки с запятой (http://forum.forex-investo.ru/public...DIR#>/wink.png."
Если в коде встречается закрывающая фигурная скобка "}", значит должна быть и открывающая.
Например нужно подсчитать общую прибыль по всем рыночным ордерам, открытым по текущему инструменту.
Для этого на потребуется:
1. Обнулить переменную, где будет храниться прибыль по всем ордерам. (double sum=0
2. Открываем цикл по индексам от 0 до КоличествоОрдеров-1 с шагом 1. (for(int idx=0;idx<OrdersTotal();idx++))
{
2.1 Выбираем ордер по индексу. (OrderSelect(idx, SELECT_BY_POS, MODE_TRADES)
http://forum.forex-investo.ru/public...DIR#>/wink.png
2.2 Проверить если ордер имеет тип OP_BUY или OP_SELL (if(OrderType()>=2) continue
2.3 Получить значение текущей прибыли для выбранного ордера. (double profit=OrderProfit()
http://forum.forex-investo.ru/public...DIR#>/wink.png
2.4 Добавить полученное значение прибыли ордера к общему значению прибыли. (sum=sum+pofit
}
В данном примере фигурные скобки обозначают, что пункты
2.1-2.4 будут выполняться в теле цикла, т.е. для каждого ордера. В итоге после выполнения цикла переменная sum будет содержать общую прибыль по всем ордерам.
Если скобки опустить, то компилятор не выдаст ни одной ошибки. Но результат выполнения будет следующим:
В теле цикла будет содержаться только
!ОДИН оператор (
2.1). Все остальные операторы будут выполнены после окончания выполнения цикла. Следовательно переменная sum будет содержать значение прибыли для последнего выбранного в цикле ордера.