Проблемы с памятью - страница 2

 
При тестировании билда от 14 апреля обнаружилась еще одна проблема - устанавливаю параметры эксперта, запускаю на оптимизацию, смотрю - долго будет считать, нажимаю Стоп, как обычно меняю параметры в сторону уменьшения времени расчета и чтобы не было переполнения памяти, нажимаю Старт и мгновенно получаю в журнале
Memory handler: cannot allocate ... при этом тестер продолжает типа работать выдавая теже сообщения.
Я так понимаю это связано с отсутствием или неправильной проверкой на изменение параметров при введении режима возобновления расчетов.
Может стоит добавить Режим(кнопку) "Пауза". Т.е. разделить Стоп и Паузу, чтобы Стоп был стопом (без продолжения), а Пауза паузой (с возобновлением).
 

Имеете в виду, что вывод в файл должен помочь затормозить программу раз в 100 ? :)))


Да, тормоза будут сильные, если не распараллелить эти процессы. Но тогда могут возникнуть проблемы с синхронизацией. Можно выводить на виртуальный диск в ОЗУ.


Но мы найдем решение проблемы.


Желаю удачи
 
Спасибо за поднятый вопрос - с понедельника возьмемся за решение.
 
В версии от 14 апреля в результатах тестирования появилось много нулевых сделок (т.е. прибыль=0, кол-во сделок=0, все=0), как будто выключили фильтрацию.
Нельзя ли добавить в Настройки-Свойства эксперта-Оптимизация- параметры "Минимильная прибыльность" и "Минимальное кол-во сделок".
 
Я конечно же извиняюсь за маленький офтопик, но можно спросить для чего могут быть использованы результаты 2,7 млн. прогонов на небольших периодах времени? Они ведь никакой статистической ценности не имеют? Я например по своему опыту провожу оптимизацию каждого параметра по отдельности используя метод последовательных приближений (для информации один прогон в тестере моего эксперта занимает 3мин на P4 2,4ГГц – период М1(все тики) за 1,5 года). То есть делю диапазон значений например на 20 интервалов, далее в области максимума делю пару прилегающих к максимуму интервалов из предыдущей оптимизации ещё на 20 интервалов и делаю ещё один такой же шаг. Обычно 3-4 таких итерации оказывается вполне достаточно. Таким образом мы получаем в итоге результат по точности сопоставимый с прогоном сразу по 8000 интервалам с самым мелким шагом (20 в 3 степени). При этом мы имеем экономию в 8000-3*20=7940 итераций. То есть в идеале тратим время в 133 раза меньше, чем при тупом прогоне сразу на мелком шаге. При этом нужно отметить, что если у нас имеется ограниченное количество самого времени, за которое мы хотим получить результат (например мы можем подождать результат до вечера рабочего дня), то мы можем взять в 133 раза более длительный период для тестирования (например вместо 1 недели можно будет посчитать по 133 неделям) и в итоге мы будем иметь результат который будет хоть чего-то стоить, потратив на это тоже самое количество расчётного времени! А результаты быстрых прогонов численностью в 2,7 млн. штук, которых человек в состоянии дождаться, у меня вызывают серьёзные сомнения в плане применимости полученных результатов.
Конечно же мне можно возразить в плане того, что при просчёте всех мелких интервалов можно получить какой-то новый максимум, который будет упущен при расчёте по методике последовательных приближений, описанной выше. Но на это можно сказать, что в таком случае можно поймать лишь максимум, отражающий особенности выборки, и которых не будет в будущем! То есть при оптимизации должны выбираться параметры, изменение которых в небольших пределах, вызывает небольшое изменение в конечном результате. Ну а если у вас на мелком шаге окажется супер-пупер максимум, который мы можем не отследить на более крупном шаге, то можно быть точно уверенным, что данный максимум отражает ТОЛЬКО особенности конкретной выборки и его лучше не принимать во внимание вообще. В принципе я тут изложил банальности, которые и так все знают. Просто хотелось бы понять постановку задачи о миллионных прогонах стратегий. Вдруг чего-то в этой задаче есть полезного для общего дела?
 
Просто хотелось бы понять постановку задачи о миллионных прогонах стратегий. Вдруг чего-то в этой задаче есть полезного для общего дела?

Для нас, как для разработчиков, полезность есть - оптимизировать механизмы тестирования :)

Да и скоро к 193 билду будет генетический оптимизатор - вот там то и будет раздолье для массовых прогонов на больших промежутках тестируемых параметров.
 
Я конечно же извиняюсь за маленький офтопик, но можно спросить для чего могут быть использованы результаты 2,7 млн. прогонов на небольших периодах времени? Они ведь никакой статистической ценности не имеют?


Совершенно верно. На небольших периодах - никакой. Я предложил сократить период расчетов, чтобы тестер у разработчиков быстрее добрался до ошибки. Вот и все.

Просто хотелось бы понять постановку задачи о миллионных прогонах стратегий.


Очень просто. Прогон новой идеи по всему полю с грубым шагом, но количество изменяемых параметров достаточно велико, именно они и дают эти миллионы. Такой прогон сразу покажет - выбросить эту идею или стоит покопаться в определенных местах, вот тогда-то и наступает метод приближений, которые Вы упоминали. Что касается времени, то современные двухядерные процессоры позволяют просчитать за ночь и большие обьемы, но тут проявилось ограничение по памяти - и появилась эта тема.
 
Прогон новой идеи по всему полю с грубым шагом, но количество изменяемых параметров достаточно велико, именно они и дают эти миллионы.

Я на всякий случай хотел бы вас предостеречь насчёт очень большого количества изменяемых параметров. Если у вас изменяемых параметров очень много, а период тестирования не достаточно велик, то используя тестер МТ4 на 2х ядерной мощной системе у вас ЛЮБАЯ стратегия в тестере сможет показать положительный результат, который может ввести вас в заблуждение. Так что нужно быть предельно осторожным в этом плане.
 
Если у вас изменяемых параметров очень много, а период тестирования не достаточно велик, то используя тестер МТ4 на 2х ядерной мощной системе у вас ЛЮБАЯ стратегия в тестере сможет показать положительный результат, который может ввести вас в заблуждение. Так что нужно быть предельно осторожным в этом плане.


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

Действительно, истина на Форексе лежит совсем не там где ходит основная толпа страждущих ;o).
И пока не ткнёшь куда-нибудь пальцем на основе метода научного тыка, не сможешь к этой истине хоть немного приблизиться. Это я на основе своих экспериментов уже понял ;o).
Причина обращения: