Новая версия платформы MetaTrader 5 build 5830: общие улучшения - страница 14
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да, это так и есть, но почему с 1?
Спасибо, а с этим https://www.mql5.com/ru/forum/508827/page11#comment_59712837 у нас что?
А что, моё объяснение не катит?
Для индикаторов с краткой формой OnCalculate можно последним опциональным параметром задавать хендл другого индикатора или тип цены, на основе которой считать индикатор (см. _AppliedTo).
Я нашёл, где это написано: здесь https://www.mql5.com/ru/docs/series/indicatorcreate в примечании.
Но это ведь относится к созданию индикатора IndicatorCreate, что есть возможность отправить в IndicatorCreate +1 дополнительный параметр при желании, а в справке IndicatorParameters не сказано, что если в индикаторе используется короткая форма OnCalculate, то IndicatorParameters будет возвращать ещё 1 дополнительный параметр.
И в моём примере последний параметр = 0, а PRICE_CLOSE = 1.Я проверил, что возвращает IndicatorParameters, если в параметрах есть PRICE_CLOSE.
Как видим 1.
Да, это так и есть, но почему с 1?
С любого значения. Читайте документацию
Правило: если именованной константе - члену перечисления явно не присвоено конкретное значение, то ее значение будет сформировано автоматически. Если это первый член перечисления, то будет присвоено значение 0. Для всех последующих членов значения будет вычисляться на основе значения предыдущего члена путем прибавления единицы.
Я проверил, что возвращает IndicatorParameters, если в параметрах есть PRICE_CLOSE.
Как видим 1.
Читайте документацию
При вызове пользовательского индикатора из mql5-программы параметр Applied_Price или хэндл другого индикатора должен передаваться последним после всех предусмотренных пользовательским индикатором входных переменных.
С любого значения. Читайте документацию
Это я знаю. Но я считал, что все встроенные перечисления начинаются с 0, а ENUM_APPLIED_PRICE оказалось начинается с 1.
Например все эти:
Читайте документацию
Так мы про вызов индикатора говорим или про получение IndicatorParameters?
Я про IndicatorParameters говорил: https://www.mql5.com/ru/forum/508827/page13#comment_59722371
Почему IndicatorParameters передаёт +1 параметр последним и почему он равен 0?
И вообще, причём здесь "Новая версия платформы MetaTrader 5 build 5830"?
Так мы про вызов индикатора говорим или про получение IndicatorParameters?
Я про IndicatorParameters говорил: https://www.mql5.com/ru/forum/508827/page13#comment_59722371
Почему IndicatorParameters передаёт +1 параметр последним и почему он равен 0?
Я думал, это баг в IndicatorParameters.Ну так а почему правильное количество параметров - это баг, если последний дополнительный параметр реально может использоваться?
0 - значение для _AppliedTo, когда параметр не был задан (не может быть задан из-за полной формы OnCalculate).
Не знаю, практикуется ли в редакторах подсветка парных макросов #ifdef/#else/#endif, как с фигурными скобками. Если есть возможность, просьба добавить в MetaEditor. Спасибо.
Строка для поиска: Uluchshenie 159.