Секреты анализа результатов теста советников

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Секреты анализа результатов теста советников

Сообщение Haos » 25 фев 2018, 11:42

Поделюсь некоторыми секретами анализа результатов, полученных при тесте советника в тестере МТ4.
Рассмотрим на примере советника, торгующего по пересечению двух МАшек. Сам по себе такой алгоритм без мартингейла убыточен, а с мартингейлом становится прибыльным при определенных условиях, которые заключаются, прежде всего, в строжайшем ММ с достаточным капиталом на торговом счете.
Идея такого советника проста: если сделка была прибыльна следующая сделка открывается начальным торговым объемом (начальным в смысле тем, что установлен в настройках советника как начальный), если сделка была убыточной, то следующая сделка открывается объемом в 2 раза большим.

Итак, секреты:

1. Проводите оптимизацию без генетического алгоритма (см. скрин ниже)
Генетический алгоритм при правильно заданной последовательности тестируемых параметров не нужен. Более того, он отсеивает многие прибыльные варианты, которые могут быть использованы в торговле.

2. Выбирайте величину депозита равную той, которой вы будете торговать, а не той, что стоит по умолчанию.
Это позволит реально увидеть какая будет просадка и т.п., т.к. при неленейных методах торговли (с мартином) пропорциональный перенос просадки не получится от депозита с другим размером.

02-1.png


3. Когда оптимизируете параметры советника делайте шаг между ними значительным, но не большим.
Если ставить по "1", скажем, для периодов МАшек, это будет бессмысленно с технической точки зрения. Кроме того, тестирование будет идти медленно даже на самых быстрых ПК, к тому же это просто неэффективно.
Какой должен быть шаг? Он зависит от конкретного индикатора. К примеру, для МАшек я всегда использую цифры, заканчивающиеся на "0", т.е. 10, 20, 30, ... 200, ... Т.е. шаг в тестере будет равен "10" (см. скрин ниже):

02-2.png

Вы можете брать, к примеру, числа Фибоначи и т.п., главное, чтобы они имели хоть какой-то математический смысл в данном контексте. Что это означает. К примеру, с шагом в "10". Если вы не найдете прибыльных вариантов теста с таким, довольно грубым, приближением, то с высокой долей вероятности прибыльный вариант с периодом, типа, 17 будет подгонкой под историю и точно не будет работать в будущем. Т.е. у вас должны быть обязательно найдены профитные параметры на основе грубой оптимизации параметров, иначе тест даст неэффективные параметры в реальной торговле.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24698
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.20 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8196 раз.

Секреты анализа результатов теста советников

Сообщение Haos » 25 фев 2018, 11:57

4. Неправильно находить только один прибыльный вариант с наибольшей прибылью.
Во первых, нужно смотреть, прежде всего, на процент просадки. Я бы даже сказал, что это первостепенный показатель. Т.е. положительного профит фактора недостаточно. Более того, нужно одновременно смотреть на просадку и прибыль, а не на один профитфактор.
Сначала по столбцу Просадка нужно сделать ранжирование от минимальной просадки к максимальной (см. скрин ниже):

02-3.png

Далее нужно выбрать приемлемый для вас диапазон просадки. Предположим до 25%:
Нужно одновременно учесть три фактора:
- Прибыль в данном диапазоне побольше;
- Позиций в данном диапазоне побольше;
- Просадка в данном диапазоне поменьше;
Видно, что в данном случае, мы можем выбрать вариант, отмеченный красным прямоугольником (см. скрин ниже):

02-4.png
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24698
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.20 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8196 раз.

Секреты анализа результатов теста советников

Сообщение Haos » 25 фев 2018, 12:02

Однако, при этом просадка, найденная в выбранном варианте должна быть меньше чем начальный депозит! А какой у нас был начальный депозит? Смотрим на вкладку "Тестирование" и обнаруживаем 700 у.е. А просадка была 848,47 у.е.! Значит вариант теста выбран не правильно. Я специально рассмотрел подобный случай, так как на каждом шаге нужно быть внимательным, чтобы не вляпаться в ошибку и потом не кусать локти почему советник слил депозит, хотя тестирование было прибыльным и, казалось бы, с приемлемой просадкой. Дело в том, что эти 848.47 у.е. были просадкой не в начале теста, а где-то в середине или конце. Поэтому тест не закончился сливом, а если бы они были в начале?
Вложения
02-5.png
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24698
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.20 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8196 раз.

