После переезда в мск алгоритмы стали отрабатывать очень странно, я не про результат, а про входы, выходы и проч… Такое ощущение, что кто-то вставил в код random. А поскольку имею возможность смотреть на результаты работы только после 22-00, то выявить странности оказалось на глазок не просто, код то прежний. Работает, но блин не так, как задумывал.
Прикрутил логи позиций, — все показатели существенные записываются от открытия до закрытия позы. Констатировал факт того, что действительно работает не так как в родном городе. Думаю, так не бывает. Ну ведь хрень. Прикрутил логи — запись всех действий кода и результатов процедур и функций. Полезно — видно как работает он в реальном времени. И вуаля — в чем собака порылась: при проверке актуальности текущих цен реальному времени функция проверяла разницу между ними в секундах. Так как в родном городе время +1 час к мск, то по умолчанию учитывался этот час разницы. Т.е. 23:00:00 в родном городе и 21:59:57 в мск — разница между ними около 3600 с. Но эта разница всегда больше 0.
После перехода на мск время разница между времени биржи и системным временем компа оказалось гуляет плюс-минус несколько секунд и разница бывает и отрицательной (другими словами системное время меньше времени биржи на несколько милисекунд), функция выдавала отрицательное значение. Но блин не всегда.
Добавил несколько букв — abs(), «рандом ушел», к чему пишу — а какие у вас бывали нетривиальные /смешные ошибки в коде?
www.mql5.com/ru/docs/dateandtime
Кому придёт в голову после этого считать локальное время? =)