Есть ли в тестере стратегий MT5 функция эмуляции переинициализации советника или индикатора. Зачем это нужно, думаю объяснять долго не стоит. Например, зависает компьютер, а Наш советник или индикатор после переиницилизации должен правильно подхватить все ордера, глобальные переменные, графические объекты... Без такой функции приходится теоретически всё предвидеть при написании программы и исправлять баги уже во время тестирования советника или индикатора на демо. Но ведь на демо нельзя ускорить время тестирования или начать тест заново. Хотя второе не так уж и принципиально, так как всегда можно закрыть ордера, удалить все графические объекты, очистить глобальные переменные и начать всё заново. Но всё же в тестере подобная функция должна ускорить этот процесс значительно, если её ещё не конечно!! Кто как считает? :)))) Может Мне одному пригодилась бы такая функция!?
Документация по MQL5: Графические объекты / ObjectsDeleteAll
- www.mql5.com
Графические объекты / ObjectsDeleteAll - Документация по MQL5
- Тестер стратегий в торговой платформе MetaTrader 5
- Интернет трейдинг на Форексе и фондовых рынках с MetaTrader 5
- MetaTrader Market – крупнейший магазин торговых приложений
Вы первые за много лет, кто спрашивает подобное. Любой советник просто по умолчанию должен уметь стартовать правильно при запуске. И никакой готовой функции для этого не требуется.
Rosh:
Вы первые за много лет, кто спрашивает подобное. Любой советник просто по умолчанию должен уметь стартовать правильно при запуске. И никакой готовой функции для этого не требуется.
Стартуют то советники и правда правильно... Но вот случился мини-форс-мажор: Мы закрыли случайно терминал или отключилась электроэнергия. Через какое-то время Мы запустили терминал по новой и, например, висевший советник на графике сразу же переинициализируется (ну или для Кого просто инициализируется по новой). И вдруг Нам важно время последней совершённой торговой операции, которую Мы храним в переменной, или графический объект, который Мы создали при первом запуске советника. Мы всё это попытались включить в функцию init() при написании кода, но забыли подстраховаться, проверить всё и допустили ошибку где-то в коде. Советник переинициализировался неправильно и в итоге это повлияло на его работу в дальнейшем...
Вы первые за много лет, кто спрашивает подобное. Любой советник просто по умолчанию должен уметь стартовать правильно при запуске. И никакой готовой функции для этого не требуется.
MaxZ:
Стартуют то советники и правда правильно... Но вот случился мини-форс-мажор: Мы закрыли случайно терминал или отключилась электроэнергия. Через какое-то время Мы запустили терминал по новой и, например, висевший советник на графике сразу же инициализируется. И вдруг на важно время последней совершённой торговой операции, которую Мы храним в переменной, или графический объект, который Мы создали при первом запуске советника. Мы всё это включили в функции init(), но забыли подстраховаться и допустили ошибку где-то в коде. Советник инициализировался неправильно и в итоге это повлияло на его работу в дальнейшем...
Стартуют то советники и правда правильно... Но вот случился мини-форс-мажор: Мы закрыли случайно терминал или отключилась электроэнергия. Через какое-то время Мы запустили терминал по новой и, например, висевший советник на графике сразу же инициализируется. И вдруг на важно время последней совершённой торговой операции, которую Мы храним в переменной, или графический объект, который Мы создали при первом запуске советника. Мы всё это включили в функции init(), но забыли подстраховаться и допустили ошибку где-то в коде. Советник инициализировался неправильно и в итоге это повлияло на его работу в дальнейшем...
Отрубите инет, запустите МТ, удалите с чарта советник.
А дальше подключаем инет и как штатный запуск.
На ATC помню, как некоторые Люди "кричали" после вынужденного перезапуска терминалов: "Мой советник столько информации накопил, столько переменных насчитал, а Вы взяли всё и сбросили... Я думал, что не будет перезапуска терминалов!!". Если, например, включить в тестер стратегий функцию эмуляции случайной переинициализации советника или индикатора, то тесты бы стали выглядеть немного интересней для некоторых советников (видны бы стали простои в такие-то моменты, висячие сделки или же вынужденные потери), а Авторам пришлось бы учитывать и этот нюанс при подготовке советника на ATC. Да это и так нужно учитывать повсеместно!! Согласитесь!? Не для всех советников конечно. Ведь не все советники держат в Себе подобную информацию... Показания с индикаторов хранить и запоминать не нужно, также всегда доступна история сделок и так далее. А некоторые Люди (более опытные и наученные Программисты) все необходимые значения сохраняют в глобальные переменные или же научились восстанавливать часть потерь, пробежавшись в советнике по истории. И такие Люди хорошо понимают, что такой мини-форс-мажор может произойти всегда и надо быть всегда готовым к переинициализации.
MaxZ:
На ATC помню, как некоторые Люди "кричали" после вынужденного перезапуска терминалов: "Мой советник столько информации накопил, столько переменных насчитал, а Вы взяли всё и сбросили... Я думал, что не будет перезапуска терминалов!!". Если, например, включить в тестер стратегий функцию эмуляции случайной переинициализации советника или индикатора, то тесты бы стали выглядеть немного интересней для некоторых советников (видны бы стали простои в такие-то моменты, висячие сделки или же вынужденные потери), а Авторам пришлось бы учитывать и этот нюанс при подготовке советника на ATC. Да это и так нужно учитывать повсеместно!! Согласитесь!? Не для всех советников конечно. Ведь не все советники держат в Себе подобную информацию... Показания с индикаторов хранить и запоминать не нужно, также всегда доступна история сделок и так далее. А некоторые Люди (более опытные и наученные Программисты) все необходимые значения сохраняют в глобальные переменные или же научились восстанавливать часть потерь, пробежавшись по истории. И такие Люди хорошо понимаю, что такой мини-форс-мажор может произойти всегда и надо быть всегда готовым к переинициализации.
Пишите переменные в файл. И сбрасывайте на диск.На ATC помню, как некоторые Люди "кричали" после вынужденного перезапуска терминалов: "Мой советник столько информации накопил, столько переменных насчитал, а Вы взяли всё и сбросили... Я думал, что не будет перезапуска терминалов!!". Если, например, включить в тестер стратегий функцию эмуляции случайной переинициализации советника или индикатора, то тесты бы стали выглядеть немного интересней для некоторых советников (видны бы стали простои в такие-то моменты, висячие сделки или же вынужденные потери), а Авторам пришлось бы учитывать и этот нюанс при подготовке советника на ATC. Да это и так нужно учитывать повсеместно!! Согласитесь!? Не для всех советников конечно. Ведь не все советники держат в Себе подобную информацию... Показания с индикаторов хранить и запоминать не нужно, также всегда доступна история сделок и так далее. А некоторые Люди (более опытные и наученные Программисты) все необходимые значения сохраняют в глобальные переменные или же научились восстанавливать часть потерь, пробежавшись по истории. И такие Люди хорошо понимаю, что такой мини-форс-мажор может произойти всегда и надо быть всегда готовым к переинициализации.
Urain:
Отрубите инет, запустите МТ, удалите с чарта советник.
А дальше подключаем инет и как штатный запуск.
Это понятно... Сейчас Я так и делаю. Но это не всегда удобно. Примера подходящего привести не могу. Я столкнулся с этим недавно. До этого все Мои советники были простыми. А сейчас просто забыл о том, что один из Моих советников можете переинициализироваться ведь и расчёт переменных начнётся заново.
Urain:
Пишите переменные в файл. И сбрасывайте на диск.
Пишите переменные в файл. И сбрасывайте на диск.
Спасибо, Я не ищу выхода из этой ситуации... Я лишь предложил такую вот функцию и спросил мнение форума.
Пока были нужные мысли в голове, создал новую тему и всё расписал.
Обработка кодов ошибок позволит быстро локализовать проблемное место, и даже предотвратить некоторые ситуации.
ООП в MQL5 на примерах: обработка кодов ошибок и предупреждений
- 2010.05.04
- KlimMalgin
- www.mql5.com
В статье рассматривается пример создания класса для работы с кодами возврата торгового сервера и всеми ошибками, возникающими в процессе работы MQL-программы. После прочтения статьи, вы сможете сформулировать для себя начальное представление о том как работать с классами и объектами в MQL5. И в то же время у вас появится удобный инструмент для обработки ошибок, который в дальнейшем можно будет дорабатывать на свой вкус и цвет.
Rosh:
Обработка кодов ошибок позволит быстро локализовать проблемное место, и даже предотвратить некоторые ситуации.
Спасибо... Обработка ошибок - это правильное и нужное дело!Обработка кодов ошибок позволит быстро локализовать проблемное место, и даже предотвратить некоторые ситуации.
Я бы приветствовал появление подобной функции. Понятно, что можно самому устроить своего рода "crash test" для советника, но это всегда связано со множеством ручных действий и затратами дополнительного времени. Советник после нештатной ситуации должен восстановить не начальное состояние , а последний рабочий момент плюс отследить все изменения, которые успели произойти. Возможно, лучше сделать кнопку "crash test", когда советник или индикатор работает в режиме "отладка". Тогда можно отследить все "радости" прям в отладчике.
Lizar:
Я бы приветствовал появление подобной функции. Понятно, что можно самому устроить своего рода "crash test" для советника, но это всегда связано со множеством ручных действий и затратами дополнительного времени. Советник после нештатной ситуации должен восстановить не начальное состояние , а последний рабочий момент плюс отследить все изменения, которые успели произойти. Возможно, лучше сделать кнопку "crash test", когда советник или индикатор работает в режиме "отладка". Тогда можно отследить все "радости" прям в отладчике.
+1. новая функция ExpertReinit() пригодилась бы.Я бы приветствовал появление подобной функции. Понятно, что можно самому устроить своего рода "crash test" для советника, но это всегда связано со множеством ручных действий и затратами дополнительного времени. Советник после нештатной ситуации должен восстановить не начальное состояние , а последний рабочий момент плюс отследить все изменения, которые успели произойти. Возможно, лучше сделать кнопку "crash test", когда советник или индикатор работает в режиме "отладка". Тогда можно отследить все "радости" прям в отладчике.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь