Ошибка работы функции ChartSaveTemplate() - страница 4

 
fxsaber:

Похоже, ошибаетесь. Сам пришел к выводу, что влияет.

Иначе CHART_BRING_TO_TOP не сработает сразу.

Да, Вы правы, я поспешил с выводами

 
Vladimir Pastushak:

Подобный механизм как в коде даст больше возможностей для скрининга акций и других фин инструментов.

Поможет ли Sleep(...) между применениями шаблона? Что может помочь что бы код представленный выше работал корректно?

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

Программа сохраняет шаблоны и для нового инструмента загружает свой шаблон. Вот тут и происходит БАГ.  

С EURUSD трейдер переходит на GBPUSD и не получает свой шаблон сделанный ранее, у него остается предыдущая разметка трендов.

Буду благодарен за любую помощь...

После смены символа добавьте ожидание завершения (цикл while в коде ниже)

         if(!ChartSetSymbolPeriod(window[c].id, symb[i], ChartPeriod(window[c].id)))
            Print("ChartSetSymbolPeriod ", GetLastError());
            
         while(ChartSymbol(window[c].id)!=symb[i])
            Sleep(10);


При смене символа чарта, остановка индикатора вызывает обработку асинхронных команд чарта, что приводит к конфликту в работе шаблонов.

 
Ilyas:

После смены символа добавьте ожидание завершения (цикл while в коде ниже)

При смене символа чарта, остановка индикатора вызывает обработку асинхронных команд чарта, что приводит к конфликту в работе шаблонов.

Огромнейшее Вам спасибо!