Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1897
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Зачем Вы сначала записываете данные а затем их сдвигаете?
Это не соответствует действительному тиковому графику!
Вот так будет правильно.
Опять-же, внутри ArrayCopy() есть цикл, и возможно не один. Так что код от замены вряд-ли станет легче и быстрее
Я уже не раз говорил выше: без цикла никак не обойтись!
Зачем Вы сначала записываете данные а затем их сдвигаете?
Это не соответствует действительному тиковому графику!
Вот так будет правильно.
кашерней конечно, но одинаково.)
Да, и короткий цикл до 1000 итераций с парой сравнений присвоений легок. поэтому не должен пугать.
Фрактал образовывается если нет нового экстремума и через три бара те 0, 1, 2.
Ничего не изменилось.
Или что то опять не правильно
кашерней конечно, но одинаково.)
Не одинаково. Если мы сначала записали тик, а затем сдвинули массив, то он оказывается сдвинутым на 1 бар влево, вместе с остальными тиками, которые мы сдвинули. Но если сначала сдвинуть массив, а затем записать значение тика по нулевому индексу, то, мы, сначала, освобождаем место для тика, а затем записываем его туда. И, в результате, он никуда не смещен.
Я уже не раз говорил выше: без цикла никак не обойтись!
Вроде получаю правильно
Попробовал сменитить местами заполнение, получаю ошибку
Попробовал сменитить местами заполнение, получаю ошибку
Странно, почему так?... Вроде всё должно работать, только тики будут находиться на своих местах, а не сдвинуты в лево.
P.S. Дополнительный массив всё же нужно было добавить (как я говорил вначале). Иначе, при появлении нового бара все тики будут автоматически сдвигаться влево, поскольку, это индикаторные буферы! Или отслеживать момент появления нового бара и сдвигать буферы, но уже вправо.Не одинаково. Если мы сначала записали тик, а затем сдвинули массив, то он оказывается сдвинутым на 1 бар влево, вместе с остальными тиками, которые мы сдвинули. Но если сначала сдвинуть массив, а затем записать значение тика по нулевому индексу, то, мы, сначала, освобождаем место для тика, а затем записываем его туда. И, в результате, он никуда не смещен.
Да, в моем случае начинать надо с первого, а не нулевого.) верное замечание.
ЗЫ, хотя да. сперва наддо смещать, а потом присваивать нулевой. без разницы в какую сторону.
ЗЫЗЫ перезаписывая значение нулевого до сдвига, мы теряем значение нулевого индекса.
А если не двигать массив, а использовать его как кольцевой буфер, запоминая текущее место первого элемента?
Что такое кольцевой буфер в мкл