когда не получилось торговать дня 2-3, тогда Ваша 100% система рухнет без лога.
Да в общем то не рушится, было дело и неделю не торговал. Запустился без всяких логов и все роботы до единого восстановили свое предыдущее состояние... Дело в том, что таблица "depo_limits" вообще ни от чего не зависит, ей глубоко все равно на прихоти брокера, разрывы соединения, синие экраны... При восстановлении соединения в ней появляется весь мой портфель и вся необходимая мне информация, в том числе и заблокированные инструменты под покупку/продажу. В общем я сначала читаю таблицу заявок, всю, не обращая внимания на статус заявок и восстанавливаю уникальный идентификатор(если в таблице присутствуют заявки в любом статусе, то нахожу наибольший идентификатор и восстанавливаю, если же таблица пуста, то нумерация сначала, ибо мне уже наплевать каким был последний, заявок то больше не существует). После чего читаю "depo_limits" и делаю соответствующие выводы о предыдущем состоянии робота. Почему я могу сделать выводы? Потому что именно таким образом у меня все построено. Элементарная логика. Робот не может торговать на интуиции, он строго следует заданной мной логике, поэтому и восстановить состояние робота только по "depo_limits" не составляет проблем. Таблица заявок нужна только для восстановления идентификатора в случае, если все таки заявки имеются(например после синего экрана смерти в течение одного торгового дня или вылета квика). Мне даже не нужен статус заявки знать, наличие активных заявок определяю по "depo_limits". А вот если таблица "depo_limits" ненадежна, то грошь цена такому терминалу или брокеру! Ибо она работает с реальными деньгами, хоть и электронными! Потеря данных из этой таблицы равносильна воровству! Так что как не убеждайте логгировать, пока сбоев именно в этой таблице не обнаружил. Да, из таблицы заявок данные держатся исключительно один торговый день, не более. Но и она мне нужна только чтобы определить, продолжать ли нумерацию с последнего или начинать сначала.
Другое дело, что я в долго и среднесрок торгую вручную, а вот роботы заточены исключительно на интрадей, ибо вручную торговать уходит слишком много времени. Да, я стараюсь роботами не переносить сделки на следующий день, но если это случается, на следующий торговый день робот запустится, но будет в режиме ожидания. Ибо одно из условий запуска робота, это пустой портфель по его инструменту... Вот здесь уже я сам решаю что мне делать, закрывать сделку или оставлять и замораживать деньги...
У брокера всегда есть рубильник, который отрубает клиентов от торгов,
есть такое, не спорю, по два три и больше раз за день может отрубать. Роботы восстанавливаются без проблем. Другое дело что нужно успеть вовремя обратно подключиться вручную. С другой стороны, на стационарном компьютере было дело и каждый час брокер принудительно рвал соединение... Пару недель назад перешел на ноут, брокер стал рвать соединение только в конце торгового дня, что то в районе 23:45 - 23:50. Почему не знаю.