Секреты анализа результатов теста советников

Сообщение Haos » 25 фев 2018, 12:08

Поэтому мы снова возвращаемся к таблице результатов теста и ищем в найденном приемлемом диапазоне для просадки подходящий вариант. Он находится с прибылью в 1163,45 у.е. и просадкой в 466,39 у.е. (см. скрин ниже):

02-6.png

При этом мы учли чтобы сделок было как можно больше в данном выборе - 24 одновременно с максимизацией прибыли.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24698
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.20 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8196 раз.

Секреты анализа результатов теста советников

Сообщение Haos » 25 фев 2018, 12:23

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

5. Нужно использовать как минимум два прибыльных варианта, полученных в тестере. Желательно три или четыре, но не более. Почему это так? Да потому, что использование нескольких найденных вариантов обеспечивает хеджирование рисков при торговле советником. Никто не знает какой набор будет более прибыльным в будущем периоде торговли и даже будет ли он прибыльным. Поэтому может случиться так, что тот вариант, что давал незначительную прибыль окажется прибыльным и "вытянет" другой вариант, который вдруг стал убыточным. Однако, при этом нужно учесть вот что: найденные параметры индикаторов в прибыльных вариантах теста должны значительно отличаться друг от друга. Что значит значительно? Это довольно сложная вещь для формализации. Если вы знакомы с понятиями фаза и противофаза, резонанс и т.п., то вам будет легче понять о чем идет речь. Скажу лишь то, что прежде всего параметры не должны быть кратны 2.
к примеру, варианты для двух МАшек:
1) 30 - 90
2) 20 - 120
подойдут, т.к. быстрые МАшки и медленные не находятся в соотношении 1 к 2. 30 / 20 не равно 2 и 120 / 90 не равно 2. А вот варианты:
1) 30 - 90
2) 60 - 180
не подойдут, т.к. они "в фазе". Колебания МАшек на графике по амллитуде 1-го варианта аккурат укладываются во 2-й вариант.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24698
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.20 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8196 раз.

Секреты анализа результатов теста советников

Сообщение Haos » 25 фев 2018, 12:34

6. Важно чтобы ближайшие параметры индикаторов к найденным профитным вариантам при тестировании советника были также прибыльными.
Это связано с тем, что найденные прибыльные параметры индикаторов на истории в реальной торговле могут претерпевать флуктуацию, изменение в следующий период времени. Причем величина этой флуктуации, вообще говоря, не известна заранее. Поэтому, если интервал найденных параметров на тесте оказался прибыльным, то, скорее всего, даже флуктуация в реальной торговле его, не повлечет значительного изменения результатов. А если это был "единичный выброс" профитных параметров, то малейшая флуктуация сместит прибыльность в зону убыточности.
На графике теста в двумерном варианте это можно отобразить так:
Вложения
02-7.png
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24698
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.20 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8196 раз.

Секреты анализа результатов теста советников

Сообщение Haos » 15 мар 2018, 09:46

Denver писал(а):Это всё фиксированные просадки, т.е. при закрытии убыточных сделок. Просадка (плавающая) в моменте может быть гораздо больше, чем зафиксированная и отображённая в стейтменте, поэтому, что касается данной ТС и советника по ней, я не могу знать какая просадка была максимальной (именно плавающей, а не зафиксированной)!

п.с. если тут нельзя обсуждать просадку данного советника, то подскажите в какой теме это разрешается делать?

Отвечаю на вопрос, заданный мне в личке. Если Вы откроете сделку большим объемом в любом советнике, то он сольет. При этом будет сообщение о 100% просадке и открытые сделки будут закрыты. В тестере Вы увидите как по открытым позициям зафиксирован убыток. Это говорит о том, что тестер отслеживает состояние депозита в промежутках между открытием и закрытием сделки, т.е. отслеживает плавающую просадку. Таким обрзаом, недаром в приведенной мною цитате в теме из раздела ТС была фраза (выделено жирным):

