Появился новый глюк. Создаёшь скрипт, компилируешь. Кидаешь на график и отслеживаешь действия в журнале. Там смотрим сообщение о том, что скрипт initialize, затем скрипт remove. Но работу свою не выполнил. Тут же кидаешь его повторно и видишь, что работу он наконец-то соизволил сделать.
Чтоб не думать, что у меня в скрипте цикл while повесился, я создал скрипт без циклов. Скрипт, который просто создаёт 2 горизонтальные линии на графике цены. Компиляция - Бросок и... и ни чего не создано. Снова бросок и линии встали. Меняешь при шоу инпутс в настройках скрипта какой-то параметр, кидаешь на график и скрипт опять ни чего не сделал, но с графика выгузился. Снова кидаешь на график с тем же изменённым параметром (изменённым опять до той же самой величины) и, о чудо (!) скрипт сработал!
Почему некоторые скрипты стали срабатывать только со второго раза, да и то не всегда?
ChartRedraw в конец скрипта добавьте для эксперимента.
Изначально скрипт шёл по графику и собирал статистику свеч. Результат должен был выводить Алертом. Да, был цикл While. Я его убрал. На работе скрипта не отразилось ни как - Всё равно алерты не с первого раза выскакивают. По поводу Чарт редро. После нанесения линий на график скрипт должен был сообщить принтом о завершении работы. Он этого не сделал. Чарт редро не повлияет.
Я делал группу скриптов не для себя. Заказчик ответил, что высланные с крипты не работают. Когда я рассказал ему о сбое в терминале и попросил кинуть на график ещё раз-другой, он с удивлением сказал, что всё работает.
Изначально скрипт шёл по графику и собирал статистику свеч. Результат должен был выводить Алертом. Да, был цикл While. Я его убрал. На работе скрипта не отразилось ни как - Всё равно алерты не с первого раза выскакивают. По поводу Чарт редро. После нанесения линий на график скрипт должен был сообщить принтом о завершении работы. Он этого не сделал. Чарт редро не повлияет.
Я делал группу скриптов не для себя. Заказчик ответил, что высланные с крипты не работают. Когда я рассказал ему о сбое в терминале и попросил кинуть на график ещё раз-другой, он с удивлением сказал, что всё работает.
Попробуйте переименовать OnInit(), например в MyOnInit().
И запустить однократно из OnCalculate().
Почему-то со старыми проверенными индикаторами происходит нечто подобное. На график кидаешь, индикатор на графике есть, а ни чего не отрисовывает. Отсоединяешь, кидаешь заново - рисует. И это те, которые в предыдущих билдах работали безупречно. Коды не менял - просто обновил терминал. Иногда по нескольку раз переприсоединять приходится.
Ребят, да неужели у вас всё иначе? У меня в компе терминалы, скачанные у разных брокеров. У всех без исключения после обновления до последнего билда один и тот же глюк: при броске на график любого из пользовательских индикаторов, запускается в работу он не всегда с первого раза. (Да и со скриптами та же беда) Нахрена пляски с бубном (лишние ChartRedraw), если в предыдущих билдах (во ВСЕХ!) это работало без плясок? Элементарный индикатор, который заполняет индикаторный буфер результатами простой математики и который всегда без проблем рисовался, сейчас стал рисоваться не с первого раза. И, ОБРАТИТЕ ВНИМАНИЕ(!) речь не идёт о создании объектов, которые реально требуют перерисовки. Речь только о значениях в индикаторном буфере, к которому ни когда мы не применяли чарт редро! Думаете это нормальное поведение терминала?
P.S.
Если я добавлю в код чарт редро туда, где он ни когда не применялся (нужды не было) и это реально сработает, то это очередной костыль. Тогда придётся править коды всех своих индикаторов. Ладно я могу исправить. А как быть тем, кто не кодит и при этом индюка купил? Вы в название форума-то посмотрите. "Форум ТРЕЙДЕРОВ...." Понимаете, ТРЕЙДЕРОВ! Он должен по умолчанию быть ориентирован не на программистов! Любой форум - это всегда обсуждение каких-то вопросов и поиск решения совместными усилиями. Цель - облегчение жизни, а не создание очередной сложности.
Подход метаквотесов похож на подход Билла Гейтса. Отдаётся в продажу (в пользование) недоотлаженный продукт с обещанием будущих улучшений. А далее улучшения + новые недоразумения, которые создадут базис для будущий улучшений и так цикл. А за это время доим, доим и доим пользователя. Заказчику мы бы так советника делали, мол, вот на тебе пока вот эту версию, она кое-как работает (ну в целом), а там ещё будешь доплачивать, а мы будем улучшать и устранять.
"Я не люблю манежи и арены
На них мильён меняют по рублю
Пусть впереди большие перемены
Я это ни когда не полюблю"
В.С. Высоцкий.
С МТ5 и MQL5 та же история: длительный-длительный дебаг. Вот почему я не хотел изначально переходить на MQL5 - в старом MQL4 уже понятны недостатки и написаны костыли. Новый язык и опять ночи на пролёт придётся новые костыли выдумывать. Кому это понравится?.. Время жизни-то не пополнишь.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Появился новый глюк. Создаёшь скрипт, компилируешь. Кидаешь на график и отслеживаешь действия в журнале. Там смотрим сообщение о том, что скрипт initialize, затем скрипт remove. Но работу свою не выполнил. Тут же кидаешь его повторно и видишь, что работу он наконец-то соизволил сделать.
Чтоб не думать, что у меня в скрипте цикл while повесился, я создал скрипт без циклов. Скрипт, который просто создаёт 2 горизонтальные линии на графике цены. Компиляция - Бросок и... и ни чего не создано. Снова бросок и линии встали. Меняешь при шоу инпутс в настройках скрипта какой-то параметр, кидаешь на график и скрипт опять ни чего не сделал, но с графика выгузился. Снова кидаешь на график с тем же изменённым параметром (изменённым опять до той же самой величины) и, о чудо (!) скрипт сработал!
Почему некоторые скрипты стали срабатывать только со второго раза, да и то не всегда?