extern int Q1=1;
extern int Q2=1;
if(A>B&&C<D&&E>F)
{
OrderSend(...);
}
Странный вопрос. Это же простая логика.Уважаемые программеры профи, поздравляю вас с Новым Годом и вопросик вам?
например есть 2 переключателя, которые активны при 1 и неактивны при 0
как написать алгоритм их работы, чтобы условия по оператору if ,были активны(или неактивны)PHP:extern int Q1=1; extern int Q2=1;
например
нужно чтобы при Q1=1 и Q2=1, все 3 условия проверялись, то есть были активны, если Q1=0, то первое условие неактивно(будто его и нету), аналогично при Q2=0, второе условие неактивно(не проверяется),третье условие E>F всегда активно...PHP:if(A>B&&C<D&&E>F) { OrderSend(...); }
ЗАРАНЕЕ СПАСИБО!
Во первых для флагов грамотней использовать переменные типа boolУважаемые программеры профи, поздравляю вас с Новым Годом и вопросик вам?
например есть 2 переключателя, которые активны при 1 и неактивны при 0
как написать алгоритм их работы, чтобы условия по оператору if ,были активны(или неактивны)PHP:extern int Q1=1; extern int Q2=1;
например
нужно чтобы при Q1=1 и Q2=1, все 3 условия проверялись, то есть были активны, если Q1=0, то первое условие неактивно(будто его и нету), аналогично при Q2=0, второе условие неактивно(не проверяется),третье условие E>F всегда активно...PHP:if(A>B&&C<D&&E>F) { OrderSend(...); }
ЗАРАНЕЕ СПАСИБО!
преимущество переключателя(int) в возможности оптимизации настроек и переключателей в одном потоке...спасибо за ответ и Ugar-u тоже спасибо,пошел переваривать ответы...) :facepalm:Во первых для флагов грамотней использовать переменные типа bool
А написать очень просто.
if((!Q1 || A > B) && (!Q2 || C < D) && E > F)
Вот так, если я правильно понял вопрос.
Если оба одинаково неправильно поняли, скорее всего, проблема в изложении вопроса.кажется вы оба меня неправильно поняли...позже напишу.
extern int Q1=1;//при 1 включен, при 0 - выключен
extern int Q2=1;//при 1 включен, при 0 - выключен
if(A>B&&C<D&&E>F)
{
OrderSend(...);
}
if(C<D&&E>F)
{
OrderSend(...);
}
if(A>B&&E>F)
{
OrderSend(...);
}
if(E>F)
{
OrderSend(...);
}
Milord
Тебе так и написали, оба решения рабочие и практически не отличаются. Будет работать именно так, как написано
extern int Revers=0;//при 1 включен реверс условия, при 0 выключен реверс
if(A>B)
{
OrderSend(...);
}
if(A<B)
{
OrderSend(...);
}
Как это я не увидел твой ответ???Странный вопрос. Это же простая логика.
if((Q1==0 || A>B) && (Q2==0 || C<D) && E>F)
{
OrderSend(...);
}
Ты просто пойми порядок работы такой части условия (Q1 == 0 || A > B) Если в настройках поставить Q1 = 0, то вторая часть практически будет выключена. Потому, что это условие будет истиной при любом А и В. А вот если поставить Q1 = 1, то истинным это выражение будет только если A > B то есть включаем эту часть условия.спасибо за ответы, но кажется вы меня не так поняли, или я вапще ниче не понимаю)):facepalm:
поэтому изменю формулировку вопроса в другом виде, есть переключатели:
нужно написать код, чтобы при Q1=1 и Q2=1, логика работы такая:PHP:extern int Q1=1;//при 1 включен, при 0 - выключен extern int Q2=1;//при 1 включен, при 0 - выключен
при Q1=0,и Q2=1,логика работы такая(выключено первое условие)PHP:if(A>B&&C<D&&E>F) { OrderSend(...); }
при Q1=1,и Q2=0,логика работы такая(выключено второе условие)PHP:if(C<D&&E>F) { OrderSend(...); }
при Q1=0,и Q2=0,логика работы такая(выключено первое и второе условие)PHP:if(A>B&&E>F) { OrderSend(...); }
PHP:if(E>F) { OrderSend(...); }
спасибо, буду переваривать..)Ты просто пойми порядок работы такой части условия (Q1 == 0 || A > B) Если в настройках поставить Q1 = 0, то вторая часть практически будет выключена. Потому, что это условие будет истиной при любом А и В. А вот если поставить Q1 = 1, то истинным это выражение будет только если A > B то есть включаем эту часть условия.
Надеюсь понятно объяснил.
Да что ты всё про бейсик вспоминаешь? Может ты будешь удивлён, но я ни одной программы не написал на С или С++. И вообще не пытался. И до изучения mql тоже работал только с бейсиком. Ничего сложного в этом нет, это условие такое-же как и в бейсике if((Q1 = 0 or A > B) and (Q2 = 0 or C < D) and Е > F)спасибо, буду переваривать..)
интуитивно ощущаю что это все проще пареной репы, а мозг выключается пока что, тяжко после бейсика перейти на С++, все равно что с запорожца сесть за штурвал МИГ-31)))
ну да, удивлен!))Да что ты всё про бейсик вспоминаешь? Может ты будешь удивлён, но я ни одной программы не написал на С или С++. И вообще не пытался. И до изучения mql тоже работал только с бейсиком. Ничего сложного в этом нет, это условие такое-же как и в бейсике if((Q1 = 0 or A > B) and (Q2 = 0 or C < D) and Е > F)
Очень хотелось-бы чтобы не-было в этом примере грубых синтаксических ошибок. Всё-таки уже несколько лет не вспоминал о бейсике.
спасибо за ответы всем, еще вопросик похожий, не могу сообразить..)
есть переключатель
PHP:extern int Revers=0;//при 1 включен реверс условия, при 0 выключен реверс
нужно написать код чтобы при Revers=0; логика работы была
при Revers=1; логика работы былаPHP:if(A>B) { OrderSend(...); }
PHP:if(A<B) { OrderSend(...); }
хотите взорвать мой мозг?))int R=2*Revers-1;
if(R*A<B*R) {}
Так сам же уже написалспасибо за ответы всем, еще вопросик похожий, не могу сообразить..)
есть переключатель
нужно написать код чтобы при Revers=0; логика работы былаPHP:extern int Revers=0;//при 1 включен реверс условия, при 0 выключен реверс
при Revers=1; логика работы былаPHP:if(A>B) { OrderSend(...); }
PHP:if(A<B) { OrderSend(...); }
Конечно хочу, у нас Новый Год или нет?!хотите взорвать мой мозг?))
Конечно хочу, у нас Новый Год или нет?!
Код 100% рабочий, но в реале я бы не стал так делать, а написал бы как Ugar выше показал.