
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Автор топика приколист однако....
Удалять таймер нужно, если он был до этого инициализирован в коде....
Автор топика приколист однако....
Удалять таймер нужно, если он был до этого инициализирован в коде....
только при инициализации))) феноменальные вещи у меня вечно происходят в этом мкл5 просто улет)))
Если только при инициализации то таймер у Вас должен уничтожаться раньше (если таймер активен), в процессе выполнения OnDeinit().
Уже наверное больше года активно работаю с таймером, а таких проблем не было.
Хотя я отслеживаю причину инициализации и деинициализации, что позволяет мне выполнять определенные действия только один раз.
Да я тоже в шоке. Кроме того меня удивило, что значения из иницированных буферов никогда не дождаться, сколько слипов не ставь, только пропуском до следующего обращения. Т.е. грубо говоря советник может запросить значение буфера данных и ждать час и не дождаться заполнения, а если пропустить до след тика то буфер будет готов.
AlexSTAL:
Удалять таймер нужно, если он был до этого инициализирован в коде....
Ну да, с учетом этого момента код в блоке деинициализации должен принять примерно такой вид (для надежности)
а ну извините))) я думал, что он мог застрять в терминале . Прописал этот когд в конце инита. Так как есть хендлы на индикаторы с таймерами. Все равно через секунду таймер работает((
а ну извините))) я думал, что он мог застрять в терминале . Прописал этот когд в конце инита. Так как есть хендлы на индикаторы с таймерами. Все равно через секунду таймер работает((
Вы подробно опишите, то что делаете...
Такое ощущение, что Вы не там изменяете таймер и не для того...
Ключевые слова:
Вы подробно опишите, то что делаете...
Такое ощущение, что Вы не там изменяете таймер и не для того...
Ключевые слова:
Только что об этом подумал.
Может ловим события от таймера эксперта в индикаторе (или что-то в этом роде)... :)
Ну да, с учетом этого момента код в блоке дееинстоляции должен принять примерно такой вид (для надежности)
На какие индикаторы, с какими таймерами?Вы подробно опишите, то что делаете...
Такое ощущение, что Вы не там изменяете таймер и не для того...
Ключевые слова:
я этим и руководствовался, вроде индикатор это индикатор а советник это советник, а получается что их по таймерам не развязать.
а ну извините))) я думал, что он мог застрять в терминале . Прописал этот когд в конце инита. Так как есть хендлы на индикаторы с таймерами. Все равно через секунду таймер работает((
Почитайте в справке - в каких случаях вызывается OnInit():
Функция OnInit() является обработчиком события Init. Может иметь тип void или int, параметров не имеет:
void OnInit();
Событие Init генерируется сразу после загрузки эксперта или индикатора, для скриптов это событие не генерируется. Функция OnInit() используется для инициализации. Если OnInit() имеет возвращаемого значения типа int, то ненулевой код возврата означает неудачную инициализацию и генерирует событие Deinit с кодом причины деинициализации REASON_INITFAILED.
Функция OnInit() типа void всегда означает удачную инициализацию.