Загадки тестера - страница 3

 

Приведите оба примера эксперта (для MetaTrader 4 и MetaTrader 5), пожалуйста. Проведем сравнения прямо тут.

Не совсем понятно про "обижает одноядерники" - ни архитектура, ни идеология, ни реализация тестера не менялись. Опишите ситуацию более детально, пожалуйста.

 

Для информации о поведении тестера торговых стратегий MetaTrader 5 в отношении потоков:

  1. С 353 билда при одиночном тестировании агент тестирования остается активным в памяти и ждет следующей задачи от терминала в течение 5 минут

    До 353 билда одиночные тесты запускали и останавливали агента на каждом тесте и фактически тратили около 3-4 секунд на подготовительные работы. Теперь агент остается активным и ждет следующей задачи от терминала. Это дает реальное ускорение при повторных запусках одиночных тестов, так как агенту не приходится заново инициализироваться и поднимать кеши с данными. Ниже приведен пример повторного запуска эксперта - на втором прогоне общее время (total time) уменьшилось на 3 секунды как раз за счет готовности агента:
    1 прогон: EURUSD,H1: 6125352 ticks (3052 bars) generated within 10359 ms (total bars in history 9199, total time 14046 ms)
    2 прогон: EURUSD,H1: 6125352 ticks (3052 bars) generated within 10515 ms (total bars in history 9199, total time 10890 ms)
    
    Можно не беспокоиться о фоновой активности агента - при закрытии терминала или через 5 минут простоя он автоматически выгрузится.

  2. В режиме оптимизации агенты тестирования всегда оставались и остаются активными в памяти до окончания процесса перебора

    То есть, в режиме оптимизации агенты не тратят время на подъем процесса и закачку данных.

  3. Одиночные (не в оптимизации) запуски процессов агентов (metatester.exe) происходят с обычным приоритетом

    Это означает, что одиночный агент может использовать все доступные ресурсы как минимум одного ядра. При запуске на одноядерном процессоре загрузка CPU будет 100%, что серьезно ухудшит возможность делать что-либо еще на компьютере во время тестирования.

    В следующем билде мы реализуем запуск одиночного агента с пониженным приоритетом на одноядерных процессорах.

  4. Запуск локальных агентов в режиме оптимизации всегда происходит с пониженным приоритетом

    Это делается для того, чтобы дать возможность компьютеру выполнять и другую работу при 100% загрузке всех ядер процессора. Понижение приоритета практически не влияет на эффективность/скорость расчетов, если компьютер не нагружен другими задачами - все ресурсы будут отданы агентам даже если у них пониженный приоритет. Не нужно пытаться вручную повышать приоритеты агентов - это не даст эффекта.

  5. Отдельно установленные агенты работают с обычным приоритетом

    Это означает, что отдельно установленные агенты могут нагрузить компьютеры на 100%, лишив возможности делать на них что-либо еще.

    В следующем билде мы обязательно будем автоматически выставлять пониженный приоритет таким агентам - это уже обещали раньше.
 
Renat:

1) Приведите оба примера эксперта (для MetaTrader 4 и MetaTrader 5), пожалуйста. Проведем сравнения прямо тут.

2) Не совсем понятно про "обижает одноядерники" - ни архитектура, ни идеология, ни реализация тестера не менялись. Опишите ситуацию более детально, пожалуйста.

1) Чуть позже, если не возражаете. Мне ещё четвёрку нужно из чулана достать.

К тому же оказалось сложновато подобрать пару экспертов с "аналогичным" потреблением вычислительных ресурсов. О! возьму пожалуй ваши, из примеров.

2)  Пока по поводу оптимизации на пятёрке:

Процессор AMD Sempron 3100+ ; разогнан до 2 гигагерц с копейками, 2 гига памяти. 

Советник Moving Average  из экзамплов.

Минутки по ценам открытия, один месяц.

Запись в журнале:

2010.11.06 23:16:37    Core 1    genetic pass (178, 6096225) returned result 67947.70 in 2781 ms
2010.11.06 23:16:34    Core 1    genetic pass (178, 6096225) started
2010.11.06 23:16:34    Core 1    genetic pass (177, 8988800) returned result 90095.13 in 3750 ms
2010.11.06 23:16:31    Core 1    genetic pass (177, 8988800) started
2010.11.06 23:16:31    Core 1    genetic pass (176, 7863763) returned result 36546.53 in 2765 ms
2010.11.06 23:16:28    Core 1    genetic pass (176, 7863763) started
2010.11.06 23:16:28    Core 1    genetic pass (175, 4116536) returned result 68854.13 in 3750 ms
2010.11.06 23:16:24    Core 1    genetic pass (175, 4116536) started
2010.11.06 23:16:24    Core 1    genetic pass (174, 4805712) returned result 89052.23 in 3141 ms
2010.11.06 23:16:21    Core 1    genetic pass (174, 4805712) started
2010.11.06 23:16:21    Core 1    genetic pass (173, 2541814) returned result 83580.35 in 3296 ms
2010.11.06 23:16:18    Core 1    genetic pass (173, 2541814) started
2010.11.06 23:16:18    Core 1    genetic pass (172, 7748363) returned result 35837.00 in 2125 ms
2010.11.06 23:16:16    Core 1    genetic pass (172, 7748363) started
2010.11.06 23:16:16    Core 1    genetic pass (171, 8904431) returned result 64075.71 in 2047 ms
2010.11.06 23:16:13    Core 1    genetic pass (171, 8904431) started
2010.11.06 23:16:13    Core 1    genetic pass (170, 8216646) returned result 33407.43 in 3031 ms


Не многовато?  Советник-то весьма простой.

 
MetaDriver:

Не многовато?  Советник-то весьма простой.
Приведите более полное описание условий тестирования, включая таймфрейм, символ, период истории, параметры эксперта.
 
Renat:
Приведите более полное описание условий тестирования, включая таймфрейм, символ, период истории, параметры эксперта.

Таймфрейм:  минутки

Символ: EURUSD

Период истории: с 01.09.2010 по 01.10.2010

Параметры эксперта: генетический алгоритм, оптимизация по всем параметрам.  Если ещё подробнее - сет-файл в прицепе.

Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
Файлы:
ma-set.rar  1 kb
 
MetaDriver:

Таймфрейм:  минутки

Символ: EURUSD

Период истории: с 01.09.2010 по 01.10.2010

Параметры эксперта: генетический алгоритм, оптимизация по всем параметрам.  Если ещё подробнее - сет-файл в прицепе.

Во!  Для сравнения.  Эксперт Moving Average.mq4,

Тот же период, тот же таймфрейм, тот же символ, та же машина - 1 минута 27 секунд на 1408 проходов оптимизатора. Из них кешированных (не пересчитываемых) 753, чисто расчётных 655.

Итого 655/87секунд = 7,52873 проходов в секунду.  Один проход за 0,13282 секунды.

Таки дела. Сет-файл прилагаю.
Файлы:
 

У меня такая же проблемма. На своем советнике busy и висит. Стандартный Moving шел полчаса с одним параметром и периодом тестирования год.