Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5 - страница 12

 
fxsaber #:

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

В частности, для этого сделан EAToMath. Там при любом размере истории (только для одного символа) и количестве ядер памяти будет всегда хватать на все.

Спасибо конечно Вам, это крутая работа, но пока не готов переходить на мат вычисления. Хотелось бы, чтобы разрабы, которые внедряют кучу всего, предположительно нужного, обратили внимание также на то, что нужно и можно доработать совершенно точно с пользой для реальных трейдеров.
 
fxsaber #:

В частности, для этого сделан EAToMath. Там при любом размере истории (только для одного символа) и количестве ядер памяти будет всегда хватать на все.

Только остался один вопрос - вроде в описании EAToMath написано, что "Торговые индикаторные советники" поддерживаются, но в коде и примере для работы индикаторов ничего нет. В чем я ошибаюсь?

 
Ilya Malev #:

На сервере с 12 потоками и 128 Гб оперативки, при оптимизации в режиме "Каждый тик на основе реальных тиков", с 2019 года по сейчас, прогоны стали сыпаться из-за недостатка оперативки. Тестер правда загружает на каждом ядре всю историю реальных тиков в память одним куском? При том, что она гарантированно одинаковая для всех потоков, и используется только локальные агенты, сеть и облако не используется. Т.е. необходимо и достаточно один раз в память загрузить эти котировки и далее к ним обращаться из всех потоков в режиме чтения. Но нет, похоже это так не работает. 

Отключил 7 потоков из 12, все пошло нормально

Да, уже были такие предложения не раз, но приоритеты по задачам в MQ всегда были странными.

Справедливости ради отметим, что агенты - это отдельные процессы и потому доступ к общей базе тиков (если её когда-то сподобятся сделать) нужно обеспечить из них, а не из потоков одного процесса.

Новая версия платформы MetaTrader 5 build 5120: улучшения и исправления - Для тестирования по большим данным нужно использовать ArrayInitialize что ли?
Новая версия платформы MetaTrader 5 build 5120: улучшения и исправления - Для тестирования по большим данным нужно использовать ArrayInitialize что ли?
  • 2025.06.19
  • www.mql5.com
что ради ускорения тестирования тиковая и баровая история загружается в оперативку каждому агенту. всем агентам или по 1 копии для 8 агентов или по 1й копии на 1 канал в оперативке - тогда замедление тоже будет минимальным
 
Stanislav Korotky #:

Только остался один вопрос - вроде в описании EAToMath написано, что "Торговые индикаторные советники" поддерживаются, но в коде и примере для работы индикаторов ничего нет. В чем я ошибаюсь?

Если без мат. режима, то поддерживаются. В мат. режиме - нет. В первом случае за использование RAM отвечает только штатный Тестер, во втором - EAToMath.


Для меня загадка, почему для торговли не хвататет SymbolInfoTick. Если нужны бары, тo надо только написать свой вариант CopyBuffer из SymbolInfoTick. Свои индикаторы писать через эту прокладку. Тогда всегда индикаторам будет достаточно SymbolInfoTick в Тестере, включая EAToMath. А в Терминале они будут работать штатно - через терминальный CopyBuffer.

 
fxsaber #:

Для меня загадка, почему для торговли не хвататет SymbolInfoTick. Если нужны бары, тo надо только написать свой вариант CopyBuffer из SymbolInfoTick. Свои индикаторы писать через эту прокладку. Тогда всегда индикаторам будет достаточно SymbolInfoTick в Тестере, включая EAToMath. А в Терминале они будут работать штатно - через терминальный CopyBuffer.

Потому что такая прокладка - это куча рутинного программирования и долгой борьбы с "тормозами", которые в этой самодельной реализации однозначно возникнут. Никто пока не дошел это этого, хотя я давно видел в маркете похожий продукт, но потом не смог его найти.
 
Stanislav Korotky #:
Потому что такая прокладка - это куча рутинного программирования и долгой борьбы с "тормозами", которые в этой самодельной реализации однозначно возникнут.
Самодельные тестеры не востребованы. Клепать под них доп. функционал - бестолковая работа. Мне реально хватает того, что выложил.
 
fxsaber #:

Для меня загадка, почему для торговли не хвататет SymbolInfoTick.

Реклама.

 

Как понять вот эти сообщения без указания причины, где узнать конкретную причину

 

 
fxsaber #:
Видел только одну - ордер исполняется по цене тика.
То есть, Вы хотите сказать, что если у нас стоит режим "Только цены открытия", и, например, таймфрейм Н1, на открытии часа при цене 100, мы выставляем ордер, к примеру, бай стоп по цене 150, открытие следующего за ним часа 200, то наш ордер бай стоп будет превращен в ордер бай по цене 200?
 
Ilya Malev #:
То есть, Вы хотите сказать, что если у нас стоит режим "Только цены открытия"
У нас стоит только "по реальным тикам".