Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Build 628. Никаких входящих тиков. >500 раз/секунду. Замечательно!
Build 628. Никаких входящих тиков. >500 раз/секунду. Замечательно!
Значит, в билде 509 такого не происходит? А как насчет 625?
Исправлено, и это было связано с моим кодом. Я добавил переменные, которые не были инициализированы должным образом, поэтому вычисления зацикливались бесконечно.
Я заговорил слишком рано, дело было не в этом. На самом деле это была проблема чтения файла, у меня 28 ботов читали один и тот же файл настроек. Все, что я сделал, это переключился на FILE_SHARE_READ вместо FILE_READ. Теперь все в норме.
У меня все еще высокое использование процессора на одном терминале. Использую сборки 745 и 765. Я тестировал терминал без загруженных графиков, новости отключены, оповещения отключены. Все еще получаю 40-60% использования процессора. двухъядерный 3.1Ghz vps win2008, R2 64 bit. 1.5GB ram, 400-800MB ram free. Работает около 7 терминалов. Некоторые терминалы, загруженные графиками, показывают 1-3% использования процессора. Почему такое высокое использование на случайных терминалах, даже если ничего не запущено?
edit: Вот скриншот страницы свойств процесса Process Explorer:
Я пытаюсь убить поток с высоким использованием. Когда я это делаю, другой поток, использующий такое же использование процессора, занимает его место.
edit: затем я пытаюсь "приостановить" поток (не убивать его).
Это снижает cpu, но мне нужно посмотреть, влияет ли это на терминал каким-либо другим образом. Предыдущие сообщения предполагают, что котировки перестали приходить на терминал (когда они убиты). Поэтому, когда рынок возобновится сегодня, мне нужно будет посмотреть. Я попытался возобновить его сейчас, и поток просто прыгает обратно к высокому использованию процессора. Нет открытых графиков, и в просмотре рынка нет символов (скрыть все). Плюс рынки закрыты, поэтому нет входящих тиков.
Когда я приостанавливаю поток, терминал работает нормально в течение 5-10 минут, затем он внезапно замирает (не отвечает), и тогда вы должны либо отменить приостановку (возобновить) потока, чтобы заставить программу работать, либо перезапустить программу.
Я заметил, что другой терминал, который я запустил примерно в то же время после перезагрузки, также имел высокий уровень использования памяти, но больше не имеет его (вернулся к 0,2-1,5% использования процессора). И в этом терминале открыты графики с советниками и индикаторами. Кажется, что здесь нет рациональной причины для необъяснимого высокого использования процессора, если я ничего не упускаю.
Я только что провел тестирование на совершенно новом тестовом сервере, на этот раз используя windows 2012 64 bit с 4 процессорами и 2gb ram. У меня были запущены терминалы с низким использованием процессора (между 0.1 и 1%) даже с несколькими загруженными графиками и индикаторами.
Затем я запустил свежеустановленный терминал, и примерно через 2 минуты после запуска он стал использовать 25% (без открытых графиков). Другие существующие терминалы использовали меньше.
Затем другие терминалы, которые вели себя без происшествий. Когда они перезапускаются, терминалы сразу же переходят к использованию высокого использования процессора. Hmmmmmm....
Я думаю, это какая-то ошибка в mt4, которая заставляет поток использовать так много cpu. Но почему?
-------
edit: Разблокировав файл mql4.codebase.en.dat, использование процессора возобновилось до 0.2-3%. Он больше не использует максимум процессора на терминал, и файл пишет нормально.
Файл mql4.codebase.en.dat находится здесь: Users\[user]\AppData\Roaming\MetaQuotes\Terminal\Community
Ранее для некоторых файлов mt4 были назначены разрешения только на чтение, чтобы уменьшить раздутость.