Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Смысл?
Во всём есть свой скрытый смысл.:)))
Ну да, ну да.
Чем то это кого-то напоминает. Ну любят они над собой по извращаться. Хотя дело хозяйское. И пристрастия у каждого свои.
Смысл?
Смысл?
Хотя бы потому, что такова примерно реализация и теже встроенных буферов терминала. По-другому не как не реализуется этот момент, кроме как освобождения последнего элемента таймсерии и добавления нового - пустого.
Если поймёшь разницу между установкой значения пустой величины и инициализацией массива каким либо значением, может поймёшь свою ошибку.
Алексей, как Вы представляете себе установить пустую величину элементу таймсерии, которого нет ? Про это начался разговор в начале ветки, и Вы сказали, что это абсурд. Ну примерно так.. Я согласился.
Если данных нет, то как можно задать им умолчательное значение?
Вот расчёты для твоего случая. Значение double занимает 8 байт. 1024 баров графика и соответственно количества ячеек буфера индикатора будут занимать всего 8 килобайт.
А какой такой глубокий смысл в изменении типа значений индикаторного буфера? Хочешь загнать туда шестнадцатиричное представление числа? Или цвета?
Хочешь иметь несколько последних значений ЗЗ заведи пользовательский массив и работай с ним.
Нынче с памятью дефицита нет. Поэтому упор делается на удобство писанины (читания кода) и качество кода. Кстати, я ж не гонюсь за изменением типа индикаторного буфера. Интересно другое. Чтоб буфер имел все данные, необходимые для получения информации от индикатора. Если буферов несколько, то это причиняет неудобство. Но, опять-таки, кому-то это и не важно. Я ж не кого не заставляю.
Это тоже самое, что использовать IndicatorCounted(), который я у себя тоже убрал. А убрал потому, что хз какая там реализация. На выходе просчитаны все бары истории, и принтануть что там творится не возможно. Я реализовал этот момент иначе, и, теперь у меня просчитывается лишь столько баров, сколько мне нужно. Хоть милиард баров будет в терминале, просчитается лишь столько, сколько нужно. Я подчёркиваю.. везде главное удобство.
Хотел посоветоватся как это все реализуется, и, возможно услышать другую точку зрения, а уже какую страницу наблюдаю вопросы типа Зачем? А это не нужно, Смысл? и.. всякое другое. Наверное, не стоило и начинать это обсуждение, если вариантов никто не прикидывает других.
Алексей, как Вы представляете себе установить пустую величину элементу таймсерии, которого нет ? Про это начался разговор в начале ветки, и Вы сказали, что это абсурд. Ну примерно так.. Я согласился.
Если данных нет, то как можно задать им умолчательное значение?
Ещё раз пытаюсь объяснить.
В начале ты не уточнял или я не понял что разговор об индикаторном буфере, искать не буду, но помнится что ты говорил о массиве а не о буфере. Про пользовательский массив я повторю ещё раз, если размер не задан, то и инициализировать его каким либо значением нельзя...
Буфер индикатора не простой массив. И не инициализируется он, а устанавливается свойство, что если в буфере встретится указанное значение, то его не отображать ни в окне данных, ни графически линией, гистограммой, стрелкой или-же любой другой меткой.
И ещё раз повторяю "Если поймёшь разницу между установкой значения пустой величины и инициализацией массива каким либо значением, может поймёшь свою ошибку. "
Ещё раз пытаюсь объяснить.
В начале ты не уточнял или я не понял что разговор об индикаторном буфере, искать не буду, но помнится что ты говорил о массиве а не о буфере. Про пользовательский массив я повторю ещё раз, если размер не задан, то и инициализировать его каким либо значением нельзя...
По логике то и так понятно, что если я заменяю буфер, то, разумеется буфером. По ходу, я об этом и писал. Алексей, даже ветка называется "о пользовательских буферах" ))
Касательно не возможности инициализации массива с неопределённой, а точнее не заданной длинны я согласен, в принципе.
Буфер индикатора не простой массив. И не инициализируется он, а устанавливается свойство, что если в буфере встретится указанное значение, то его не отображать ни в окне данных, ни графически линией, гистограммой, стрелкой или-же любой другой меткой.
Алексей, я прекрасно понимаю, что значит свойство объекта. Не первый день пишу ). Но так же у меня есть некоторый опыт того, что гораздо эффективнее писать код, когда ты его понимаешь целиком и целиком же можешь контролировать. И, именно, по этой причине я периодически пишу собственные варианты даже стандартных реализаций. Кстати, о свойствах.. как ни крути, это та же инициализация пустым значением.Смотри сам: Пробегаем по длинные массива буфера, и присваиваем умолчательное значение EMPTY_VALUE каждому элементу таймсерии. Вот и будет каждый элемент таймсерии по всей протяжённости буфера иметь пустое значение, если его не изменить в процессе расчёта индикаторных данных.
И ещё раз повторяю "Если поймёшь разницу между установкой значения пустой величины иинициализацией массива каким либо значением, может поймёшь свою ошибку. "
Да я образно сказал про инициализацию значением. В данном случае, повторю, имею ввиду инициализацию пустотой т.е. пустым значением (EMPTY_VALUE).
ВСЁ!!! Я больше не могу. Если ты не пытаешься понять то заставить тебя никто не сможет.
Вот такой код мог-бы и сам написать и понаблюдать что происходит
Запусти, посмотри что показывает, потом поменяй число 5 в строке
на любое от 0 до 4 и посмотри что покажет индикатор.
Постарайся понять что в этом случае происходит не инициализация массива, а (не знаю можно-ли так выразится) подмена указанного значения на EMPTY_VALUE только в том случае когда в массив суют это указанное значение.
Постарайся понять что в этом случае происходит не инициализация массива, а (не знаю можно-ли так выразится) подмена указанного значения на EMPTY_VALUE только в том случае когда в массив суют это указанное значение.
Уже понял.