Анализ результатов тестов и оптимизации в тестере стратегий MetaTrader 5 - страница 12
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Недавно описывал работу с памятью в режиме оптимизации. Возможно, там несколько вариантов.
В частности, для этого сделан EAToMath. Там при любом размере истории (только для одного символа) и количестве ядер памяти будет всегда хватать на все.
В частности, для этого сделан EAToMath. Там при любом размере истории (только для одного символа) и количестве ядер памяти будет всегда хватать на все.
Только остался один вопрос - вроде в описании EAToMath написано, что "Торговые индикаторные советники" поддерживаются, но в коде и примере для работы индикаторов ничего нет. В чем я ошибаюсь?
На сервере с 12 потоками и 128 Гб оперативки, при оптимизации в режиме "Каждый тик на основе реальных тиков", с 2019 года по сейчас, прогоны стали сыпаться из-за недостатка оперативки. Тестер правда загружает на каждом ядре всю историю реальных тиков в память одним куском? При том, что она гарантированно одинаковая для всех потоков, и используется только локальные агенты, сеть и облако не используется. Т.е. необходимо и достаточно один раз в память загрузить эти котировки и далее к ним обращаться из всех потоков в режиме чтения. Но нет, похоже это так не работает.
Отключил 7 потоков из 12, все пошло нормально
Да, уже были такие предложения не раз, но приоритеты по задачам в MQ всегда были странными.
Справедливости ради отметим, что агенты - это отдельные процессы и потому доступ к общей базе тиков (если её когда-то сподобятся сделать) нужно обеспечить из них, а не из потоков одного процесса.
Только остался один вопрос - вроде в описании EAToMath написано, что "Торговые индикаторные советники" поддерживаются, но в коде и примере для работы индикаторов ничего нет. В чем я ошибаюсь?
Если без мат. режима, то поддерживаются. В мат. режиме - нет. В первом случае за использование RAM отвечает только штатный Тестер, во втором - EAToMath.
Для меня загадка, почему для торговли не хвататет SymbolInfoTick. Если нужны бары, тo надо только написать свой вариант CopyBuffer из SymbolInfoTick. Свои индикаторы писать через эту прокладку. Тогда всегда индикаторам будет достаточно SymbolInfoTick в Тестере, включая EAToMath. А в Терминале они будут работать штатно - через терминальный CopyBuffer.
Для меня загадка, почему для торговли не хвататет SymbolInfoTick. Если нужны бары, тo надо только написать свой вариант CopyBuffer из SymbolInfoTick. Свои индикаторы писать через эту прокладку. Тогда всегда индикаторам будет достаточно SymbolInfoTick в Тестере, включая EAToMath. А в Терминале они будут работать штатно - через терминальный CopyBuffer.
Потому что такая прокладка - это куча рутинного программирования и долгой борьбы с "тормозами", которые в этой самодельной реализации однозначно возникнут.
Для меня загадка, почему для торговли не хвататет SymbolInfoTick.
Реклама.
Как понять вот эти сообщения без указания причины, где узнать конкретную причину
Видел только одну - ордер исполняется по цене тика.
То есть, Вы хотите сказать, что если у нас стоит режим "Только цены открытия"