Новая версия платформы MetaTrader 5 build 2940: Перенос витрин MQL5-сервисов в рабочую область и обновление дизайна - страница 25
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Старая болезнь - вот просто уже сильно сильно надоела: при визуальном тестировании НЕ ОТОЬБРАЖАЮТСЯ индикаторы, которые используются в советнике. Причем можно раз десять делать запуск тестирования - стоп - и снова запуск чтобы индикаторы появились. Пожалуйста сделайте что-то с этим - я уже не знаю как оправдываться перед людьми.
Пока пытался воспроизвести проблему пропадающих индикаторов, наткнулся на еще одну, регулярно встречающуюся. Через несколько прогонов в визуальном тестировании, тестер перестает запускаться. В журнал выдает такое:
В настройках ничего не меняю.Лечиться перезагрузкой терминала или один раз запустил минут через 10, пока пошел кофе попил, все прошло.
Посмотрите, это начинается с 46-й секунды. У кого-то еще бывало?
Ссылка на видео.
У кого-то еще бывало?
Бывало. И не только с визуальным тестированием (очень редко использую). Но лечится элементарно - перезагрузка. Поэтому хлопот не доставляло.
сортировка символов в "Обзор рынка" вроде наконец заработала через - Набор символов, и уже почти месяц опять не работает
каждый новый счет или смена ДЦ, опять вручную двигать символы
Не подтверждается.
Нужны чёткие шаги по воспроизведению
В видео несколько раз подряд запускаю визуальное тестирование и останавливаю. Смотрите с 01:30, смог воспроизвести эту ситуацию. Индикатор вызывается через iCustom() из папки \MQL5\Indicators\.
Лог из последнего прогона в видео - 20210615_NonDrawing.
Сделал следующий запуск, индикатор снова отрисовывается - его лог 20210615_Drawing.
В данном случае на максимальной скорости, но замечал также и на скорости на несколько сдвигов меньше. По этому индикатору анализируются буферы и на вершинах ZZ на определенных паттернах появляются метки. Видно, что они присутствуют. Т.е. советнику буферы индикатора видны, но в визуализаторе его не видно.
Ссылка на видео
В данном случае на максимальной скорости, но замечал также и на скорости на несколько сдвигов меньше. По этому индикатору анализируются буферы и на вершинах ZZ на определенных паттернах появляются метки. Видно, что они присутствуют. Т.е. советнику буферы индикатора видны, но в визуализаторе его не видно.
Ссылка на видео
Также на видео видно, при остановке тестирования линия Зигзага смещена относительно свечных баров. Если тыкнуть мышкой по графику или дернуть колесико мыши, они совмещаются как положено. Как-то не очень красиво смотрится.
И еще просьба, можно ли окно визуального тестирования разворачивать полностью. Или сохранять его последнее состояние/положение и в след.раз запускать таким. А то окно тестирования всегда на пару миллиметров меньше окна терминала. Тянешься мышкой вверх, чтобы закрыть его и уже несколько раз терминал закрывал, вместо тестера.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 2940: Перенос витрин MQL5-сервисов в рабочую область и обновление дизайна
fxsaber, 2021.06.11 09:47
При использовании HistorySelect от нуля, новые ордера попадают в конец таблицы во время работы советника - правильно. Если не от нуля - сортировка по тикету (неправильно).
Скрипт сначала открывает Ticket1, затем Ticket2. Удаляет в обратной последовательности. При правильном формировании HistorySelect-таблицы последние записи в ней должны быть в обратном порядке: сначала Ticket2, затем Ticket1.
Запуск с дефолтными параметрами (inFlag/inFrom = true/0) показывает, что все верно отрабатывает.
Тут же запуск без открытия новых ордеров (inFlag/inFrom = false/0) выдает неправильно сформированную историю.
Запуск с открытием ордеров, но запросом HistorySelect не от нуля (inFlag/inFrom = true/D'2021.06.11') , дает ту же ошибку.
Выводы.
Уважаемые разработчики, вы ЧТО натворили?! Вот такой результат теперь на b2962.
Зачем сломали то, что работало правильно? Теперь невозможно синхронизировать. Невозможно во время работы советника узнать по истории, какой ордер был закрыт последним.
Вы не дали ни одного комментария по данному обсуждению, а просто втихую решили вмешаться и полностью сломали весь механизм торговли.
Невозможно торговать! Верните, пожалуйста, прежний вариант. Он позволял торговать.
Уважаемые разработчики, вы ЧТО натворили?! Вот такой результат теперь на b2962.
Зачем сломали то, что работало правильно? Теперь невозможно синхронизировать. Невозможно во время работы советника узнать по истории, какой ордер был закрыт последним.
Вы не дали ни одного комментария по данному обсуждению, а просто втихую решили вмешаться и полностью сломали весь механизм торговли.
Невозможно торговать! Верните, пожалуйста, прежний вариант. Он позволял торговать.
Скорее всего не по тикету сортирует, а в каждом случае по времени, но в одном случае по времени установки, а в другом - по времени удаления. По времени удаления сортировать - неправильно. То есть неправильный самый первый вариант - ордер вытащен из истории и добавлен в конец, а надо просто пометить его удаленным, но чтобы в истории они был в соответствии с порядком установки (чтобы оставался там, где был).
Да и вообще - история установки и удаления отложенных ордеров - слишком зыбкая материя, чтобы ее вообще для чего-то использовать.
Скорее всего не по тикету сортирует, а в каждом случае по времени, но в одном случае по времени установки, а в другом - по времени удаления. По времени удаления сортировать - неправильно. То есть неправильный самый первый вариант - ордер вытащен из истории и добавлен в конец, а надо просто пометить его удаленным, но чтобы в истории они был в соответствии с порядком установки (чтобы оставался там, где был).
Да и вообще - история установки и удаления отложенных ордеров - слишком зыбкая материя, чтобы ее вообще для чего-то использовать.
Как считаете, что должен вернуть этот код?
Написание синхронизатора стало возможным именно по той причине, что любой ордер, что шел в историю, дозаписывался в конец, а не в середину. Раньше это было так для HistorySelect(0, INT_MAX) и было очень удобно и эффективно.
Не понимаю, для чего это нужно было ломать? Сломали же торговлю.
Как считаете, что должен вернуть этот код?
Написание синхронизатора стало возможным именно по той причине, что любой ордер, что шел в историю, дозаписывался в конец, а не в середину. Раньше это было так для HistorySelect(0, INT_MAX) и было очень удобно и эффективно.
Не понимаю, для чего это нужно было ломать? Сломали же торговлю.
Ордер уже был в истории, но потом был помечен как удаленный и почему-то перемещен со своего места в конец истории, а потом он опять оказался на своем месте. Поэтому лучше бы вообще не перемещать ордер в массиве истории никогда.
Удаление ордера - это не ордер.
А что вернет тот код - в этом-то и проблема, что в разных случаях он может вернуть разное.
Отсюда вывод - историей отложенных ордеров вообще не следует пользоваться.
Хорошо хоть, что такой карусели нет со сделками и рыночными ордерами. Хотя, кто знает про рыночные ордера, у них же статус меняется, может при каждой смене статуса он переносится в конец истории, а проблемы этого не возникло, потому-что пока никто не умудрился вклинить какую-нибудь транзакцию между отправкой ордера и его исполнением. А вот между изменениями статуса отложенного ордера можно вклинить много чего.