Для обсуждения: ФОРМАЛИЗОВАТЬ ВРЕМЕННУЮ ПРИВЯЗКУ. - страница 2

 
1. В строку login журнала добавляем ServerTime: ..........

К сожалению, мы не знаем достоверно серверного времени.
А выводить логи надо всегда - даже когда нет соединения с сервером.
Заниматься самодеятельностью, "по старой памяти" подрасчитывая серверное время - нельзя и ошибочно.
Нас за такую самодеятельность будут сильно критиковать.

2 В тот же самый момент терминал выполняет примерно
GlobalVariableSet("ServerTimeShift",shift);

Любой эксперт знает серверное время по CurTime и локальное по LocalTime. Вычислить разницу очень легко. То есть, эксперт, вызываемый на каждый тик, практически гарантированно знает серверное время.

Скрипт и индикатор могут не знать точного текущего серверного времени так как они могут быть вызваны в оффлайне. Но индикаторам серверное время вообще ни к чему, а скрипты в оффлайне все равно торговать не смогут.
 
to Renat
Я говорил о том чтобы сделать это однократно непосредственно после логина т.е. когда связь с сервером имеется.
В режиме офлайн выдается при включении выдается:
2005.01.22 13:10:13 Pumping: connect failed [6]

и сервисное время неизвестно до восстановления работы онлайн. В тоже время глобалвар ServerTimeShift сохраняет предыдущее значение, соответствующее привязке закаченных данных .

Скрипт и индикатор могут не знать точного текущего серверного времени так как они могут быть вызваны в оффлайне. Но индикаторам серверное время вообще ни к чему, а скрипты в оффлайне все равно торговать не смогут.

Работа в офлайне характерна для выходных дней, когда большинство брокеров вообще выключают серверы.
А у трейдера это лучшее время для ревизии своих программ, поэтому здесь для индикатора сервисное время да к чему. Что же касается эксперта, то Strategy Tester, понятно, должен работать офлайн.

Кстати Эксперт на мой взгляд не должен засыпать в офлайне. Необходимо иметь минимальную частоту обращений при редких тиках (все равно время некуда девать) скажем раз в 15-20 секунд для дополнительных алертных целей. Мне казалось, что у вас так и сделано.
 
В тоже время глобалвар ServerTimeShift сохраняет предыдущее значение, соответствующее привязке закаченных данных .

Абсолютно ничто не мешает Вам самому хранить ServerTimeShift в глобальной переменной.

Работа в офлайне характерна для выходных дней, когда большинство брокеров вообще выключают серверы.

Что может сделать эксперт в офлайне? Торговать не может, а значит и точное серверное время не нужно. Анализировать историю? Да ради бога, только точное серверное время тут не нужно. К тому же, _никто_ не выключает своих серверов в выходные.

Кстати Эксперт на мой взгляд не должен засыпать в офлайне.

Тут все совершенно жестко - эксперт вызывается только по изменению рыночной ситуации, то есть на каждом тике и больше никак.
Причина обращения: