Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2745
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Разверните буфер и цикл, и чтобы меньше расчётов, сразу впишите символ "EURGBP"
Оценил юмор по - поводу EURGBP... тонко
EUR и GBP использую просто как пример
Подскажите пожалуйста ёщё такой момент...
Cуть такая: есть два актива EUR/USD и GBP/USD . Между ними вычисляется разница, и транслируется в переменную. И на основе этой полученной переменной строится линия внизу в подокне.
Вот на основе вашего примера пытался свою задачу решить, да не тут то было. Не показывает. Пишет ошибка "array out of range"
Подскажите пожалуйста ёщё такой момент...
Cуть такая: есть два актива EUR/USD и GBP/USD . Между ними вычисляется разница, и транслируется в переменную. И на основе этой полученной переменной строится линия внизу в подокне.
Вот на основе вашего примера пытался свою задачу решить, да не тут то было. Не показывает. Пишет ошибка "array out of range"
Прошу помощи!
Подскажите, возникла проблема! В терминале МТ5 При тестировании DarcCloudPercingLINE RSI тестер стратегий завис. И больше, кроме этого советника никого не тестирует.
Пробовал по разному отменять, перезагружать. В конце переустановил МТ5, а проблема осталась. Подскажите как ее решить?
Прошу помощи!
Подскажите, возникла проблема! В терминале МТ5 При тестировании DarcCloudPercingLINE RSI тестер стратегий завис. И больше, кроме этого советника никого не тестирует.
Пробовал по разному отменять, перезагружать. В конце переустановил МТ5, а проблема осталась. Подскажите как ее решить?
1. Полная очистка папки тестера (самое вероятное решение)
В МТ4 в своё время делали так.
Поскольку терминал ты уже переустанавливал, теперь нужно вручную удалить служебные файлы MT5 из системной папки пользователя Windows. Советник мог оставить там «испорченный» агент тестирования или кэш оптимизации.
Закройте терминал МТ5. Попробуй так.
Нажмите Win + R , введите %APPDATA%\MetaQuotes\Terminal и нажмите Enter.
Внутри этой папки находится несколько подпапок с длинными названиями-хэшами (например, 3A7B9C... ). В каждой из них есть папка MQL5 .
Вам нужно зайти в каждую такую папку и полностью удалить содержимое внутри каталога Tester (обычно путь выглядит так: ...\Terminal\<Хэш>\tester\ ).
Удалите все файлы с расширениями .cache , .idx , .ini , а также папки bases и logs внутри директории tester . Именно здесь хранится зацикленный процесс зависшего теста.
Также проверьте общую папку терминалов: C:\Program Files\MetaTrader 5\Tester\Bases — если она есть, очистите её.
2. Проверка настроек самого советника
Если советник написан на MQL5 без должной обработки ошибок, он может уйти в бесконечный цикл при определенных входных параметрах.
Откройте редактор кода MetaEditor ( F4 ), найдите файл этого советника.
Проверьте функцию OnTick() или OnCalculate() . Если там есть циклы while(true) без условия выхода или деление на переменную, которая может стать нулем (например, стандартное отклонение или объем), тестер зависнет намертво.
Попробуйте сбросить настройки советника перед запуском. Найдите кнопку «Свойства эксперта» (иконка гаечного ключа) и нажмите «Сброс». Часто зависание происходит из-за комбинации параметров (например, слишком маленький период RSI вроде 1 вместе с коротким стоп-лоссом).
3. Очистка глобального кэша графиков и истории
Иногда зависший расчет индикаторов ломает временные файлы свечей.
Зайдите в меню «Файл» -> «Открыть каталог данных».
Перейдите в папку Bases . Переименуйте её (например, в Bases_old ) или удалите историю конкретной пары, на которой виснет тест (например, Bases\History\Alpari-MT5\EURUSD.hcc ).
При следующем запуске МТ5 скачает историю заново. Это исправит ошибки, если зависание провоцировал битый тик истории.
4. Отключение лишних агентов тестирования
В МТ5 тестер распараллеливает задачи. Если один из локальных агентов получил повреждённую задачу от предыдущего запуска, он будет блокировать очередь.
Зайдите в «Сервис» -> «Настройки» -> вкладка «Агенты».
Убедитесь, что галочки стоят только на ваших физических ядрах CPU. Отключите лишние агенты.
Выделите каждый работающий агент и посмотрите внизу статус. Если какой-то из них показывает «Работает», но загрузка ЦП равна 0%, этот агент "залип". Выделите его и нажмите «Запретить использование агента», затем запустите тест снова.
5. Тестирование через визуальный режим для поиска места зависания
Чтобы понять, где именно код дает сбой:
Запустите тест в режиме «Визуализация» на минимальном таймфрейме (М1) и очень коротком отрезке времени (буквально 1–2 дня).
Как только картинка замерла, переключитесь на рабочий стол Windows и откройте Диспетчер задач ( Ctrl+Shift+Esc ).
Найдите процессы metaeditor.exe или сторонние agent.exe . Если они потребляют 0% ЦП — это дедлок (ожидание ресурса). Если 25–50% — бесконечный цикл расчетов.
В момент замирания нажмите паузу в визуализаторе. Посмотрите, какая цена была на графике и какие объекты пытался нарисовать советник (линии Darc Cloud обычно перерисовываются сложными трендовыми линиями).
6. Запуск в безопасном режиме
Попробуйте запустить сам терминал с ключом /skipupdate или в чистом профиле:
Создайте ярлык МТ5, зайдите в его свойства и в поле «Объект» после закрывающей кавычки добавьте пробел и текст: /portable
Это заставит терминал писать все данные рядом с собой (в свою папку установки), минуя скрытые папки AppData. Если в этом режиме тест пройдет успешно — значит, проблема точно в мусоре в вашем профиле пользователя.
7. Проверка журнала тестера
Перед тем как удалять файлы, загляните в журнал:
В окне тестера стратегий перейдите на вкладку «Журнал».
Последняя строка перед зависанием укажет на проблему: например, zero divide (деление на ноль), array out of range (выход за пределы массива при расчете облака Ишимоку) или просто резкое прекращение записей.
Начнн с пункта №1 (ручная чистка папки AppData ). В 99% случаев после удаления файлов из ...\Terminal\<ID>\tester\ зависание исчезает, так как стирается информация о прерванном процессе, которую переустановка основной программы не затрагивает.
Мне удалось вытащить последние 100 цен Close, дальше упёрся. Не могу сообразить, как теперь посчитать количество после пересечения.
Мне удалось вытащить последние 100 цен Close, дальше упёрся. Не могу сообразить, как теперь посчитать количество после пересечения.
Мне удалось вытащить последние 100 цен Close, дальше упёрся. Не могу сообразить, как теперь посчитать количество после пересечения.
Ответ буде в любом случае не точен !!!!!!!!!!!!! Автор, запроса, не указал под какую систему, это нужно сделать (мт4 или мт5). Однако , вот под мт 5, это будет выглядить так
Ответ буде в любом случае не точен !!!!!!!!!!!!! Автор, запроса, не указал под какую систему, это нужно сделать (мт4 или мт5). Однако , вот под мт 5, это будет выглядить так
Господи!!! Как много всего!