Напр. так
в цикле if(A[j]==EMPTY_VALUE) S[j]=S[j+1]+B[j]; if(B[j]==EMPTY_VALUE) S[j]=S[j+1]+A[j];
Получаешь сумму в скользящем окне, а дальше делай с ней, что хошь -- дели, умножай, извлекай ;)))
Не даёт покоя, на первый взгляд, простая задача. Как найти среднее значение из двух буферов за период скажем 5 в цикле?
Имеем Буфер1 и Буфер2. Когда один буфер рисуются, то противоположный имеют значение EMPTY_VALUE.
Есть ли короткое решение с минимальными затратами на ресурсы?
Может у кого есть оригинальные идеи?
Так как EMPTY_VALUE это число и не маленькое число :), то используйте вместо EMPTY_VALUE значение "0.0". В таком случае при суммировании значений "0.0" не повлияет на среднее.
Так как EMPTY_VALUE это число и не маленькое число :), то используйте вместо EMPTY_VALUE значение "0.0". В таком случае при суммировании значений "0.0" не повлияет на среднее.
NULL в этом случае тоже подойдет?
не могу никак сообразить почему EMPTY_VALUE возвращает максимальное число? для чего? (уже дошло, любое другое может быть значением индикатора)
кстати DBL_MAX жмем F1 и попадаем в справке на TranslateKey
NULL в этом случае тоже подойдет?
Если судить по документации
Константа | Описание | Значение |
CHARTS_MAX | Максимально возможное количество одновременно открытых графиков в терминале | 100 |
clrNONE | Отсутствие цвета | -1 |
EMPTY_VALUE | Пустое значение в индикаторном буфере | DBL_MAX |
INVALID_HANDLE | Некорректный хэндл | -1 |
IS_DEBUG_MODE | Признак работы mq5-программы в режиме отладки | в режиме отладки не равно нулю, в противном случае 0 |
IS_PROFILE_MODE | Признак работы mq5-программы в режиме профилирования | в режиме профилирования не равно нулю, в противном случае 0 |
NULL | Ноль любого типа | 0 |
WHOLE_ARRAY | Означает количество элементов, оставшееся до конца массива, то есть, будет обработан весь массив | -1 |
WRONG_VALUE | Константа может неявно приводиться к типу любого перечисления. | -1 |
то подойдёт.
Но я в индикаторах принудительно использую или EMPTY_VALUE или "0.0". От "NULL" отказался вообще и в индикаторах и в советниках (то есть во всех функциях, где можно символ задать как "NULL" я прописываю название символа явно).
Когда имеешь дело с двумя индикаторами то EMPTY_VALUE и 0 могут иметь разное значение.
у цветного буфера 0 рабочее значение
Когда имеешь дело с двумя индикаторами то EMPTY_VALUE и 0 могут иметь разное значение.
Это и так два разных числа.
EMPTY_VALUE -> DBL_MAX -> 1.7976931348623158e+308
А ноль он и в Африке ноль.
у цветного буфера 0 рабочее значение
Да рабочее. Может быть положительным, отрицательным и 0 тоже. Исправил на буфера. Недосыпание))
Это и так два разных числа.
EMPTY_VALUE -> DBL_MAX -> 1.7976931348623158e+308
А ноль он и в Африке ноль.
Правильно. Поэтому 0 не подходит.
Кто может подсказать как проще найти ровную прямую у индикатора в течение 1-3 дня на H1 к примеру найти уровень индикатора когда он не менялся к примеру 5 баров?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Не даёт покоя, на первый взгляд, простая задача. Как найти среднее значение из двух буферов за период скажем 5 в цикле?
Имеем Буфер1 и Буфер2. Когда один буфер рисуются, то противоположный имеют значение EMPTY_VALUE.
Есть ли короткое решение с минимальными затратами на ресурсы?
Может у кого есть оригинальные идеи?