Absolute drawdown (Абсолютная просадка) – максимальная абсолютная просадка за время теста, в единицах базовой валюты. Например, если при начальном депозите 1000$ тестер пишет Absolute drawdown = 100$, это значит что минимальное значение свободных средств на счете (эквити) в течение теста составило 900$.

Maximal drawdown (Максимальная просадка) — максимальная просадка за время теста, в единицах базовой валюты. Например, Maximal drawdown = 1000$ означает, что в какой-то момент за период теста свободные средства на счете (эквити) оказались на 1000$ ниже наибольшего максимума, достигнутого к тому моменту. Обратите внимание, что учитываются именно свободные средства, а не баланс. Поэтому даже если просадка «пересиживается», она все равно отображается в отчете тестера, что разумно и правильно.

Relative drawdown (Относительная просадка) – то же самое, что и Maximal drawdown, но в процентах по отношению к наибольшему максимуму, достигнутому к моменту просадки.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24698
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.20 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8196 раз.

Секреты анализа результатов теста советников

Сообщение Denver » 15 мар 2018, 09:54

Haos писал(а):Отвечаю на вопрос, заданный мне в личке. Если Вы откроете сделку большим объемом в любом советнике, то он сольет. При этом будет сообщение о 100% просадке и открытые сделки будут закрыты. В тестере Вы увидите как по открытым позициям зафиксирован убыток. Это говорит о том, что тестер отслеживает состояние депозита в промежутках между открытием и закрытием сделки, т.е. отслеживает плавающую просадку. Таким обрзаом, недаром в приведенной мною цитате в теме из раздела ТС была фраза (выделено жирным):

Поэтому даже если просадка «пересиживается», она все равно отображается в отчете тестера, что разумно и правильно.


Тогда такой момент: депо 100, сов в моменте опустил депо до 99 (т.е. на 99%), пересидел просадку, а затем поднял до 200 (т.е. на 100%) без одной убыточной сделки(!). Все сделки закрыты.
Вопрос: какая просадка будет указана в отчёте?
Аватар пользователя
Denver
 
Сообщений: 3226
Зарегистрирован: 16 янв 2014, 07:01
Средств на руках: 384.35 Доллар
Награды: 1
Ветеран II (1)
Группа: Базовая
Благодарил (а): 834 раз.
Поблагодарили: 603 раз.

Секреты анализа результатов теста советников

Сообщение Haos » 15 мар 2018, 13:05

Denver писал(а):Тогда такой момент: депо 100, сов в моменте опустил депо до 99 (т.е. на 99%), пересидел просадку, а затем поднял до 200 (т.е. на 100%) без одной убыточной сделки(!). Все сделки закрыты.
Вопрос: какая просадка будет указана в отчёте?

Absolute drawdown (Абсолютная просадка): 99 у.е.
Maximal drawdown (Максимальная просадка): 99 у.е.
Relative drawdown (Относительная просадка): 99%.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24698
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.20 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8196 раз.

Секреты анализа результатов теста советников

Сообщение Denver » 15 мар 2018, 13:25

Haos писал(а):
Denver писал(а):Тогда такой момент: депо 100, сов в моменте опустил депо до 99 (т.е. на 99%), пересидел просадку, а затем поднял до 200 (т.е. на 100%) без одной убыточной сделки(!). Все сделки закрыты.
Вопрос: какая просадка будет указана в отчёте?

Absolute drawdown (Абсолютная просадка): 99 у.е.
Maximal drawdown (Максимальная просадка): 99 у.е.
Relative drawdown (Относительная просадка): 99%.

Ок. Тогда как вы объясните такой отчёт:

просадка.jpg


В котором, как вы можете заметить, Аbsolute drawdown (Абсолютная просадка) = нулю, в то время как эквити в моменте меньше баланса?
Последний раз редактировалось Haos 15 мар 2018, 13:39, всего редактировалось 1 раз.
Причина: .
Аватар пользователя
Denver
 
Сообщений: 3226
Зарегистрирован: 16 янв 2014, 07:01
Средств на руках: 384.35 Доллар
Награды: 1
Ветеран II (1)
Группа: Базовая
Благодарил (а): 834 раз.
Поблагодарили: 603 раз.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения