Советник висит на графике EURUSD и торгует три пары: EURUSD, GBPUSD, AUDUSD. В OnTick пробегаю по массиву символов, смотрю, открылся ли новый M15 бар, и если да, считаю сигнал. На демо всё работает. В тестере сделки по GBPUSD и AUDUSD входят с опозданием до нескольких минут, а иногда пропускаются. По EURUSD всё чётко. Режим реальные тики, история по всем трём есть.
Так и должно быть. OnTick в тестере вызывается по тикам символа графика, то есть только по EURUSD. Тики фунта и австралийца тестер тоже моделирует и синхронизирует по времени, но событие ты получаешь только тогда, когда тикнул евро. Ночью и на открытии недели евро тикает редко, отсюда опоздания, а пропуски бывают, когда сигнал по фунту к приходу тика евро уже успел исчезнуть.
Варианты: перенести проверку в OnTimer с шагом в секунду, тогда таймер срабатывает и между тиками евро. Или ставить отдельный экземпляр на каждый символ, если логика это позволяет. Я обычно делаю таймер, для M15 секунды хватает с запасом. Прогон только станет медленнее, иногда сильно.
Раз уж портфель, проверь заодно общий риск. У меня в похожей схеме лимит на суммарный объём считался по позициям того символа, где сработал сигнал, и в тестере по трём парам одновременно висело в два раза больше, чем я закладывал. Заметил только по просадке в марте 2020, когда всё пошло в одну сторону.