Soldat у Вас 1 эксперт торгует по 10 парам - это понятно, при этом использует для поиска сигнала 4 ТФ - это можно понять, но в чём вопрос и сложность - не понятно...
Ваш эксперт будет стоять и получать тики с одного графика (пары), узнать котировку по другой паре можно только специально через запрос, т.е. Вы можете отследить закрытие бара (любого ТФ) только на основной паре, а теперь, как говориться, следите за руками: тик пришел и сова поняла, что по основной паре открылся новый бар, а по другой паре (XXXYYY) тика ещё не было, вопрос что Вам вернёт функция iClose(XXXYYY, 0, 1)?
Если Вы знаете ответ - то Вам должно быть вообще все понятно.
Я точного ответа не знаю, но могу предположить, что эта функция вернёт Вам не то, что Вы ожидали, скажу даже больше, эта функция вернёт Вам не то, даже если Вы сделаете запрос по текущей паре, но с другого ТФ.
Это я к тому, что отслеживать закрытие баров на 4 ТФ надо по той паре, где стоит сова, потом в цикле делать расчёты сигналов по всем парам (предполагая, что и там бары закрыты, или проверяя время открытия 1 бара на основной паре и рабочей паре).
Проблема в том, что он торгует на одном таймфрейме. А 4 таймфрейма, это для большего охвата. Советник торгует по прайс экшену. Считай одной свечной комбинации. Она появляется нечасто. Вот и решил сделать советник мультивалютным и мультитаймфреймовым. Чтобы поставил на один символ, а торговля происходила сразу на куче валют и нескольких таймфреймах. А если делать даже в цикле, то опять возвращаемся к 40 операторам if или for.

