Предложение по доработке MT

 
Уважаемые разработчики.

1) Очень печалюсь, когда свет выключается на самом интеерсном месте оптимизации на 62 часа. Может делать бэкап? Это еще поможет, когда ну ооочень хочется посмотреть на какой-то результат оптимизации, пока тестирование еще не закончилось - прогнать и взглянуть на график.

2) Порой хочется уйти от прямого перебора параметров к другим более интелектуальным алгоритмам. Большое спасибо за генетическую оптимизацию - ООООЧЕНЬ помогает, но я думаю метод монте-карло (фокусирующийся), градиентного спуска и их комбинации не помешали бы совершенно!
 
Еще одно.

1) Порой интересны не только средние параметры по всему тестируемому и оптмизируемому отрезку, но и равномерность этих параметров на множестве. Т.е. советник, который дает СТАБИЛЬНО 5 матожидания лучше, чем тот, что половину отрезка сливает депо а потом дает сразу 15. Т.е. может быть сделать коэфициент, который бы отвечал за эту "однородность" параметра? Например, побить отрезок на N частей (N вводится пользователем), вычислить результаты (прибыльность, среднее, просадку, кол-во сделок) по каждому из отрезочков и как показатель однородности использовать 1/(1+D(Ksi)) - 1 поделить на 1 + дисперсия параметра на этих N отрезочках (или среднеквадратическое отклонение в квадрате, что то же самое).

Очень поможет!!!

2) Сделать возможность юзер вводить свою собственную целевую функцию для оптимизации - чтобы он мог оптимизировать что-то вроде КОЛ-ВО-СДЕЛОК * ПРИБЫЛЬНОСТЬ / ПРОСАДКУ^3. Иногда этого так не хватает!

3) Очень полезен был бы такой параметр, как дисперсия в отчете. Просадка это, конечно, хорошо - они прямо зависимы, дисперсия и просадка, но все-таки для подсчета было бы интересно посмотреть на дисперсию.
 
Developers! Ау!
 
kniff писал (а):
когда свет выключается на самом интеерсном месте оптимизации на 62 часа.
LCD монитор с низким потреблением энергии, + UPS на 1000 W спасёт отца русской демократии. :)

А вот почему в переборе оптимизации до сих пор не могут участвовать bool параметры, довольно странно. У них всего два значения - нолик (false) и единичка (или минус единичка, кому как нравится), цикл из двух вариантов. Мелочь, а досадно, мешает развитию.
 
А ещё бы не помешали енамчики (enum), в том числе возможность объявления внешних (extern) параметров такого типа. Что-то вроде:
public enum MyIndicator { Envelopes, MACD, Momentum, Moving Average }

Чтобы такие типы также участвовали в переборе оптимизации.
Весьма удобно было бы перебирать разные комбинации индикаторов.
 
Отца русской демократии не спасут - уж порой больно надолго гады свет отрубают НА РАБОТЕ. По ночам как пробки выбъет - и пипец. Ну все енумы и булы легко заменяются int. И проблема решена :)

Это проще, нежели купить дизель-генератор.
 
Есть еще предложение, может быть на первый взгляд странное... :-))) Тут много копий ломается по поводу подгонки параметров под историю. Много негатива сквозит от некоторых товарищей на эту тему. Но я все никак не возьму в толк, как может быть построена эффективная система без подгонки. Если не прав, пусть мне хоть кто нибудь покажет такую систему. Да и жизнь доказывает необходимость подгонки. Не зря же масса людей тут этим упоенно занимается :-))). Так вот предложение. Хорошо было бы, если б тестер можно было вызывать как библиотеку из советника, или еще каким либо способом. Правильная мысль состоит в том, что рынок меняется. Само собой напрашивается другая правильная мысль, чтоб можно было оптимизировать параметры советника непрерывно и в автоматическом режиме. Допустим раз в сутки, я бы прямо из советника вызывал тестер и уточнял параметры. (естественно с учетом ресурсов и времени тестирования). Допустим у меня работает советник на основе двух МА. Так вот, я бы мог раз в сутки, не утруждаясь, уточнять параметры этих МА, непрерывно таким образом подстраиваясь под изменения рынка. Идея возникла у меня как у человека, занимающегося электроникой. Там таких самоподстраивающихся схем пруд пруди. Идея автотрейдинга вышла на новый уровень после создания сред типа MQL4. Ну а если мое предложение реально, то это был бы наверно еще один новый уровень. не уступающий по значимости. Следующий шаг, так сказать....:-)))
 
Ваша идея повторяется строго регулярно, переходя из форума в форум. Но пока что разработчики на её реализацию не соглашались.
 
Смотрим билд 195 от 03.07.06

Выпущен обновленный клиентский терминал MetaTrader 4 build 195

Что исправлено и добавлено:
1. Тестер: добавлен генетический алгоритм.
2. Тестер: расширено количество оптимизируемых параметров.
3. Тестер: в отчёт добавлена относительная просадка в процентах.
4. Тестер: улучшена работа кеша оптимизатора.
5. Тестер: более точная генерация тиков.
6. Тестер: исправлена ошибка при повторном запуске тестирования при использовании пользовательскими индикаторами объектов.
7. Тестер: исправлена ошибка подсчёта свободной маржи.
8. Тестер: исправлена ошибка переинициализации тестового графика.
9. Тестер: исправлен ошибочный реквот при тестировании экспертов, торгующих с проскальзываением, равным 0.
10. MQL4: в MarketInfo() добавлен параметр MODE_MAXLOT.
11. MQL4: добавлены функции IsOptimization(), IsTradeContextBusy(), IsExpertEnabled().
12. MQL4: исправлена ошибка определения конца строки в некоторых исходных файлах.
13. Исправлена ошибка отображения фоновых эллипсов и прямоугольников огромного размера.
14. Добавлено моментальное обновление данных счёта после открытия позиции.
15. Добавлена возможность использования

