Режим оптимизации

 
Доброго времени суток! Написал робота, и стал тестировать его на истории. Он не делает ни одной сделки. Если использование баров до истории и ограниченность зоны действия индикатора можно обойти алгоритмически. То как обойти невозможность обращаться к текущему времени во время тестирования (TimeCurrent()). Если кто знает как проще, не переписывая программу специально для тестирования, обойти первые 2 проблемы просьба также написать. Заранее спасибо!
 
SeMiTr:
Доброго времени суток! Написал робота, и стал тестировать его на истории. Он не делает ни одной сделки. Если использование баров до истории и ограниченность зоны действия индикатора можно обойти алгоритмически. То как обойти невозможность обращаться к текущему времени во время тестирования (TimeCurrent()). Если кто знает как проще, не переписывая программу специально для тестирования, обойти первые 2 проблемы просьба также написать. Заранее спасибо!
А ошибки какие пишет?
 

Да, вроде никаких.

У меня правда при появлении ошибок идёт обработка через Alert и Print с помощью GetLastError() (я знаю, что они также не обрабатываются оптимизатором) и выход из программы с помощью ExpertRemove(), но при загрузке оптимизатора он секунд 20 работает, так что видимо он таки прогоняет все тики.

 
SeMiTr:

Да, вроде никаких.

У меня правда при появлении ошибок идёт обработка через Alert и Print с помощью GetLastError() (я знаю, что они также не обрабатываются оптимизатором) и выход из программы с помощью ExpertRemove(), но при загрузке оптимизатора он секунд 20 работает, так что видимо он таки прогоняет все тики.

Без кода помочь нельзя.
 
SeMiTr:
Доброго времени суток! Написал робота, и стал тестировать его на истории. Он не делает ни одной сделки. Если использование баров до истории и ограниченность зоны действия индикатора можно обойти алгоритмически. То как обойти невозможность обращаться к текущему времени во время тестирования (TimeCurrent()). Если кто знает как проще, не переписывая программу специально для тестирования, обойти первые 2 проблемы просьба также написать. Заранее спасибо!
Используйте iTime()
 
paukas:
Используйте iTime()

Мне желательно знать точное время, т. к. робот опционный, и я стараюсь закрывать сделку в момент перехода с бара на бар.

Vinin:
Без кода помочь нельзя.


Вот код. Сразу оговорюсь, что я не подгонял его под оптимизатор, т. к. хотел узнать как это сделать попроще.

Файлы:
easy.mq4  7 kb
 
SeMiTr:

Мне желательно знать точное время, т. к. робот опционный, и я стараюсь закрывать сделку в момент перехода с бара на бар.


Вот код. Сразу оговорюсь, что я не подгонял его под оптимизатор, т. к. хотел узнать как это сделать попроще.

Ошибки при работе в тестере есть

Например

2016.01.25 19:09:26.791 1974.01.07 00:00  easy EURUSD,H1: OrderSend error 4107

И в тестере не строятся графические объекты. При обращении к ним тоже возникают ошибки 

 
SeMiTr:

Мне желательно знать точное время, т. к. робот опционный, и я стараюсь закрывать сделку в момент перехода с бара на бар.


Вот код. Сразу оговорюсь, что я не подгонял его под оптимизатор, т. к. хотел узнать как это сделать попроще.

Дык меньше минуток баров нет. Вот и будете контролировать мрмент перехода с минуты на минуту.
 
Vinin:

Ошибки при работе в тестере есть

Например

2016.01.25 19:09:26.791 1974.01.07 00:00  easy EURUSD,H1: OrderSend error 4107

И в тестере не строятся графические объекты. При обращении к ним тоже возникают ошибки

Так, я с этого и начал. В тестере нет индикаторов, и не срабатывает TimeCurrent(). Как я понял это всегда так.

Ещё я обращаюсь к данным до истории. Этого он тоже видимо не переваривает.

paukas:
Дык меньше минуток баров нет. Вот и будете контролировать мрмент перехода с минуты на минуту.
Спасибо! Сейчас попробую.
Причина обращения: