Хочу узнать о восстановлении работы советника после неожиданной
перегрузке компа или обрыве связи. Т е какие то параметры нужно
куда то сохранять,хотелось бы узнать поподробней. Заранее благодарен.
- Требуется помощь
- Индикаторы: V-TBv6
- Проблемы новичков
На мой взгляд, лучше все пересчитать заново - наличие и направление
открытых ордеров, состояние индикаторов и пр. Чтобы не делать
этого при инициализации (всвязи с определенными ограничениями),
можно при инициализации создать некую статусную переменную и при первом пересчете в
функции start() изменить ее. Таким образом первоначальные действия будут выполняться один раз до следующей перезагрузки советника.
int status_first; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ void init() { //---- //---- return; } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ void deinit() { //---- //---- return; } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ void start() { //---- if(status_first==0) { //выполняем действия, необходимые при первом запуске после перезагрузки status_first=1; } //выполняем обычные действия //---- return; }Или воспользуйтесь глобальными переменными. Нормальное описание в стандартном хелпе MetaEditor-a.
kostas:
На мой взгляд, лучше все пересчитать заново - наличие и направление открытых ордеров, состояние индикаторов и пр.
Или воспользуйтесь глобальными переменными. Нормальное описание в стандартном хелпе MetaEditor-a.
Не все можно пересчитать заново (например, движения индикатора
на 0-м баре).На мой взгляд, лучше все пересчитать заново - наличие и направление открытых ордеров, состояние индикаторов и пр.
Или воспользуйтесь глобальными переменными. Нормальное описание в стандартном хелпе MetaEditor-a.
А в глобальные переменные записывать ничего не советую - при аварийном завершении работы он не сбрасываются на диск.
Пишите в файл ;)
komposter:
А в глобальные переменные записывать ничего не советую - при аварийном завершении работы он не сбрасываются на диск.
Пишите в файл ;)
А лучше всего, иметь открытые отложенные ордера, в поле примечания
которых писать всю информацию необходимую для восстановления
работы.kostas:
На мой взгляд, лучше все пересчитать заново - наличие и направление открытых ордеров, состояние индикаторов и пр.
Или воспользуйтесь глобальными переменными. Нормальное описание в стандартном хелпе MetaEditor-a.
Не все можно пересчитать заново (например, движения индикатора
на 0-м баре).На мой взгляд, лучше все пересчитать заново - наличие и направление открытых ордеров, состояние индикаторов и пр.
Или воспользуйтесь глобальными переменными. Нормальное описание в стандартном хелпе MetaEditor-a.
А в глобальные переменные записывать ничего не советую - при аварийном завершении работы он не сбрасываются на диск.
Пишите в файл ;)
Разумеется, цены открытия таких отложенных ордеров должны быть запредельными.
Можно использовать для этих целей и поля примечания боевых ордеров. ..
С уважением - С.Д.
Sart:
А лучше всего, иметь открытые отложенные ордера, в поле примечания которых писать всю информацию необходимую для восстановления работы.
Разумеется, цены открытия таких отложенных ордеров должны быть запредельными.
Можно использовать для этих целей и поля примечания боевых ордеров. ..
Зачем? Это в MQL2 надо было извращаться, а тут-то зачем?А лучше всего, иметь открытые отложенные ордера, в поле примечания которых писать всю информацию необходимую для восстановления работы.
Разумеется, цены открытия таких отложенных ордеров должны быть запредельными.
Можно использовать для этих целей и поля примечания боевых ордеров. ..
А комментарии ордеров может менять брокер, вариант не надежный.
komposter:
Зачем? Это в MQL2 надо было извращаться, а тут-то зачем?
А комментарии ордеров может менять брокер, вариант не надежный.
-----------------------------------------------------------------------------------
Можно ,конечно и в файл, учитывая, однако, что всякое обращение к внешнему устройству, сильно замедляет работу.
А что касается примечаний к ордерам, то я специально интересовался - первые 26 символов примечания торговый сервер не трогает.
Да оно вроде и логичнее использовать как внешнюю память примечания - тогда состояние наших торгов целиком хранится на торговом сервере.
В этом случае после "аварии" можно запускаться даже с другого компьютера.
А самое, главное - получим абсолютную синхронизацию состояний, чего можно не достичь при использовании файлов.
Да, еще, пользуясь случаем, хочу поблагодарить Вас за Вашу очень полезную функцию - AllOrdersInit(MagicNumber)
С уважением - С.Д.
Зачем? Это в MQL2 надо было извращаться, а тут-то зачем?
А комментарии ордеров может менять брокер, вариант не надежный.
-----------------------------------------------------------------------------------
Можно ,конечно и в файл, учитывая, однако, что всякое обращение к внешнему устройству, сильно замедляет работу.
А что касается примечаний к ордерам, то я специально интересовался - первые 26 символов примечания торговый сервер не трогает.
Да оно вроде и логичнее использовать как внешнюю память примечания - тогда состояние наших торгов целиком хранится на торговом сервере.
В этом случае после "аварии" можно запускаться даже с другого компьютера.
А самое, главное - получим абсолютную синхронизацию состояний, чего можно не достичь при использовании файлов.
Да, еще, пользуясь случаем, хочу поблагодарить Вас за Вашу очень полезную функцию - AllOrdersInit(MagicNumber)
С уважением - С.Д.
Sart писал (а):
Можно ,конечно и в файл, учитывая, однако, что всякое обращение к внешнему устройству, сильно замедляет работу.
А установка ордера с комментарием не замедляет? ;)Можно ,конечно и в файл, учитывая, однако, что всякое обращение к внешнему устройству, сильно замедляет работу.
Затраты на работу с файлом можно заметить только при тестировании/оптимизации, а там файлы ни к чему.
В реале эти доли секунд никак не повлияют на работу.
Sart писал (а):
Да оно вроде и логичнее использовать как внешнюю память примечания - тогда состояние наших торгов целиком хранится на торговом сервере. В этом случае после "аварии" можно запускаться даже с другого компьютера. А самое, главное - получим абсолютную синхронизацию состояний, чего можно не достичь при использовании файлов.
Это да. Единственная причина использовать ордера - хранение
на сервере.Да оно вроде и логичнее использовать как внешнюю память примечания - тогда состояние наших торгов целиком хранится на торговом сервере. В этом случае после "аварии" можно запускаться даже с другого компьютера. А самое, главное - получим абсолютную синхронизацию состояний, чего можно не достичь при использовании файлов.
Но это далеко не всем надо.
Sart писал (а):
Можно ,конечно и в файл, учитывая, однако, что всякое обращение к внешнему устройству, сильно замедляет работу.
Можно ,конечно и в файл, учитывая, однако, что всякое обращение к внешнему устройству, сильно замедляет работу.
Как мне кажеться, не мало еще зависит от логики работы самого эксперта.
Ведь если вы открываете только один ордер в одну сторону при выполнении некоторых условий, то ничего в принципе восстанавливать и не нужно. После включения терминала снова эксперт продолжит работу дальше.
В случае отработки некоторых видов вывода позиции из безубытка (типа локирование или усреднение), то здесь тоже можно организовать логику работы таковой, что просто контролируются точки открытия или сами отложенные ордера без восттановления начальных условий.
Поэтому запись в файл и постоянное сбрасывание его буферов - дело может и не нужное совсем.
Пишите.
Ведь если вы открываете только один ордер в одну сторону при выполнении некоторых условий, то ничего в принципе восстанавливать и не нужно. После включения терминала снова эксперт продолжит работу дальше.
В случае отработки некоторых видов вывода позиции из безубытка (типа локирование или усреднение), то здесь тоже можно организовать логику работы таковой, что просто контролируются точки открытия или сами отложенные ордера без восттановления начальных условий.
Поэтому запись в файл и постоянное сбрасывание его буферов - дело может и не нужное совсем.
Вариантов может быть много. Как я написал очень много зависит от логики самомго эксперта. Лучше всего, как мне кажется, чтоб вы говорили о конкретном варианте торговли, условия входа/выхода, метод трейлинга и т.д. И тогда думаю ответ будет вам дан вполне определенный.
Пишите.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь