О бедном target'е замолвите слово ..

 
Имеем три предопреденные функции для советников. Предлагаю добавить четвертую - target(). Назначение ее понятно, думаю. Соответственно, выводить при оптимизации.
 
Rosh:
Имеем три предопреденные функции для советников. Предлагаю добавить четвертую - target(). Назначение ее понятно, думаю. Соответственно, выводить при оптимизации.
если чесно, не понятно )
можешь в двух словах?
 
Функция double target() вычисляется последней при прогоне в тестере (где то в районе deinit(), но позже). Ее назначение - целевая функция при оптимизации. Допустим, меня не столько волнует максимальная прибыль , полученная в тестере при прогоне советника, а отношение чистой прибыли к максимальной просадке. Или средняя сделка , умноженная на процент выигрышных сделок. Значение этой функции будет выводиться при оптимизации наравне с прибльность, чистой прибылью, просадкой и так далее. Отсюда - только один шаг до других видов оптимизации. Грубо говоря, эта функция вызывается самой последней в тесте, когда все другие параметры рассчитаны.
Конечно, это потянет за собой ввод новых функций, типа NettoTestProfit(), WinPercent() и так далее.
 
понял. Конечно, поддерживаю...
 
Кажется, еще не наступило время. Народ не готов...
Придется через одно место делать при необходимости.
 
Rosh:
Кажется, еще не наступило время. Народ не готов...
Придется через одно место делать при необходимости.
тут на форуме кроме меня, тебя и SK ещё максимум 3 человека =)
Просто никто не читает.. Кинь пока эту тему на MQ, или просто ссылочку сюда - реакция будет
 
К сожалению, расширение языка и функций пока закрыто.
 
Может, об этом писАли, но, интересно было бы иметь в оптимизаторе MT-4 такой параметр, как NetProfit/Maxdrawdown.

http://forum.alpari-idc.ru/showthread.php?p=455048#post455048
 

Может пойти иным путем? Дать возможность вписывать целевую функцию в свойствах эксперта при оптимизации?
1. Должны быть доступны преопределенные переменные: [Баланс], [Максимальная просадка], ...
2. Вписать руками формулу целевой функции: например f = [Баланс]/[Максимальная просадка];
3. Выбрать: max или min искать.

Т.е. пойти путем написания макросов.