Обсуждение статьи "Основы тестирования в MetaTrader 5"

 

Опубликована статья Основы тестирования в MetaTrader 5:

В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.

Автор:  MetaQuotes

 
Необходимо помнить, что при оптимизации по критерию "Custom max" всегда ищется локальный максимум. Для поиска локального минимума можно из функции OnTester возвращать значение, обратное вычисленному значению функции:

return(1/значение_функции);



Лучше использовать 

return(-значение_функции);

а то можно нарваться на деление нулём, да и искажений меньше.

 
Urain:

Лучше использовать 

а то можно нарваться на деление нулём, да и искажений меньше.

Согласен. Добавим в статью, спасибо за предложение!
 

Необходимо помнить, что при оптимизации по критерию "Custom max" всегда ищется локальный максимум. Для поиска локального минимума можно из функции OnTester ..........

Слово "локальный" нужно заменить на "глобальный". В заданном диапазоне поиск ведётся именно глобального экстремума.

 
joo:

Слово "локальный" нужно заменить на "глобальный". В заданном диапазоне поиск ведётся именно глобального экстремума.

Трудно сказать. С одной стороны, оптимизация не гарантирует, что будет найден глобальный экстремум.
 
Rosh:
Трудно сказать. С одной стороны, оптимизация не гарантирует, что будет найден глобальный экстремум.
Что будет найдено, локальный или глобальный экстремум,  уже другой вопрос. Но ищется именно глобальный - в этом вся соль оптимизации.
 
Rosh:
Согласен. Добавим в статью, спасибо за предложение!
Добавлено
 
Объясните, пожалуйста разницу в создании "хэндла" индикатора (например Аллигатор) с помощью iAlligator(...) и IndicatorCreate(...) ?
 
slyusar:
Объясните, пожалуйста разницу в создании "хэндла" индикатора (например Аллигатор) с помощью iAlligator(...) и IndicatorCreate(...) ?
"На ощупь" хэндлы отличаться не будут. Но не это тема статьи.
 
Rosh:
"На ощупь" хэндлы отличаться не будут. Но не это тема статьи.

Я не имел ввиду отличия на ощупь... 

Вы пишите:

"Неважно, есть вызов индикатора в конкретном обработчике события или нет, все индикаторы, чьи хэндлы были созданы функцией iCustom() или IndicatorCreate(), будут принудительно пересчитаны перед вызовом функции-обработчика события." 

вопрос:

Почему индикаторы, хэндлы которых получены при помощи (если вернуться к Аллигатору)   iAlligator() не будут просчитываться, в чем отличие от  IndicatorCreate(), что-то лучше что-то хуже, что стоит применять и почему?

 
Читайте "Все индикаторы, созданные функциями из раздела Технические индикаторы или  IndicatorCreate()..."
Причина обращения: