Помогите .Какой оператор используется?

 
У меня так if(X>Level) действие.А мне нужно. if(X=Level_1  "затем с течением времени"X>Level_2) действие.Помогите пожалуйста с кодом.
 
ardman2222
Если я правильно Вас понял:
bool SomeFunction(int X, int Level1, int Level2, int Times) {
  bool result = false;
  if (TimeLocal() < Times && X > Level1) result = true;
  else if (TimeLocal() > Times && X > Level2) result = true;
  return (result);
}
где "Times" - время, после которого необходимо сменить условие.
 
voix_kas >>:
ardman2222
Если я правильно Вас понял:
где "Times" - время, после которого необходимо сменить условие.
 
Спосибо что пытаетесь помочь.Но немного не так само время здесь не причом.Мне нужно в условии чтоб Х прежде чем выполнить действие на уровне 2 побывала на уровне 1.Если оно там не будет то соответственно и действие не выполняется.
 
Попробуйте максимально формализовать условие. Без предположений и домыслов со стороны программиста.
Пока что насколько понял:
bool SomeFunction(int X, int Level1, int Level2, int Times) {
  bool result = false;
  if (X > Level1) result = true;
  if (result && TimeLocal() > Times && X <= Level2) result = false;
  return (result);
}
 
Попробую так .Линия индекатора поднимается снизу вверх.На расстоянии 0.001 по обе стороны от сигнальной 0.0 стоят уровни. Соответственно 0.001 =Х покупка и -0.001=Х продажа.Линия(далееХ) Х = -0.001 открывает продажу что не правельно.Нужно чтоб Х=-0.0005 зате если линия разворачивается и Х=- 0.001 продажа.Если не разворачивается что чаще происходит на Х=0.001 покупка.
 
Пока что понял следующее:
1. Если сигнальная линия поднимается (снизу вверх) выше некоторого уровня (касается или пересекает его), открываем покупку.
2. Если сигнальная линия понижается (сверху вниз) ниже некоторого уровня (касается или пересекает его), открываем продажу.
На основании это следующий код:
void SomeFunction(double LevelHigh, double LevelLow, double CurLevel, double PrevLevel) {
  if (CurLevel >= LevelHigh && CurLevel > PrevLevel) ; // открытие ордера на покупку...
  else if (CurLevel <= LevelLow && CurLevel < PrevLevel) ; // открытие ордера на продажу...
}
Где:
"LevelHigh" - уровень, при превышении/касании которого, открываем длинную позицию.
"LevelLow" - уровень, при снижении/касании которого, открываем длинную позицию.
"CurLevel" - текущее значение сигнальной линии.
"PrevLevel" - предыдущее значение сигнальной линии.

Уточняйте ТЗ.
 
Мде...
Если по существу, вероятно, эту строку:
double OUT=iCustom(NULL,0,"CFP",B,M,P,F,S,1,0);
надо заменить следующими (если анализируете текущий (еще не сформировавшийся) бар):
CurLevel = iCustom(NULL,0,"CFP",B,M,P,F,S,1,0);
PrevLevel = iCustom(NULL,0,"CFP",B,M,P,F,S,1,1);
Немного лирики...
Собственно, предположу, что такие элементарные ошибки свидетельствуют о незнании языка программирования (MQL4).
Посему, на Вашем месте, я бы сначала выучил язык, а уже потом брался за написание алгоритма МТС. Либо доверил профессионалам "оцифровку" советника (кодинг) по Вашей стратегии.
В противном случае, не имея представления о последствиях вставленного кода, Ваш советник превращается в "черный ящик псевдослучайного действия".
 
voix_kas >>:
Пока что понял следующее:
1. Если сигнальная линия поднимается (снизу вверх) выше некоторого уровня (касается или пересекает его), открываем покупку.
2. Если сигнальная линия понижается (сверху вниз) ниже некоторого уровня (касается или пересекает его), открываем продажу.
На основании это следующий код:
Где:
"LevelHigh" - уровень, при превышении/касании которого, открываем длинную позицию.
"LevelLow" - уровень, при снижении/касании которого, открываем длинную позицию.
"CurLevel" - текущее значение сигнальной линии.
"PrevLevel" - предыдущее значение сигнальной линии.

Уточняйте ТЗ.

Спасибо попробую.

 
voix_kas >>:
Мде...
Если по существу, вероятно, эту строку:
надо заменить следующими (если анализируете текущий (еще не сформировавшийся) бар):
Немного лирики...
Собственно, предположу, что такие элементарные ошибки свидетельствуют о незнании языка программирования (MQL4).
Посему, на Вашем месте, я бы сначала выучил язык, а уже потом брался за написание алгоритма МТС. Либо доверил профессионалам "оцифровку" советника (кодинг) по Вашей стратегии.
В противном случае, не имея представления о последствиях вставленного кода, Ваш советник превращается в "черный ящик псевдослучайного действия".Спасибо я только учусь пока по книге Ковалёва.
 
ardman2222 >>:

А как вы думаете реально самоучкой изучить языка программирования (MQL4)? Или всё же нужен преподователь.