Yedelkin: Не совсем. Для оператора for нужно указать тип переменной i. Для выбора позиции - сначала использовать PositionGetSymbol(i), затем - просматривать свойства выбранной позиции.
Благодарю. Так?
int TotalBullPositions()
{
int Counter=0;
for(int i = 0; i < PositionsTotal(); i++)
{
if(PositionSelect(Symbol()))
{
if(PositionGetInteger(POSITION_MAGIC)==Magic && PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
Counter++;}}
return(Counter);
}
Не совсем. Для оператора for нужно указать тип переменной i. Для выбора позиции - сначала использовать PositionGetSymbol(i), затем - просматривать свойства выбранной позиции.
Благодарю. Так?
Благодарю. Так?
Да, схема примерно такова. Вот на эту строчку
компилятор, скорее всего выдаст предупреждение. Лечится явным приведением значения PositionGetInteger(POSITION_TYPE) к нужному типу перечисления.
Вот эту строчку
некоторые предпочитают запускать не по возрастанию, а по убыванию.
Дополнение. Вы зачем поменяли правильную строчку на if(PositionSelect(Symbol()))?
Да, схема примерно такова. Вот на эту строчку
компилятор, скорее всего выдаст предупреждение. Лечится явным приведением значения PositionGetInteger(POSITION_TYPE) к нужному типу перечисления.
Вот эту строчку
некоторые предпочитают запускать не по возрастанию, а по убыванию.
Дополнение. Вы зачем поменяли правильную строчку на if(PositionSelect(Symbol()))?
Огромное спасибо.
Поменял на:
Или поменяю на этот:
Проверю какой вариант работает.
Спасибо.
Или поменяю на этот:
Проверю какой вариант работает
Теперь надо взять сигналы из индикатора:
Делаю так, и не работает.
Проверку хендла на недействительность проводите?
Проверку хендла на недействительность проводите?
Да у Вас уже есть аналогичная проверка, в другом месте:
Если будет INVALID_HANDLE, то выводите на печать ошибку
Да у Вас уже есть аналогичная проверка, в другом месте:
Если будет INVALID_HANDLE, то выводите на печать ошибку
Измучился совсем. Не открывает правильно.
Не читает правильно сигналы индикатора.
Помогите плиз. Где ошибка?