Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Приведенный выше индикатор, неэкономичен ? он неправильно написан ? где там раз за разом пересчитываються бары ?
Если я правильно понимаю там 0 бар вообше не считаеться.
Rosh если вас не затруднит как бы вы написали индикатор (который приведен мною последним, вычитание машек).
Этот индикатор, его логику построения брал из учебника SK https://book.mql4.com/ru/samples/icustom просто вставил в те места где нужно свои расчеты, а оказывается, так нельзя ((
P/S/ Я уже несколько раз изучал, ваши уроки. Но видно способ мышления никак не могу переделать, никак я не могу с индикаторами подружиться
Я вот еще раз посмотрел на код, и написал как я это вижу на картинке.
Я вот еще раз посмотрел на код, и написал как я это вижу на картинке.
Что-то я прикинул, ниасиливаеццо...
Можно поподробней как цикл заменить на буферы?
Разве что iMaOnArray. Но честно говоря экономии времени не вижу, хоть убей.
откуда каждый тик ?
если бы было >=. то да согласен, у меня там еще защита стоит, посмотрите пост, я его подправил, к сожалению не успел поправить как вы ответили. Извините если отвлекаю.откуда каждый тик ?
если бы было >=. то да согласен, у меня там еще защита стоит, посмотрите пост, я его подправил, к сожалению не успел поправить как вы ответили. Извините если отвлекаю.Это легко проверить, добавим только одну строчку в код
и запустим индикатор на фунтоЙене.
Это легко проверить, добавим только одну строчку в код
и запустим индикатор на фунтоЙене.
Это можно и не проверять, если документацию прочитать :)
-
Замечание: самый последний бар не считается посчитанным, и в большинстве случаев необходимо пересчитывать только его. Однако бывают пограничные случаи, когда вызов пользовательского индикатора производится из эксперта на первом тике нового бара. Возможна ситуация, что последний тик предыдущего бара не обработан (по той причине, что в момент прихода этого последнего тика обрабатывался предпоследний тик), и пользовательский индикатор не был вызван и поэтому не был рассчитан. Чтобы избежать в такой ситуации ошибок расчета индикатора, функция IndicatorCounted() возвращает реально посчитанное количество баров минус один.
-
Из замечания следует, что максимальное значение, возвращаемое функцией IndicatorCounted() -- Bars-1-1, т.е Bars-2 (т.к. нулевой бар на каждом новом тике не посчитан)
Я что должен не верить своим глазам ? Вот рисунок
Добавил в код рекомендуемые строчки. Вот код. Индикатор прилагаю.
Я что должен не верить своим глазам ? Вот рисунок
Добавил в код рекомендуемые строчки. Вот код. Индикатор прилагаю.
Хорошо, завтра посмотрю. Может я привел в своем посте один код, а запустил совсем другой. Я его комментировал, когда делал первый рисунок, мог так и запустить для второго рисунка.
Rosh, а на мой пост среагируете?
Всё таки, начало данных, номер...
Начало данных справа. Это логично воспринимается, потому, как бары начинаются с нуля.
Из этого текста можно понять, что указав номер бара (он не изменен на графике и всегда находится в одном месте) можно расчитывать на отрисовку именно с него.
Думаю, в документации уже ничего не будет меняться. Если даже это описание не кажется ясным сразу, то после некоторого опыта написания индикаторов приходишь к тому, что часто действительно необходимо скрыть начальные рассчитанные значения индикатора до того момента, как индикатор выйдет в "рабочий" режим. Тогда понимание этой функции сразу становится однозначным.