Ctrl-V и Ctrl-C в строке быстрой навигации.
16. Добавлен конфигурационный файл datacenter.ini
17. Добавлена возможность использования конфигурационного файла при старте терминала.
18. Справка клиентского терминала дополнена разделами «Конфигурация при старте» и «Datacenter.ini».
19. Изменена проверка стопов перед посылкой запроса на сервер.
20. Исправлена проверка отложенных ордеров.
21. Исправлен расчёт линейной регрессии.
22. Добавлено автосохранение глобальных переменных после изменения.
23. Добавлено автосохранение журнала экспертов после завершения выполнения функции start().
24. Добавлен сброс журнала клиентского терминала на диск после торговых операций.
25. Добавлены итальянский и голландский языки.
26. Исправлена работа с автономными графиками со стандартным периодом.
27. Добавлено принудительное закрытие MessageBox, вызванного из эксперта или скрипта при деинициализации.
28. Добавлено прерывание подкачки истории при смене аккаунта.
29. Добавлено выделение всех объектов в списке (диалог «Список объектов») при помощи Ctrl-A. 30. Исправлен порядок расположения окон графика при переупорядочивании.




Из справки терминала в разделе "Сервис"-"Конфигурация при старте"

Настройки запуска тестера стратегий

  • TestExpert - имя эксперта, который должен быть запущен на тестирование. Если этот параметр отсутствует, то никакое тестирование не запускается.

  • TestExpertParameters - имя файла с параметрами (каталог \tester). Такой файл можно создать в окне свойств тестируемого эксперта, нажав кнопку "Входные параметры - Сохранить" Обычно используется для хранения параметров, отличающихся от умолчательных. Другие параметры тестируемого эксперта из вкладок "Тестирование" и "Оптимизация" (а также из вкладки "Входные параметры" в случае отсутствия данного параметра) заполняются значениями, сохраненными автоматически в файле \tester\[имя эксперта].ini после последнего тестирования.

  • TestSymbol - название инструмента, на данных которого должно производиться тестирование эксперта. В случае отсутствия этого параметра используется последнее использованное в тестере значение.

  • TestPeriod - период графика (M1, M5, M15, M30, H1, H4, D1, W1, MN). При отсутствии данного параметра используется H1.

  • TestModel - 0, 1 или 2 в зависимости от модели тестирования (Все тики, Контрольные точки, По ценам открытия). В случае отсутствия этого параметра используется значение 0 (Все тики).

  • TestRecalculate - включить/выключить флажок "Пересчитать". Принимаемые значения "true" или "false". В случае отсутствия этого параметра используется значение "false".

  • TestOptimization - включить/выключить оптимизация. Принимаемые значения "true" или "false". В случае отсутствия этого параметра используется значение "false".

  • TestDateEnable - включить/выключить опцию "Использовать даты". Принимаемые значения "true" или "false". В случае отсутствия этого параметра используется значение "false".

  • TestFromDate - дата начала диапазона тестирования в виде YYYY.MM.DD. В случае отсутствия этого параметра подразумевается 1970.01.01.

  • TestToDate - дата конца диапазона тестирования в виде YYYY.MM.DD. В случае отсутствия этого параметра подразумевается 1970.01.01.

  • TestReport - имя файла отчета тестирования. Файл будет создан в директории клиентского терминала. Можно указывать относительный путь, например: tester\MovingAverageReport". Если в имени файла отчета не указано расширение, то будет подставлено расширение ".htm". В случае отсутствия данного параметра отчет тестирования формироваться не будет.

  • TestReplaceReport - разрешить/запретить повторную запись файла отчета. Принимаемые значения "true" или "false". Если указано значение "false" и файл отчета с таким именем уже существует, то к имени файла отчета будет добавлен порядковый номер в квадратных скобках. Например, "MovingAverageReport[1]. htm". В случае отсутствия этого параметра используется значение "false".

  • TestShutdownTerminal - разрешить/запретить вылючение терминала после тестирования. Принимаемые значения "true" или "false". В случае отсутствия этого параметра используется значение "false". Если в процессе тестирования пользователь нажал кнопку "Стоп", то значение этого параметра сбрасывается в "false", так как пользователь принял управление на себя.

 
Про подгонки - если в процессе оптимизации окажется, что напр. при S/L 42 есть профит, а при 41 есть потеря, то это подгонка. Но если есть какая-то плавность при близких значениях параметров, то тут все нормально и предсказуемо. Тогда уже можно использовать и оптимизация после 2 недели работы да и все что уже написано выше.
 
Подгонка - это когда Ваш эксперт запоминает некие характеристики КОНКРЕТНОГО исторического ряда, а не некие фундаментальные закономерности в движении цен. Например, если Вы ручка вобъете все входы и выходы, то, очевидно, в будущем эксперт работать не будет! Подгонка фактически это и делает. Тут пример:

http://forum.alpari-idc.ru/thread32762.html
Причина обращения: