Кто подскажет как бороться с функцией ChartSetSymbolPeriod? - страница 2

 
SeriousRacoon:

В ренко для МТ4 есть такое:

Сам не разбирался, что к чему, не было нужды.

Вот это отправка чарту событие обновление

(PostMessageW(hwnd, WM_COMMAND, 33324, 0) == 0)

А вот это отправка события новый тик

PostMessageW(hwnd, MT4InternalMsg, 2, 1);

но у ТС проблема похоже в другом.

 
Dmitry Sumsky:

Как я понял, эта функция обрывает расчеты и после нее ничего не выполняется?

Т.е. во время смены символа или ТФ запускается переинициализация - вызывается OnDeInit() и т.д. Так получается?

Так точно. код  закрытия скрипта если посмотрите увидите, он не выполняется полностью скорее всего.

 

Написано на базе советника...

 
Dmitry Sumsky:

Написано на базе советника...

Ну блин. в онинит или где вызывается? по условию или нет? вот это  и называется заниматься телепатией)) 

 

Вызывается через кнопку на панельке через OnChartEvent()

Сначала полностью рассчитывается новый ТФ, записывается в файл истории. А потом уже запускается ChartSetSymbolPeriod. И дальше ждем результат...

 

и обновление пробовали в начало онинита вставлять? после смены периода вновь онинит вызывается. Кстати в онините снова с файлом истории периода манипуляций не делается?

вообщем вы уже поняли в какую сторону копать, много там можно найти возможных причин.

 
Ну попробую на ините опять Redraw включить.
 
Ну да. Перезапускается, но не помогло. Я уже и 3 сек паузы поставил и 5. А оно не хочет обновляться само, хоть тресни...
 

Такое может висеть вечно

И такое может висеть, пока мышкой не нажать на соседний график, а потом на этот...

А само обновлять визуализацию не хочет...

 
Есть конечно некоторая японская методика, когда чего-то не получается. Надо поднять руку кверху и глубоко вдохнуть. Потом резко опустить руку и на выдохе сказать японское слово "хусим". Проблема этим не решается, но на некоторое время становится легче... )))
Причина обращения: