Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Экие вы тормознутые :) Фалс не фалс, а все работает. Не туда смотрите. :)))) Есть правильная функция.
Кручу, верчу, понять хочу, почему ArrayIsSeries(High) всегда false
В справке для этой функции сказано (https://www.mql5.com/ru/docs/array/arrayisseries)
Возвращаемое значение
Возвращается true, если проверяемый массив является массивом-таймсерией, иначе возвращается false. Массивы, передаваемые в качестве параметра функции OnCalculate(), необходимо проверять на порядок доступа к элементам массива функцией ArrayGetAsSeries().
Объявленный Вами массив не является таймсерией и не может ею стать не при каких обстоятельствах. Таймсерии - это предопределенные системой исполнения массивы, например, в функции OnCalculate():
В справке для этой функции сказано (https://www.mql5.com/ru/docs/array/arrayisseries)
Объявленный Вами массив не является таймсерией и не может ею стать не при каких обстоятельствах. Таймсерии - это предопределенные системой исполнения массивы, например, в функции OnCalculate():
ArrayGetAsSeries не работает как нужно.
Таймсерии - это предопределенные системой исполнения массивы, например, в функции OnCalculate():
А как же быть с этим, написано в справке:
Примечание
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
А как же быть с этим, написано в справке:
Запустите такой индикатор, и все увидите сами:
Функция ArrayGetAsSeries меняет только направление индексации, но не превращает массив в таймсерию. Что Вы пытаетесь получить с помощью этой функции?
Эта функция проверяет направление, а не меняет.
1) Без инициализации
2) С инициализацией
3) Вышеописанный код, только с функцией получения направления индексации массива ArrayGetAsSeries
В сервис-деске я ошибся с именем функции простоЗапустите такой индикатор, и все увидите сами:
Это понятно. И мой вопрос был не из-за ошибок, всё работает как и написано в справке:
Примечание
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
Вопрос возник из-за несоответствия выделенного в справке цветом и жирным шрифтом с тем, что сказали Вы:
Rosh:
Таймсерии - это предопределенные системой исполнения массивы, например, в функции OnCalculate():
Поэтому я в OnCalculate() делаю так:
В справке для этой функции сказано (https://www.mql5.com/ru/docs/array/arrayisseries)
Объявленный Вами массив не является таймсерией и не может ею стать не при каких обстоятельствах. Таймсерии - это предопределенные системой исполнения массивы, например, в функции OnCalculate():
В индикаторе проверка тоже не работает.
А еще, чего то перестало работать prev_calculated, постоянно 0 :
Да я думаю с этими функциями они сами уже разберутся.
Но вот в качестве пожелания, что бы не забылось - в редакторе при подсказке после набора трех или сколько там символов, при нажатии вверх стоя на первой строчке списка список не убирается. Просто привычно так уже как в студии, думаю что многих будет "раздражать" если не сделать так же как в студии. ИМХО.