Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Очень давно, когда компьютеры были очень большими и было их очень мало, в Ахтубинске Астраханской области внедрили начисление денежного довольствия (аналог зарплаты) программой, написанной на очень процедурном языке. В один прекрасный день программа начислила начфину -1,5 рублей.
Просто, в то время структурное программирование только создавалось, об объектно-ориентированном программировании и слухов не возникало и все широко использовали оператор GOTO.
В день начисления зарплаты выслуга лет начфина составила ровно 30 лет, а в GOTO было только больше 30 и меньше.
Мораль: 1. Абсолютно все специалисты, плотно знакомые с программированием на процедурных языках, всегда учитывают все непредвиденные факторы, вплоть до падения Тунгусского метеорита на Форт Нокс. Пытаются.
2. Насчет ООП додумайте сами. Не затруднит?
Алексей Тарабанов:
2. Насчет ООП додумайте сами. Не затруднит?
Нет, конечно. Пришлось.. Что бы научится писать индюк в индюке. Проект предстоит достаточно сложный. Что бы не заморачиваться по этому поводу, проще поглядеть как это сделал кто-то. Я стараюсь логику писать, а попутные вопросы, которые уже пройдены давно не лопатить. Как говорится, не зачем изобретать велосипед, когда он уже есть.
Свой вариант я приложил..
Нет, конечно. Пришлось.. Что бы научится писать индюк в индюке. Проект предстоит достаточно сложный. Что бы не заморачиваться по этому поводу, проще поглядеть как это сделал кто-то. Я стараюсь логику писать, а попутные вопросы, которые уже пройдены давно не лопатить. Как говорится, не зачем изобретать велосипед, когда он уже есть.
Свой вариант я приложил..
Ваш вариант сверху. Внизу стандартный.
Не может, т.к. настройка количества баров в окне применяется только после перезагрузки терминала.
В 5ке без перезагрузки - неважно. С каждым новым баром количество баров в окне увеличивается и таки теоретически может быть и уменьшено до заданного.
Сейчас достаточно prev_calculated <= 0. По крайней мере я пишу так и проблем с этим не замечал.
Все просто, горячие эстонские парни: первое условие выделяет диапазон недопустимых значений, а второе - диапазон рабочих значений.
В первом случае пересчитывается все, а во втором - только то, что не было обработано ранее.
согласен)
Ваш вариант сверху. Внизу стандартный.
Единственное, так я изменил в блоке:
Эту строку:
На:
Разницы в вычислении не обнаружено. Я так всегда делаю.
Кто-нибудь может подсказать, почему -1 в оригинале?
В 5ке без перезагрузки - неважно. С каждым новым баром количество баров в окне увеличивается и таки теоретически может быть и уменьшено до заданного.
согласен)
Я и говорю про пятерку. И это важно. Запустите простой индикатор:
Посмотрите, какое значение будет возвращено терминалом. Далее, измените настройку "Макс. баров в окне" сначала на большее значение, чем было, потом на меньшее. И посмотрите, что будет возвращать индикатор. Если хотите запустить сегодня - нажимайте кнопку "Обновить".
Про какое "теоретически" Вы говорите? Приведите конкретный пример, когда количество баров на чарте вдруг уменьшилось.
...........
Я ради интереса переписал МАКД и он стал меньше в раза 2, чем был. Удивляюсь, нафига так раздувать код..
.......
Вверху Ваш, внизу стандартный.
Где именно раздутие?
Вверху Ваш, внизу стандартный.
Где именно раздутие?
Там была какая-то левая кодировка. Изменил на UTF без BOM. Теперь размер уменьшился до 8кб ))
Если пойти дальше.. Можно вынести в библиотеку обе функции, которые я написал и размер станет уже меньше. Но суть не в этом.
Вы же понимаете, что ООП придумано не для того, что бы сэкономить место на написании индикатора в 120 строк, а для крупных проектов, где повторяются какие-то вещи. Так вот, кто привык писать объектно меня поймёт. А кто привык писать процедурно.. тоже может понять))
Тем более, здесь в плане производительности нет разницы никакой т.к. рассчёты те же. Размер больше лишь за счёт пробелов, которые я добавляю между блоками для читабельности кода и за счёт того, что добавлены функции, т.е. названия их и параметры в каждой строки. Опять-таки для удобства. А если захотеть, можно запачковать при надобности серьёзнее. Но в этом нет резона, как я вижу.
Но вот есть один момент. Там таймсерии копируются с буферов машек с 0-го индекса по последний. ВОт тут как-бы косяк. Можно было бы докопировать только то, что не скопировано. Но это мне щяс влом делать т.к. занят я логикой того, что щяс пишу. Поэтому оставлю этот вопрос на когда-нить потом, если понадобится.
В 5ке без перезагрузки - неважно. С каждым новым баром количество баров в окне увеличивается и таки теоретически может быть и уменьшено до заданного.
Чушь полнейшая. Я написал в том индикаторе, что выше приводил принт:
В окне 100000 баров. А в принте 5011 с чего-то вдруг. Почему принтует левое значение.. хз
Суть такова, что в процессе работы индикатора я менял с 100 тыс баров до 5 тыс. баров и принтуется одинаковое значение баров. Посему эту строку можно вычёркидвать т.к. она абсолютно левая и не нужная вообще.
Я имею ввиду:
Чушь полнейшая. Я написал в том индикаторе, что выше приводил принт:
В окне 100000 баров. А в принте 5011 с чего-то вдруг. Почему принтует левое значение.. хз
Суть такова, что в процессе работы индикатора я менял с 100 тыс баров до 5 тыс. баров и принтуется одинаковое значение баров. Посему эту строку можно вычёркидвать т.к. она абсолютно левая и не нужная вообще.
Я имею ввиду:
Кроме rates_total, prev_calculated есть ещё величины, которые стоит отслеживать, если есть непонимание процесса: количество баров на графике, название символа и таймфрейм.