Ваши вопросы по языку MQL4

DomovenokBrest

♔♕♖♗♘♙
Мне(не спецу) надо узнать
строчка
if(A<1 && B>2)
и
if(A<1 ││ B>2)
это одно и тоже ?)))
мне нужен логический знак "или"
т.е. либо A<1 либо B>2 то....
спасибо!)))

Отображение && - означает и. Т.е. если верно неравенство А<1 и верно неравенство B>2, то исполняется какое то действие.
Во втором случае знак || - означает или. Т.е. если верно неравенство А<1 или верно неравенство B>2, т.е. или одно или другое верно то исполняется какое то действие.
 

Tepih

Местный знаток
Что за ошибка в этой строке:
if (li_108 < gi_432 || gi_432 == -1 && l_count_116 == 0) {
 

fs256

Местный знаток
Что за ошибка в этой строке:
if (li_108 < gi_432 || gi_432 == -1 && l_count_116 == 0) {

Декомпил игнорирует сложные условия :D - надо выбрать. я думаю так:
(li_108 < gi_432 || (gi_432 == -1 && l_count_116 == 0))
А может и так:
((li_108 < gi_432 || gi_432 == -1) && l_count_116 == 0)
 

DomovenokBrest

♔♕♖♗♘♙
Декомпил игнорирует сложные условия :D - надо выбрать. я думаю так:
(li_108 < gi_432 || (gi_432 == -1 && l_count_116 == 0))
А может и так:
((li_108 < gi_432 || gi_432 == -1) && l_count_116 == 0)

Второе будет неверно. Если писать второе условие, то так:
((li_108 < gi_432 && l_count_116 == 0) || (gi_432 == -1 && l_count_116 == 0))
 

Tepih

Местный знаток
Декомпил игнорирует сложные условия :D - надо выбрать. я думаю так:
(li_108 < gi_432 || (gi_432 == -1 && l_count_116 == 0))
А может и так:
((li_108 < gi_432 || gi_432 == -1) && l_count_116 == 0)

Большое спасибо. Вариант (li_108 < gi_432 || (gi_432 == -1 && l_count_116 == 0)) скомпилировался без ошибок!
 

fs256

Местный знаток
Второе будет неверно. Если писать второе условие, то так:
((li_108 < gi_432 && l_count_116 == 0) || (gi_432 == -1 && l_count_116 == 0))

Ни разу не согласен ;). У меня-бы половина моих сов не работала. Проверь на каком-нибудь простом примере.
 

Rulevoy_TS

Интересующийся
Всем добрый день умельцы...Подскажите пожалуйста как сделать стрелочный индикатор со встроенным тестером.Например у меня есть стрелка сам пишу но вот вставить тестер в него не умею кто подскажет ....
 

mobidik

-----
Большое спасибо. Вариант (li_108 < gi_432 || (gi_432 == -1 && l_count_116 == 0)) скомпилировался без ошибок!
Нужно не только без ошибок, но и логику работы не нарушить!

Декомпил игнорирует сложные условия :D - надо выбрать. я думаю так...
Декомпил тут не причем, не стоит выдумывать.

Второе будет неверно. Если писать второе условие, то так:
((li_108 < gi_432 && l_count_116 == 0) || (gi_432 == -1 && l_count_116 == 0))
Эдуард, а на чем ты основываешься? Перед тобой только одна строчка кода и уже ясен весь алгоритм работы?

Хочу заметить, что изначально данный код был написан в "старом" билде и вскрыт декомпилом - в то время он работал как нужно, а теперь, в "новом" билде - ошибка - вот отсюда и нужно плясать. К тому же, парни, а как на счет приоритетов выполнения операций? Может не стоит выдумывать, а ознакомится со справкой, где есть чЁткий ответ на данный вопрос.
 

eevviill2

Местный знаток
Что за ошибка в этой строке:
if (li_108 < gi_432 || gi_432 == -1 && l_count_116 == 0) {
Раньше был приоритет в &&
Сейчас в ||
Правка. Наоборот.

Везде где || в старых кодах нужно окружать 2 условия ()

Тоесть
PHP:
if ((li_108 < gi_432 || gi_432 == -1) && l_count_116 == 0)
 
Последнее редактирование:

mobidik

-----
Раньше был приоритет в &&
Сейчас в ||


Везде где || в старых кодах нужно окружать 2 условия ()

Тоесть
PHP:
if ((li_108 < gi_432 || gi_432 == -1) && l_count_116 == 0)

Вот писал же выше, не нужно ничего выдумывать и лепить отсебятину - есть точное описание действий, неужели так сложно хотя бы в гугл зайти..?
 

eevviill2

Местный знаток
Вот писал же выше, не нужно ничего выдумывать и лепить отсебятину - есть точное описание действий, неужели так сложно хотя бы в гугл зайти..?
Бла бла бла...
Ну наоборот:D
Скобки я правильно расставил?!
Рекомендации правильные дал?!
 
Последнее редактирование:

fs256

Местный знаток
Нужно не только без ошибок, но и логику работы не нарушить!


Декомпил тут не причем, не стоит выдумывать.


Эдуард, а на чем ты основываешься? Перед тобой только одна строчка кода и уже ясен весь алгоритм работы?

Хочу заметить, что изначально данный код был написан в "старом" билде и вскрыт декомпилом - в то время он работал как нужно, а теперь, в "новом" билде - ошибка - вот отсюда и нужно плясать. К тому же, парни, а как на счет приоритетов выполнения операций? Может не стоит выдумывать, а ознакомится со справкой, где есть чЁткий ответ на данный вопрос.

Ну и зачем наехал? Tepih не правильно написал - не ошибка, а предупреждение. На счет алгоритма и разговора не было, ежу ясно - код нужен.
Была коротенькая дискуссия - можно/нельзя, и все. А в справке - и так жить приходится :laugh:.
 

Tepih

Местный знаток
Вот советник с этой строкой:
Это была строка 377. Пока советник не торгует.
Извиняюсь, это было предупреждение.
 

Вложения

  • eForwardFractals_v3.mq4
    82 КБ · Просмотры: 19
Последнее редактирование:

alex7474

Новичок форума
Сделал в процентах просадки. При определенной просадке новые ордера открываться не будут. Количество ордеров то же оставил.
На будущее, для этого есть тема доработка советников. Данная тема немного о другом.

Не работает ограничение лотов: сделки по все валютам открыл,и мажа не работает,хотя точно не разобрался,возможно в самый притык открыл лишнию сделку(проглядел).Для меня важней маржа так как собираюсь торговать акциями
 
Последнее редактирование:

alex7474

Новичок форума
Не работает ограничение лотов: сделки по все валютам открыл,и мажа не работает,хотя точно не разобрался,возможно в самый притык открыл лишнию сделку(проглядел).Для меня важней маржа так как собираюсь торговать акциями

Нет, всё таки маржа работает,ещё раз спасибо.
 

Violetta

Новичок форума
Уважаемые программисты, подскажите пожалуйста как написать функцию нахождения последней точки, ArrUp, или ArrDn для советника.
 

Вложения

  • FastZZ_Point.mq4
    3,8 КБ · Просмотры: 22
Верх