[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 92
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я просто сказал о правиле парсинга, принятом в современных языках, если фигурных скобок нет.
я как то попался на таком без скобок, но разбираться подробно не стал.
Да проверить несложно. Итак, имеем конструкцию (это только МТ4):
Код для проверки:
Результат:
2012.04.24 18:17:12 test_if EURUSD,H4: 4. cond1 && !cond2
Анализируем. Если бы else в первой конструкции без скобок относился к if ( cond1 ), то было бы распечатано
2. cond1 && !cond2
(cond1 не выполняется - переходим сразу к else).
Но оно не распечатано. Это объяснимо только одной гипотезой: else относится к if ( cond2 ).
Ну а во второй конструкции все ясно, и результат другой. В принципе можно было бы и без нее обойтись для получения вывода.
P.S. Вообще говоря, это известное правило парсинга. Просто опытным кодерам оно не особо интересно, т.к. они все равно предпринимают параноидальные меры предосторожности :) Поэтому они часто его не знают.
Не думаю, что в МТ5 оно будет другим, - несмотря на изменившиеся правила оценки булевых выражений.
Помогите разобраться чтото торможу.
Имеется двумерная таблица
1 2 1
0 1 2
0 1 1
И каждому состоянию этой таблцы может соотвествовать несколько значений. Я правильно понимаю что надо организовывать 3х мерный масиив для того чтобы это реализовать?
И как (можно ли) назначить 3 ему измерению размер отличный от размера при объявлении массива (в процессе расчетов)?
1 2 1
0 1 2
0 1 1
1. И каждому состоянию этой таблцы может соотвествовать несколько значений. Я правильно понимаю что надо организовывать 3х мерный масиив для того чтобы это реализовать?
2. И как (можно ли) назначить 3 ему измерению размер отличный от размера при объявлении массива (в процессе расчетов)?
1. Ну да. arr[ номер_строки_таблицы ][ номер_столбца_таблицы ][ номер_значения для (строка, столбец) ]
2. Нет, нельзя. Объявляйте 3-е измерение сразу побольше.
P.S. Это еще что. У меня даже 4-мерные массивы используются в расчетах.
подскажите как адекватно реализовать такую задачу...
необходимо проверять по истечении суток (после фиксации) - была ли получена прибыль после последней зафиксированной прибыли, проверять пока не вернется true.
это или через файлы запись/чтение или через историю делать нужно.. но в функциях работы с историей ничего не нашел.. ((
подскажите как адекватно реализовать такую задачу...
необходимо проверять по истечении суток (после фиксации) - была ли получена прибыль после последней зафиксированной прибыли, проверять пока не вернется true.
это или через файлы запись/чтение или через историю делать нужно.. но в функциях работы с историей ничего не нашел.. ((
Смотреть и долго думать https://www.mql5.com/ru/forum/131859 к примеру https://www.mql5.com/ru/forum/131859/page4#434231
А заодно пояснить что значит "была прибыль после прибыли". Получена это зафиксирована?
Помогите пожалуйста с таким вопросом-известен индекс бара на таймфрейме D1. По нему можем узнать максимальную цену в этот день. Как узнать индекс бара на таймфрейме M15, который соответствует максимальной цене за этот день. Пробовал через iHighest(), но там нужно задавать количество элементов для поиска, а оно будет разным в обычный день или выходной или предпраздничный день. Может быть не нужно изобретать велосипед и для этого есть готовая функция?
готовой нет.
чтоб узнать число ордеров нужно найти разность двух функций iBarShift, подставив время начала дня и время его окончания(то есть +23:59)
Это и будет числом баров для требуемого промежутка.