Скачать MetaTrader 5

Загвоздка

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114269
Forex Trader  
Задача, вроде, элементарная, а не получается что-то. Нужно, чтобы при выполнении условий переменной m1 один раз присвоилось значение close_D1[1] и всё. А оно присваивается каждый раз, как только выполняются условия. Делаю так:

if (schetchik1==0)
{if (ss1<0 && ss2<0 && ss11>0)
{
schetchik1++;
m1 = close_D1[1];
Print("Минимум ", m1);
}
}
Как нужно задать счетчик, чтобы присваивание было разовым?
Forex Trader
114269
Forex Trader  
Введите дополнительную переменную, например логического типа, которая будет отвечать на вопрос был
ли вызов первым.
Forex Trader
114269
Forex Trader  
Введите дополнительную переменную, например логического типа, которая будет отвечать на вопрос был
ли вызов первым.

Не совсем понятно. А переменная schetchik1 вообще нужна? Она ведь принимает значение "1" после первого выполнения условий, почему в дальнейшем они снова проверяются - там ведь стоит if (schetchik1==0)?
Forex Trader
114269
Forex Trader  
Введите дополнительную переменную, например логического типа, которая будет отвечать на вопрос был
ли вызов первым.

Не совсем понятно. А переменная schetchik1 вообще нужна? Она ведь принимает значение "1" после первого выполнения условий, почему в дальнейшем они снова проверяются - там ведь стоит if (schetchik1==0)?

ну можно и счетчик....не заметил просто. :)
Наверно эта пременная обнуляется, это делаете либо Вы, либо mt. Если mt - объявите ее как static.
Forex Trader
114269
Forex Trader  

Наверно эта пременная обнуляется, это делаете либо Вы, либо mt. Если mt - объявите ее как static.

static никак нельзя, мне нужно будет её менять. Мне главное, чтобы она не обнулялась без моего ведома. Как же все-таки это происходит? Ведь четко же написано, что выполнять условия только когда schetchik1==0.
Причем каждый раз schetchik1 должен увеличиваться на 1, а он всегда равен 1
Forex Trader
114269
Forex Trader  
static никак нельзя, мне нужно будет её менять

посмотрите что такое static.

Forex Trader
114269
Forex Trader  
а в коде перед этим случайно нет строки типа
int schetchik1;


???

Он скорее всего при инициализации обнуляется ;)

Выход из положения - объявить schetchik1 ВНЕ ф-ции start(). Тогда менятся он будет только "по команде" =)

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий