MT4, советник по индексу, перед выходными в пятницу в 23:30 по серверу закрывает всё. На католическое Рождество торги по индексу у моего брокера закончились 24-го днём, 25-го и 26-го не торговали. В пятницу 26-го в 23:30 советник начал отправлять закрытие и получал 132, market is closed, раз в несколько секунд почти до утра. Позиция провисела до понедельника, открылись почти без гэпа, повезло. Как вы узнаёте о сокращённых сессиях? Письма брокера я, честно говоря, не читаю.
Письма придётся читать, но полагаться только на них тоже нельзя. У меня так.
Закрытие перед выходными привязано не к пятнице 23:30, а к последнему часу торговой сессии. Сессии советник берёт у символа, SymbolInfoSessionTrade есть и в четвёрке. Только праздничное расписание туда попадает не у всех, у моего брокера там всегда обычная неделя. Поэтому вторая страховка: свой список праздников и коротких дней, обновляю руками раз в квартал. Если до конца сессии меньше часа или завтра праздник по списку, советник новых позиций не открывает и закрывает свои.
И про 132 раз в несколько секунд: после двух-трёх ответов «рынок закрыт» нужно перестать долбить сервер, отправить себе уведомление и ждать открытия. Повторять всю ночь бессмысленно, а за такой поток запросов некоторые брокеры могут и отключить советникам торговлю на счёте.