Как ускорить оптимизацию (перебор) в тестере? - страница 6

 

Вот ещё идея возникла.

Понимая, что есть ограниченное количество стандартных индикаторов, ограниченное количество Брокеров (ДЦ) и ограниченное количество торговых инструментов, и понимая, что ограничить известное можно до разумных размеров, можно информация по индикаторам - итог вычислений, копить так же, как копятся история котировок.

Необходимо создать прокси сервер, который при не тиковых стратегиях даст существенный прирост производительности для всех пользователей!

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

 
joo:

Пересмотрел недавно свой подход к построению архитектуры самодельного тестера/оптимизатора.... Раньше проблема была в негибкости применения индикаторов, т.е. добавил или поменял индикатор в системе - приходится переписывать код.

Что-то совсем криво.

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

Да, требуется немалое количество памяти, но это того стоит. Предвижу возражения - отвечу: можно ранжировать агенты по доступной памяти и выбирать соответствующие, а можно и рубильник к тестеру прикрутить, где можно выбирать быстро(дороже)/медленно(дешевле)..

Наблюдается какое-то зацикливание на агентах, облаке. Решить бы сначала задачу на локальной машине без доп. агентов. А то уходим от начаьной постановки в сторону.
 
joo:

а вот ещё идея.. правда сейчас администрация закидает меня тухлыми помидорами за это.

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

Кто-нибудь писал тестер для своих нужд? Во сколько раз получается быстрее, чем все считающий MT? Наивно полагал, что история доступна и для мат. расчетов. Но если не доступна, то тормозные расчеты MT-тестераможно исключить самому - не использовать Order-функции, а эмулировать их. Тогда будет быстрее. Но пока с порядком цифр не определимся, пустой разговор. Так во сколько быстрее самодельные тестеры?

 

Логично родить и следующий вопрос: во сколько самодельный оптимизатор быстрее MT-оптимизатора (без агентов)?

 
komposter:

MQ вроде пытались решить эту проблему, но, видимо, безуспешно, я тоже несколько раз натыкался на таких одиночек-тормозов.

Проблема, наверное, в оптимальном соотношении "цена / скорость" - тормоза не отбрасываются слишком рано (чтоб не переплачивать всегда), но и не ожидаются часами (чтоб заказчик получил результат). Может, достаточно ползунок немного передвинуть?..

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

Но вот просто некоторые хорошие агенты могут неожиданно и непредсказуемо тормознуть.


Кстати, с передачей кастомных файлов мы введем новые критерии оценки, что должно помочь в скорости.

 
meat:
Похоже вы один из ярых фанатиков MT, слепо верящих всему что говорят разработчики. Попробуйте перенести любой более-менее тяжёлый алгоритм из MQL на С++, и вы увидите ускорение раза в 3 даже в одном потоке.  Так что не стоит рассказывать эти небылицы.  А нравоучения о том, что "хороший повод задуматься" и т.д. - здесь не очень то уместны. Топикстартер вроде не производит впечатление чайника, чтобы читать ему азбуку.

А вы вместо С++ в managed язык перенесите, где жесткая проверка как в MQL5 и посмотрите на разницу. У нас ведь приоритет за защитой и работе в песочнице.

Хотя сейчас MQL5 уступает C++, но мы близки к выпуску новой версии оптимизирующего компилятора, который по скорости выполнения на уровне C++ в большинстве случаев. Это полностью закроет вопрос о сторонних вычислениях.

 
-Aleks-:

Вот ещё идея возникла.

Понимая, что есть ограниченное количество стандартных индикаторов, ограниченное количество Брокеров (ДЦ) и ограниченное количество торговых инструментов, и понимая, что ограничить известное можно до разумных размеров, можно информация по индикаторам - итог вычислений, копить так же, как копятся история котировок.

ага, хорошая идея. только одна проблема - нет таких ещё подходящих по размерам жд.