Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Звучит так, что если на оффлайновый график накинуть индикатор- то индикатор не будет рассчитываться.
один раз - посчитается, после инита. но до следующего тика - никаких расчетов. кто вызывает start в индикаторе? ;) тик! а если нет конекта - нет тика - нет....
Да, в контексте темы- только один раз. И все. Ваша правда.
.
Но вариант есть.
Индикаторам запрещаем считаться раньше, чем через 10 секунд после запуска.
.
Запускаем терминал через другое, специальное приложение.
(запускаем его- а оно запускает терминал).
Оно ждет, когда терминал загрузится- скажем, 10 секунд- или сколько скажут.
А потом- в каждое окошко присылает команду посчитать индикаторы- и выходит.
Заготовка под такую тему у меня есть.
.
Можно еще один вариант - индикатор в ините подгружает DLL с этой же функцией.
DLL ждет 10 секунд и потом присылает тик.
makskeep:
ПоделИтесь, товарищи, более элегантным решением проблемы?
Перебросить код индюка в эксперт и тогда проблема тормозов индюка окончательно отпадет.
Это произойдет обязательно, но значительно позже, когда отпадет необходимость в дополнительной информации ненулевого окна. В данный момент необходимо чтоб именно индикатор не тормозил запуск
кто вызывает start в индикаторе? ;) тик! а если нет конекта - нет тика - нет....
Немного оффтоп, но я эмулирую "бесконечным" скриптом кнопку "обновить", т.о. start вызывается около десяти раз в секунду если свободен
Вообще, зачем мне это нужно. Мой индикатор, в зависимости от вводных параметров, обсчитывается в оччень длинном цикле (минут от <1 до х.з. десяти), при этом выдает разнообразную информацию, в том числе и динамическую, и красивости типа красно-зеленой полосы прогресса. Чтобы в длинном цикле терминал не висел и индюк мог выдавать промежуточные и прочие результаты в разных видах, используется инклюдя с длл-кой от сюда- https://www.mql5.com/ru/code/8829
Понятно, что при запуске терминала, особенно если только что правил код индикатора, совсем не ясно, обсчитывается ли он и можно сходить покурить, или висит и его надо убить. К тому же иногда требуется видеть сам процесс расчетов...
Спасибо всем откликнувшимся- каждый из предложенных способов так или иначе применим и более или менее эффективен
makskeep:
Вот, каким макаром из индикатора узнать, что терминал весь нарисовался...
Наверняка есть какой-н. секрет, способ, недокументированная особенность... Может в F1- Операции с графиками покопаться?
Это произойдет обязательно, но значительно позже, когда отпадет необходимость в дополнительной информации ненулевого окна. В данный момент необходимо чтоб именно индикатор не тормозил запуск
Может не стоит зря огород городить шоб потом всё и так переделывать? Обычно выгодней один раз написать хорошо чем десять раз криворуко, тем более если кривой код начинает делать проблемы.
А шо за проблема с ненулевым окном - если вся инфа будет в експерте то и лазить по окнам уже не надо будет.
Немного оффтоп, но я эмулирую "бесконечным" скриптом кнопку "обновить", т.о. start вызывается около десяти раз в секунду если свободен
Вообще, зачем мне это нужно. Мой индикатор, в зависимости от вводных параметров, обсчитывается в оччень длинном цикле (минут от <1 до х.з. десяти), при этом выдает разнообразную информацию, в том числе и динамическую, и красивости типа красно-зеленой полосы прогресса.....
Наверняка есть какой-н. секрет, способ, недокументированная особенность...
В этом случае- проще подвесить стороннюю программу, которая будет посылать обновление на окошки.
Потому что скрипт слетает при переключении таймфреймов.
К сожалению, у обновления окошек есть маленький нюанс- трафик вырастает во много раз.
Господа-товарищи, попробую резюмировать что же собственно у нас тут наобсуждалось. Имеется индикатор, от старта до финиша итераций по самое немогу, выполняющийся ВНЕ интерфейсного потока терминала(т.е. терминал по определению не висит при выполнении этого инд.)
Требуется решение для запрета вычислений при первом запуске, чтобы terminal.exe запускался штатно а не по несколько минут.
Первоначальное решение есть в первом топике. Его недостаток- запустить индикатор вручную- нажать кнопку обновить, либо запустить соответствующий скрипт.
Предпологается что предложенные, иные варианты, будут без недостатков
Итого;
Вчера столкнулся с такой проблемой со своим индикатором... Для себя решил следующим способом:
Т.е. при старте терминала по определению не может быть связи, а если индикатор устанавливается на запущенном терминале, то как правило связь бывает... Делается пауза для подкачки истории.