Существует ли программный способ переключения ТФ?

 
Неважно как, пусть с помощью WinAPI. Вообще говоря, нужно это для генерации искусственного тика в выходные. Не всегда индюкатор удается свести к скрипту :)

Кстати, вызов из меню Refresh делает то же самое... Но программной возможности сделать это нет.
 
Что-то типа вот такого приёма для обновления автономных графиков не подойдёт?
При таком методе индикаторы, прикреплённые к автономным графикам, без проблем запускаются даже когда нет никакой торговли. А что если такой же приём применить и к обычному графику в выходные дни? Сам не проверял - просто высказал своё предположение.

    //---- находим окно, в которое будем "отправлять" свежие котировки
            if ( hwnd[curChart] == 0 )
            {
                hwnd[curChart] = WindowHandle( StringConcatenate( "WS_", _Symbol[curChart] ), 
                                                                                                _Period[curChart] );
                if ( hwnd[curChart] != 0 ) { Print( "< - - - График ", "WS_" + _Symbol[curChart], 
                                                                    _Period[curChart], " найден! - - - >" ); }
            }
            //---- и, если нашли, обновляем его
            if ( hwnd[curChart] != 0 ) { PostMessageA( hwnd[curChart], WM_COMMAND, 33324, 0 ); }
 
Большое спасибо, solandr, ничего подобного не видел раньше. Во всяком случае в документации к MQL4 этого не видно совсем. А уж пресловутая 33324 - прямо мистика какая-то... Я еще попробую заглянуть как следует в WinUser32.mqh - может, там еще что найду.
 
solandr:
При таком методе индикаторы, прикреплённые к автономным графикам, без проблем запускаются даже когда нет никакой торговли.

Если можно, с этого места чуть-чуть подробней. Что Вы имеете ввиду, говоря "запускаются"?
 

Я имею в виду, что посылка команды PostMessageA( hwnd[curChart], WM_COMMAND, 33324, 0 );
автономным графиком воспринимается как приход тика (но только что касается индикаторов, так как экспертами это как новый тик не воспринимается). Хотя возможно я где-то имею неправильное представление о процессе. И на самом деле в дни отсутствия торговли наверное мне просто достаточно выполнение индикаторами функции init() и однократного выполнения функции start() индикатором.

 

Наверное, я тоже не очень хорошо понимаю.. А в какой программе PostMessageA()?

 
 
Понятно, solandr: смотрю на код и вижу очень знакомый стиль. PostMessageA() работает и без опции автономного открытия. Мне в принципе только один тик и был нужен.
Причина обращения: