Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
все работает без тормозов
работало все без тормозов, пока ошибку не нашел ))
пересчитывает весь массив 300 элементов, хоть и не на каждом тике, а баре, но все равно получается медленно,
при работе с обычным индикатором пересчитывается только новые значения, по этому скорость в 300 раз быстрее
пытался сделать также, но в массивах надо еще сдвигать значения и вставлять вконец/начало новые значения
Есть-ли решение в MQL4 для этого случая? вроде-бы типичная ситуация
работало все без тормозов, пока ошибку не нашел ))
пересчитывает весь массив 300 элементов, хоть и не на каждом тике, а баре, но все равно получается медленно,
при работе с обычным индикатором пересчитывается только новые значения, по этому скорость в 300 раз быстрее
пытался сделать также, но в массивах надо еще сдвигать значения и вставлять вконец/начало новые значения
Есть-ли решение в MQL4 для этого случая? вроде-бы типичная ситуация
Одно из решений.
Самое очевидное - использовать закольцованный массив. Индекс i-го элемента в закольцованном массиве определяется формулой
ni = MathMod( i + nShift, 300)
При первоначальном заполнении nShift = 0, При поступлении каждого нового бара nShift уменьшается на единицу:
nShift --; if (nShift < 0) nShift +=300;
Т.е., мы не двигаем элементы массива, а двигаем ссылку.
Одно из решений.
Самое очевидное - использовать закольцованный массив. Индекс i-го элемента в закольцованном массиве определяется формулой
ni = MathMod( i + nShift, 300)
При первоначальном заполнении nShift = 0, При поступлении каждого нового бара nShift уменьшается на единицу:
nShift --; if (nShift < 0) nShift +=300;
Т.е., мы не двигаем элементы массива, а двигаем ссылку.
спасибо, только я не совсем понял причем тут остаток от деления MathMod. Может просто при вычислении запоминать индекс "первого" элемента с которого все искать
А может сделать обратную индексацию
работало все без тормозов, пока ошибку не нашел ))
пересчитывает весь массив 300 элементов, хоть и не на каждом тике, а баре, но все равно получается медленно,
при работе с обычным индикатором пересчитывается только новые значения, по этому скорость в 300 раз быстрее
пытался сделать также, но в массивах надо еще сдвигать значения и вставлять вконец/начало новые значения
Есть-ли решение в MQL4 для этого случая? вроде-бы типичная ситуация
ну так считай только последние.