процессор загружается примерно на 25 - 30%. При чем, в варианте с while уровень загрузки немного больше, чем при работе в OnTimer, как мне показалось. Мой процессоре i5-5200U (2 ядра, 4 потока). Все потоки загружаются равномерно. И второй вопрос:. Можно ли выжать больше из процессора с помощью MQL, хотя бы загрузить его процентов на 80, чтобы увеличить скорость оптимизации?
В первом вопросе разобрался. Но на счёт мастера не в курсе. Есть ли где-то примеры, как это делать?
Один из экспертов должен быть мастером и управлять остальными. Пишете сами. Связь между экспертами производится множеством способов (глобальные переменные, файлы, ресурсы, графические объекты, pipe, shared memory). Многозадачность - не очень элементарная задача.
Один из экспертов должен быть мастером и управлять остальными. Пишете сами. Связь между экспертами производится множеством способов (глобальные переменные, файлы, ресурсы, графические объекты, pipe, shared memory). Многозадачность - не очень элементарная задача.
То есть, под мастером вы подразумевали простого эксперта... Ну это несложно. Пробовал параллельно запускать несколько копий эксперта с разделенными вручную настройками до почти полной загрузки процессора... Вполне приемлемый способ. Нужно будет еще заморочиться с главным экспертом, чтобы он, запускал экспертов, отправлял данные и собирал результаты... Спасибо!
Переоптимизация каждую миллисекунду? Зачем?
Это только по команде. В цикле while еще быстрее. Последовательный перебор комбинаций параметров до завершения, а не переоптимизация.
Работаю над экспертом с автономной оптимизацией параметров. Если перебор комбинаций оптимизируемых параметров осуществлять в OnTimer, с минимально возможным периодом 1 миллисекунда, то, при заданных настройках оптимизация занимает 5 минут. Но если функцию оптимизации я запускаю, в цикле while, в обработчике OnChartEvent, по нажатию на кнопку, то время оптимизации увеличивается на целых 4 минут. Получается, 9 минут занимает оптимизация с помощью while. Почему так получается?
И еще, как в первом, так и втором варианте, процессор загружается примерно на 25 - 30%. При чем, в варианте с while уровень загрузки немного больше, чем при работе в OnTimer, как мне показалось. Мой процессоре i5-5200U (2 ядра, 4 потока). Все потоки загружаются равномерно. И второй вопрос:. Можно ли выжать больше из процессора с помощью MQL, хотя бы загрузить его процентов на 80, чтобы увеличить скорость оптимизации?
перевести "оптимизацию" на другой эксперт, а лучше сервис. Они в отдельном потоке, поэтому будет лучше..
пока ещё не дали возможность программно создавать поток, придётся так..Придумайте как данные передавать+синхронизовать и вперёд.
перевести "оптимизацию" на другой эксперт, а лучше сервис. Они в отдельном потоке, поэтому будет лучше..
пока ещё не дали возможность программно создавать поток, придётся так..Придумайте как данные передавать+синхронизовать и вперёд.
Как это можно сделать с помощью сервиса?
Как это можно сделать с помощью сервиса?
сервис - просто вычислительный процесс..
void OnStart() {
while(!IsStopped()) {
/// что-то тут бесконечно вычисляем
}
}
придумайте способ обмена данными с основным,торговым экспертом..
например большие данные через файлы и сигналить глоб.переменными. Или результат класть в переменные терминала.
сервис - просто вычислительный процесс..
void OnStart() {
while(!IsStopped()) {
/// что-то тут бесконечно вычисляем
}
}
придумайте способ обмена данными с основным,торговым экспертом..
например большие данные через файлы и сигналить глоб.переменными. Или результат класть в переменные терминала.
Я раньше видел пункт "Cервис" в Мастере MQL но не вникал в подробности. А сейчас вбил в поиске и почему-то ничего не удается найти о сервисах...
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Работаю над экспертом с автономной оптимизацией параметров. Если перебор комбинаций оптимизируемых параметров осуществлять в OnTimer, с минимально возможным периодом 1 миллисекунда, то, при заданных настройках оптимизация занимает 5 минут. Но если функцию оптимизации я запускаю, в цикле while, в обработчике OnChartEvent, по нажатию на кнопку, то время оптимизации увеличивается на целых 4 минут. Получается, 9 минут занимает оптимизация с помощью while. Почему так получается?
И еще, как в первом, так и втором варианте, процессор загружается примерно на 25 - 30%. При чем, в варианте с while уровень загрузки немного больше, чем при работе в OnTimer, как мне показалось. Мой процессоре i5-5200U (2 ядра, 4 потока). Все потоки загружаются равномерно. И второй вопрос:. Можно ли выжать больше из процессора с помощью MQL, хотя бы загрузить его процентов на 80, чтобы увеличить скорость оптимизации?