Ребята программисты,помогите, может кто написать код, который нужно вставить в советника МТ5, чтоб при оптимизации в режиме "пользовательский критерий" оптимизация шла по относительной просадке от баланса в процентах?
//+------------------------------------------------------------------+ double OnTester() { //--- значение пользовательского критерия оптимизации (чем больше, тем лучше) double ret = 0.0; ret = 100 - TesterStatistics(STAT_EQUITYDD_PERCENT); return(ret); } //+------------------------------------------------------------------+
Этот код вставить в любое место советника, чтоб наверняка ничего не напутать, лучше в самый низ советника.
Я хз, что такое " относительной просадке от баланса в процентах", подбери подходящее сам или составь формулу.
https://www.mql5.com/ru/docs/constants/environment_state/statistics
Принцип прост, чем больше тем лучше.
Например, если мы хотим оптимизацию по минимальной просадке баланса, то выбираем максимальную просадку STAT_BALANCE_DD делим единицу на это значение
ret = 1/TesterStatistics(STAT_BALANCE_DD);
или от стартового баланса отнять максимальную просадку, сути это не изменит
ret = TesterStatistics(STAT_INITIAL_DEPOSIT) - TesterStatistics(STAT_BALANCE_DD);
в этом случае получится оптимизация по минимальной просадке баланса.
![Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Статистика тестирования](https://c.mql5.com/36/59/dokumentaciya-po-mql5-konstanti__10.png)
- www.mql5.com
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования