Скачать MetaTrader 5

Понравилась статья?
Поставьте ссылку на нее -
пусть другие почитают

Используй новые возможности MetaTrader 5

Заблуждения, Часть 1: Управление капиталом вторично и не слишком важно

16 апреля 2008, 08:29
Sceptic Philozoff
35
2 373

Введение

Здесь пойдет речь об очень простых вещах, которые тем не менее часто оказываются обманчивыми, - о графиках баланса счета, являющихся частью отчета о тестировании. В отчетах о тестировании стратегий, встречающихся у новичков, можно часто увидеть экспоненциальные графики баланса/эквити и многомиллиардные результаты в конце периода тестирования. Такие картинки обычно порождают скептические отзывы «бывалых», знающих, откуда берутся эти экспоненты, и тут же рекомендующих выкладывать результаты на фиксированном лоте (обычно 0.1).

Принято считать, что результаты тестирования на постоянном лоте 0.1 объективнее отражают достоинства и недостатки стратегии. Доводы в пользу этого в общем-то вполне ясны: для большинства валютных пар этот график наглядно показывает, сколько пунктов делает стратегия за период тестирования. Бытует вполне разумное представление о том, что стратегию можно только в том случае считать перспективной, если по пунктам она приносит прибыль; если же матожидание сделки отрицательно, то имеется очень мало шансов надежно вытянуть стратегию в прибыльную только средствами управления капиталом.

Еще один убедительный довод: близость кривой «на лоте 0.1» к прямой показывает в некотором роде устойчивость стратегии, которую не так легко увидеть на экспоненциальном графике.

Однако такие графики, несмотря на указанные преимущества, имеют и недостатки, не столь очевидные. Чтобы разобраться в этом, мы рассмотрим результаты тестирования одной простой стратегии с разными ММ (ММ - "манименеджмент", от англ. money management; это трейдерский сленг, обозначающий "управление капиталом") и сравним графики.

Заранее прошу извинить за тон статьи, кажущийся назидательным, и рекомендую не принимать его слишком близко к сердцу: самоуверенность граалестроителей, научившихся в отдельных случаях без лишних напоминаний демонстрировать графики баланса на лоте 0.1, - и тут же выражающих намерение «прикрутить» к своим творениям геометрический ММ, - иногда настолько непоколебима, что это уже набило оскомину.

Виды ММ, рассматриваемые в статье. Выбор советника.

Здесь мы будем рассматривать 3 вида ММ, в которых объем открываемой позиции либо постоянен, либо является растущей функцией от депозита. Возможность эффективного ММ, учитывающего результаты предыдущих сделок, представляется мне целесообразной только тогда, когда вероятность прибыльной/убыточной серии значительно выше шансов того, что сделки с противоположными результатами будут чередоваться. Итак, вот виды ММ, рассматриваемые здесь:

  1. Лот постоянен независимо от размера депозита и равен 0.1. Эту стратегию назовем консервативной. Обозначение в статье – «лот 0.1» или просто «0.1».
  2. Лот пропорционален депозиту. Это – агрессивная стратегия управления капиталом. Мы будем называть ее «геометрическим ММ».
  3. Лот растет пропорционально квадратному корню из депозита. Такую стратегию назовем здесь умеренной.

В качестве мальчика для битья воспользуемся советником «20_200 expert_v4.2_AntS». Оптимизацией по параметрам заниматься не будем, т.к. к предмету статьи это не относится; воспользуемся параметрами советника, выбранными по умолчанию. Тестирование будем проводить по всем тикам на EURUSD H1 с 7 июня 2000 по 15 марта 2008 г. Такой участок тестирования советника выбран преднамеренно, чтобы график баланса при тестировании на лоте 0.1 выглядел вполне пристойно. Именно этот советник избран мной всего лишь для демонстрации основных положений этой статьи. Первоначальный код эксперта выложен по ссылке https://www.mql5.com/ru/code/7891 .

Большую часть советника составляет функция выбора лота LotSize() длиной чуть больше 1000 строк (или 44К из 50К размера исходного файла), что частично обуславливает его оригинальность. Эту функцию можно было бы реализовать короче, аппроксимировав функцию зависимости лота от баланса обыкновенной прямой с нужным округлением лота до 0.01. Во всяком случае, отличие аппроксимации от вычислений в исходном коде в «узлах» (точках изменения лота) проявляется только в одном узле из тысячи (!!!). Вряд ли это существенно повлияло бы на параметры самой стратегии.

Я не стал слишком тщательно разбираться в точной логике выбора размера лота и переделал код, заодно облегчив его по объему (изначально в коде советника был предусмотрен только активный ММ, соответствующий этой функции выбора лота). Особо тонкие выкладки автора, связанные с непропорциональным увеличением лота (BigLotSize), я также исключил из кода, дабы не включать элементы мартингейла в советник. Видоизмененный советник приложен в конце статьи.

Ниже приведена функция расчета размера лота, годящаяся для EURUSD в данном случае:

double LotSize() 
{
   double size;
   switch( _MM )
   {
      case 0:  size = 0.1;  
               break;
      case 1:  size = 0.1 * AccountBalance() / 1000; 
               break;
      case 2:  size = 0.1 * MathSqrt( AccountBalance() / 1000 ); 
               //size = 1. * MathSqrt( AccountBalance() / 10000 ); 
               break;
      default: size = 0.1;  break;
   }  
   if( size < 0.1 )          // достаточно ли денег для открытия 0.1 лота?
      if( ( AccountFreeMarginCheck( Symbol(), OP_BUY,  0.1 ) < 10. ) || 
          ( AccountFreeMarginCheck( Symbol(), OP_SELL, 0.1 ) < 10. ) || 
          ( GetLastError() == 134 ) )
                  lot = 0.0; // нет, не хватит
      else        lot = 0.1; // хватило; открываемся 0.1
   else           lot = NormalizeDouble( size, 2 ); 
   
   return( lot ); 
}


Допущения, принятые в статье

Далее в статье мы будем следовать логике типичного новичка:

  1. Новичок пришел на форум, зашел в Code Base, увидел именно этот советник и решил не мудрствуя лукаво посмотреть, на что он способен. Он не хочет вдаваться в подробности кода; ему нужен быстрый результат.
  2. Новичок не задается исследованием глубокого вопроса о доверии результатам тестирования с учетом изменчивости истории; он просто подбирает такой период тестирования, который простирается на несколько лет назад вглубь истории от настоящего момента и на котором советник ведет себя вполне прилично. Он считает, что, скорее всего, советник так и будет вести себя дальше, так как последние почти 8 лет без 3 месяцев он был хорош.
  3. Новичок, получив результаты тестирования на постоянном лоте 0.1, заглядывает на форум, видит там типичные отзывы «бывалых» форумян касательно того, что тестирование на лоте 0.1 вполне достоверно отражает устойчивость стратегии в целом, делает еще шаг вперед и решается на введение в советник геометрического управления капиталом, т.е. открытия позиций, размеры которых пропорциональны величине баланса. О том, что в этом эксперте фактически стоп-лосс намного превышает тейк-профит, он тоже не задумывается, так как в код не смотрел. Как при этом изменится кривая баланса, он представляет крайне туманно.
  4. И, наконец, наш герой пытается модифицировать ММ и изобретает третий вид ММ, указанный выше.

Мы будем параллельно анализировать полученные результаты и действия новичка, ограничиваясь в основном слежением за несколькими интегральными параметрами результатов тестирования – чистой прибылью, максимальной просадкой в процентах и фактором восстановления.


Тест 1: Лот постоянен, «0.1»

Результаты приведены ниже.

Strategy Tester Report 20_200 expert_v4.2_AntS

Alpari-Demo (Build 215)



Эксперт 20_200 expert_v4.2_AntS, лот 0.1


Добавим сюда еще один параметр – фактор восстановления:

RF (Recovery Factor) = Total Net Profit / Maximal Drawdown = 9911.72 / 923.58 = 10.73

Кривая весьма пристойна, да и RF вполне неплох, хотя и почти за 8 лет. Все остальные параметры, указанные в таблице, тоже более-менее приличны: матожидание сделки – 12.44 пункта (можно было бы и побольше, конечно, но этот вариант далеко не самый худший), максимальная процентная просадка – около 20%. Соотношение средней прибыльной сделки и средней убыточной составляет 35.80/180.72 = 0.198 = 1/5.05; однако количество прибыльных сделок превышает число убыточных в 89.21%/10.79%, т.е. 8.27, что существенно выше 5.05. Таким образом, у стратегии как будто бы есть некий запас прочности.

Это придает уверенность нашему новичку, и он решает рискнуть по-крупному: вместо постоянного лота он вводит в советник геометрический ММ, исходя из «скромной» пропорции «0.1 лота / $1000 депозита». Это значительно рискованнее пропорции, предложенной в оригинальном советнике (немного больше трети лота на $10000 депозита), но наш ковбой не обращает на это внимание: очень хочется забрать половину мировых денег себе…


Тест 2, часть 1: Лот пропорционален балансу, «0.1/$1000»

В отчете я оставил несколько строчек, которые могут интересовать нас.

Strategy Tester Report 20_200 expert_v4.2_AntS

Alpari-Demo (Build 215)


Эксперт 20_200 expert_v4.2_AntS, геометрический ММ


Также для наглядности я записал видеофайл, позволяющий отследить процесс в динамике: окончательный статический результат для геометрического ММ из-за нивелирования деталей часто выглядит намного лучше, чем реальное положение вещей. На видео очень хорошо видны промежуточные просадки, которые на рисунке кажутся совсем незначительными выбоинами. Отчетливо видно, что эти промежуточные просадки совсем не малы и доходят примерно до 50% достигнутого максимума баланса (и дело, оказывается, совсем не в последней просадке, полученной после достижения абсолютного максимума баланса):



В силу не известных мне особенностей процесса конвертации картинку следует смотреть примерно до 34-й секунды, а то, что идет дальше, после сообщения наверху о режиме тестирования, уже является повторением концовки.

Как видим, ситуация резко ухудшилась: график визуально уже не выглядит таким привлекательным, а интересующие нас параметры довольно сильно изменились. Мы не будем обсуждать, насколько для ДЦ реалистичны объемы лотов, открываемых на пике баланса (максимальный – около 540 лотов!). Видно, что чистая прибыль выросла многократно, но это – слабое утешение: максимальная процентная просадка превысила 70%, а фактор восстановления –

RF = 1989283.04 / 3883421.15 = 0.51

катастрофически упал и теперь уже значительно меньше единицы! Конечно, такой провальный RF получился благодаря последнему дродауну – но мы ведь не хотим заниматься самообманом, вымарывая этот дродаун из отчета?! Эта ситуация уже описана в знаменитой статье http://articles.mql4.com/ru/articles/1413 - пожалуй, самой цитируемой на этом форуме.

Это – двойной урок новичку, некритично воспринимающему реплики «бывалых», которые, впрочем, вполне справедливо требуют показывать тесты на постоянном лоте 0.1. Получается, что тестирование «на 0.1» весьма обманчиво: несмотря на явную демонстрацию положительного матожидания сделки (м.о.) и устойчивости стратегии на лоте 0.1, в общем и целом этого совершенно не достаточно для того, чтобы «прикручивать» к стратегии любой самый агрессивный ММ, надеясь на то, что «м.о. вывезет».

Причина такого резкого изменения характера кривой и ее показателей очевидна: при тестировании на лоте 0.1 рост депозита сопровождается снижением относительного риска, так как величина лота относительно депозита уменьшается по гиперболе. В случае же геометрического ММ риск не снижается и остается постоянным. Этим объясняется резкое увеличение глубины «выбоин» ближе к концу тестируемого периода.

Есть еще одно более тонкое наблюдение: соотношение средних профитной и убыточной сделок также изменилось в худшую сторону. Теперь оно стало равным 20051.69/142644.96 = 0.141 – вместо 35.80 / 180.72 = 0.198 в предыдущем тесте. Почему? Ответ таков: величина убытка при геометрическом ММ рассчитывается от величины лота при балансе счета, соответствующем моменту открытия сделки, т.е. в верхней точке падающей траектории баланса. В то же время лот прибыльной сделки соответствует балансу в момент ее открытия, т.е. нижней точке траектории баланса, и оказывается немного меньше.

Числовой пример: пусть при балансе $5000 и геометрическом ММ мы открыли сделку объемом 0.1*($5K/$1K) = 0.5 лота и получили профит в 100 пунктов. Значит, прибыль на EURUSD равна $500. Теперь допустим, что после этого мы тут же открыли сделку, которая принесла нам убыток в те же 100 пунктов. Каков наш убыток? Лот равен 0.1*($5K+$500)/$1K = 0.55, т.е. мы получили убыток -$550, превышающий прибыль на 10%. Этого не было бы в первом случае, при постоянном лоте!

Какие выводы можно сделать из нашего маленького краха?

  1. Если вы ориентируетесь на агрессивный ММ (геометрический), то, чтобы получить действительно приличную кривую изменения баланса, нужно четко сознавать, что аналогичная кривая тестирования на 0.1 лота должна быть практически идеальной, "без рытвин". Не нужно сбрасывать со счетов ни один из вариантов ММ, c которым вы будете играть на реале. Ориентироваться только на тестирование «0.1» нельзя, если ваш ММ будет другим.
  2. Не следует забывать о том, что геометрический ММ обычно многократно увеличивает процентные просадки. Допустим, тестирование на лоте 0.1 за 5 лет показывает рост депозита на 1000% (с $1K до $11K). Это, кстати, вполне реалистичная цифра - 10 тыс. пунктов за 60 месяцев, т.е. 167 в месяц. Предположим, что в конце этого 5-летнего периода, когда депозит достиг $11K на лоте 0.1, у вас случилась просадка, составившая мизерные 5%, а последней сделкой вы вернули размер депозита к $11K. Как вы думаете, чему будет равна соответствующая просадка при переходе на геометрический ММ? 55% от депозита – независимо от того, насколько он увеличился перед этой «рытвиной»! Обоснование этой цифры см. чуть ниже.
  3. Из предыдущего вытекает рекомендация: выбирайте золотую середину в тактиках ММ. Совсем не обязательно всю жизнь играть лотом 0.1 (скучновато), но и геометрический ММ на миллионных сделках – это пустые мечты, связанные с недооценкой коварства экспоненты.

Доказательство рассуждения о просадке: если при тестировании на 0.1 лота просадка в конце периода (когда баланс перед открытием убыточной сделки, по нашему условию, равен $11K) равна 5%, то это означает, что она составляет ровно 5%*$11К = $550, т.е. 550 пунктов. ОК, теперь включаем геометрический ММ и начинаем считать.

В случае, если вся эта просадка обязана только одной открытой позиции (нет стоп-лосса, например), рассуждения просты: допустим, перед этой просадкой депозит на тесте «геометрический ММ» достиг значения Х*$1K (благодаря такому ММ, скорее всего, Х будет намного больше 11 – но здесь это неважно, как ни странно). Тогда будет открыта позиция размером Х*0.1 лотов, после чего она закроется с убытком, равным lot*pips_value*pips = (Х*0.1)*$10*550 = $550*X, который составит 100% * ($550*Х)/(Х*$1К) = 55% к размеру депозита перед этой просадкой.

Случай, когда эта просадка обязана нескольким подряд идущим убыточным сделкам, фактически сложнее, однако формально все эти сделки можно приблизительно объединить в одну-единственную и считать, что эта просадка – результат одной сделки, а из-за эффекта накопления многочисленных противоположных сделок результат будет несколько отличаться. Дальше рассуждения повторяются.

Это рассуждение было получено как раз в процессе написания этой статьи, когда я попытался логически объяснить результаты тестирования на геометрическом ММ; радикальность результата до сих пор поражает меня. До этого момента я наивно полагал, что к любой стратегии, демонстрирующей на лоте 0.1 красивую кривую с небольшими просадками, можно безболезненно прикрутить даже агрессивный ММ – но о том, что просадки вырастут настолько несоразмерно демонстрируемым на тестировании «0.1», я и не подозревал. Теперь я превратился в убежденного скептика достаточно долго применяемого геометрического ММ. Причина – в том, что стратегий без просадок не бывает…


Тест 2, часть 2: Lucky и геометрический ММ

Рассмотрим еще один поразительный пример, демонстрирующий рассуждение о просадке. Это ледяной душ для авторов советника Lucky, рассчитывающих применять его с геометрическом ММ (именно так и задумано: см. исходный код по ссылке https://www.mql5.com/ru/code/7464):


double GetLots()
{
   return (NormalizeDouble(AccountFreeMargin()/10000,1));
}

Советник слегка модифицирован для тестирования на 0.1 лота и взятия тейк-профита, превышающего 1 пипс (при внешнем параметре Pr_limit=1). Кроме того, в советнике, в отличие от исходного кода, единовременно открытыми могут быть не более 1 ордера (для данного случая это не меняет характер ракеты баланса). О том, будет ли советник работать в реальном ДЦ, мы говорить не будем; наша цель не в этом. Измененный код советника приложен в конце статьи.

Тестирование производится при параметрах Shift=4, Limit=10, Pr_limit=1 с постоянным лотом 0.1 на участке истории с 2004.01.01 до 2008.04.04 (начальный депозит $1K). Вот картинка графика баланса:


Эксперт Lucky, "0.1"


На этой картинке есть очень маленькая «выбоинка», заметная только в тестере, но не видимая на рисунке: она приходится на участок между 31.12.2004 и 07.01.2005, для номеров ордеров от 57890 до 58857. Рассмотрим эту выбоинку под микроскопом, сузив общий интервал тестирования до этого участка (лот по-прежнему постоянен, 0.1, поэтому начальный баланс для этого участка несущественен и принят равным $1000; нам важно значение просадки в пунктах):


Эксперт Lucky, "0.1", "под микроскопом"


На рисунке видно, что максимальный баланс равен примерно 1050, а минимальный – 690 долларам. Просадка на лоте 0.1 составила 360 долларов, т.е. в пунктах – 360; проведя простейшие расчеты, аналогичные приведенным в доказательстве рассуждения о просадке, получим, что на геометрическом ММ эта цифра трансформируется примерно в… 36% просадки! Убедимся в этом практически, снова включив геометрический ММ на том же коротком участке (и увеличив точность округления до 2 знаков после запятой в GetLots() ):


Эксперт Lucky, геометрический ММ на этом же участке


Реальная просадка составила примерно 32% (благодаря тому, что она создана не единственным ордером), но однако каков результат: почти незаметная выбоина в центре графика (на «0.1» просадка составляет примерно 360/68000 ~ 0.5%) выросла в относительных цифрах более чем в 60 раз! Я уже не говорю о просадке в конце периода, составляющей на «0.1» крохотные 0.89%, но в пунктах – целых 1660; эта просадка практически уничтожит депозит – но она уже не настолько эффектна…

А теперь отвлечемся, чтобы создать искусственный пример, на первый взгляд противоречащий здравому смыслу.

Парадоксальный пример. Небольшое исследование.

Исходя из наблюдения, согласно которому две сделки подряд с одинаковыми по модулю, но разными по знаку результатами в пунктах способны при более-менее агрессивном ММ принести убыток, можно сконструировать такую кривую устойчивого роста баланса при тесте на лоте 0.1, которая при введении геометрического ММ радикально меняет характер, превращаясь в кривую с устойчивой тенденцией падения! Графики, созданные средствами MS Excel, показаны ниже.

Пример основан на том, что наши сделки по профитности чередуются: вначале мы имеем сделку с профитом 100 пунктов, а затем получаем лосс, причем рассчитываемый так, чтобы при геометрическом ММ он дал нам убыток по сумме двух операций, а по ММ «0.1» - прибыль.

Учтены ограничения ДЦ по минимальному размеру лота и дискретности его изменения (в файле – соответственно 0.1 и 0.01, согласно условиям Alpari-IDC). Поэтому в любом случае депозит менее чем до 1000 долларов не снизится из-за ограничения, вызванного минимальным размером лота, т.е. 0.1. Именно поэтому первоначальный депозит выбран в 10 раз большим, чем до этого ($10000).

Выясняется, что несмотря на то, что при профите 100 пунктов имеется точно рассчитываемое значение убытка в пунктах, при котором геометрический ММ дает убыток, в точности равный полученной перед этим прибыли, все же в реальности имеется некоторый диапазон значений убыточных сделок, в котором баланс входит в цикл устойчивых значений в некотором ограниченном диапазоне. Причина этого мне пока неизвестна. Но вот – картинки: везде начальный депозит - $10000, профитная сделка – 100 пунктов, пропорция геометрического ММ – 0.1 лота на $1K депозита.

Убыточная сделка – 91 пункт (превышение прибыльной сделки над убыточной – 9 пунктов)

Вверху показаны обе кривые для разных ММ. Внизу кривая изменения баланса на лоте 0.1 показана в увеличенном мастабе, так, чтобы был виден ее пилообразный характер. В дальнейшем второй график мы показывать не будем, так как он имеет все время аналогичный характер.

Картинка с м.о. лосса 91 приведена здесь для того, чтобы показать «граничное значение» убыточной сделки, при котором формально прибыльная система с ММ «0.1» превращается просто в безубыточную и бесприбыльную при изменении ММ на геометрический.

Loss 91, геометрический ММ 0.1/$1000


loss 91, lot = 0.1

Убыточная сделка – 92 пункта (превышение прибыльной сделки над убыточной – 8 пунктов)


Loss 92, геометрический ММ 0.1/$1000

Убыточная сделка – 93 пункта (превышение прибыльной сделки над убыточной – 7 пунктов)


Loss 93, геометрический ММ 0.1/$1000

Убыточная сделка – 94 пункта (превышение прибыльной сделки над убыточной – 6 пунктов)


Loss 94, геометрический ММ 0.1/$1000

Убыточная сделка – 96 пунктов (превышение прибыльной сделки над убыточной – 4 пункта)


Loss 96, геометрический ММ 0.1/$1000

Как видим, характеры графиков прямо противоположны. Конечно, реальная система вряд ли может быть такой «регулярной», но я привел здесь этот пример просто для демонстрации того, что может случиться при некритичном восприятии графика тестирования лотом 0.1.

Теперь посмотрим, что получится, если ММ, оставив геометрическим, сделать еще более агрессивным (например, 0.2 или даже 0.33 лота на $1K депозита; даже такие случаи встречаются на нашем форуме). Ниже будет показаны графики, относящиеся только к «граничным» значениям величины убыточной сделки (прибыльная по-прежнему равна 100 пунктам): при превышении убытком сделки граничного значения кривые при геометрическом ММ ведут себя еще хуже.

Убыточная сделка – 84 пункта (превышение прибыльной сделки над убыточной – 16 пунктов). ММ – геометрический, 0.2 лота/$1K депозита.


Loss 84, геометрический ММ 0.2/$1000

Убыточная сделка – 75 пунктов (превышение прибыльной сделки над убыточной – 25 пунктов). ММ – геометрический, 0.33 лота/$1K депозита.


Loss 75, геометрический ММ 0.33/$1000

Вывод: увеличение агрессивности стратегии при неизменности м.о. профитной сделки предъявляет к ней более высокие требования, т.е. м.о. средней сделки в пунктах должен быть повышен. Несложно вывести формулу, определяющую граничное значение убыточной сделки в пунктах (loss), при следующих известных параметрах:

- прибыль прибыльной сделки (profit),

- агрессивность геометрического ММ (aggr), т.е. объем позиции в лотах на каждые $10K депозита,

- стоимость 1 пункта на 1 лоте инструмента (pointval).

Для доказательства формулы достаточно открыть только первые две сделки, начиная с депозита $10K, а далее это соотношение будет выполняться независимо от достигнутого депозита (это доказано чуть выше, так как параметр Х сокращается).

  1. Первая сделка, прибыльная: депозит равен $10K. Открываем позицию объемом aggr лотов. Получаем прибыль aggr * profit * pointval. Закрываем сделку.
  2. Открываем вторую сделку, убыточную. Депозит при открытии этой сделки теперь равен $10000+ aggr*profit*pointval = $10K*(1+ aggr*profit*pointval/10000). Объем сделки равен aggr*(1+ aggr*profit*pointval/10000). Искомый убыток сделки в долларах равен aggr*(1+ aggr*profit*pointval/10000) * loss * pointval.
  3. Приравниваем оба выделенных выражения и получаем формулу для loss:

loss = profit / (1+ aggr*profit*pointval /10000)

Проверим правильность формулы на EURUSD (pointval=$10):

- при profit=100, aggr=1 имеем loss = 100/(1+1*100*10/10000) = 100/1.1 ~ 90.91 pips. Граничное значение, как мы уже выяснили ранее, в этом случае равно 91 пункту (см. самый первый график).

- при profit=100, aggr=2 получаем loss = 100/1.2 ~ 83.33. Граничное значение, подобранное ранее экспериментально, равно 84 пунктам.

- при profit=100, aggr=3.33 получаем loss = 100/1.33 ~ 75.19. Граничное значение, подобранное ранее экспериментально, равно 75 пунктам.

Согласие с экспериментальными данными получилось неплохим. Однако реальные графики баланса такими не бывают: обычно процентные соотношения прибыльных и убыточных сделок не равны. Мы сейчас не будем пытаться обобщать модель на более сложные случаи, так как общий принцип построения такой искусственной кривой баланса должен быть ясен. Закончим наше исследование, запустив тестирование эксперта с третьим видом ММ, названным нами умеренным.


Тест 3: Лот пропорционален квадратному корню из баланса


Strategy Tester Report 20_200 expert_v4.2_AntS

Alpari-Demo (Build 215)


Советник 20_200 expert_v4.2_AntS, умеренный ММ



RF = 32764.09 / 5632.51 = 5.82

В данном случае начальный депозит равен $1K, а начальный лот - 0.1.

Комментарии излишни: такой ММ занял промежуточное положение между двумя рассмотренными выше. Максимальная просадка не слишком велика, но относительная все же великовата, хотя и значительно ниже варианта с геометрическим ММ. Тем не менее кривая выглядит вполне прилично и намного красивее второй рассмотренной (для эксперта «20_200»). К тому же она сэкономит гораздо больше нервных клеток трейдеру, чем если бы он торговал по второму варианту.

Этот вариант имеет вариации. Если, например, взять начальный депозит равным $10K, установив начальный лот равным 1.0 (раскомментировав комментарий при case=2 в операторе switch и закомментировав прежний вариант кода):

case 2: size = 1. * MathSqrt( AccountBalance() / 10000 );

то за неполных 8 лет показанная ранее прибыль увеличится ровно в 10 раз, а относительные просадки не изменятся.


Заключение

Большая часть выводов уже приведена в части, касающейся тестирования с геометрическим ММ. Автор планирует опубликовать вторую статью из серии «Заблуждения», посвященную исследованию статистических закономерностей, возникающих при анализе последовательности результатов сделок некоторых «интересных» стратегий. Уровень изложения материала во второй статье будет несколько выше уровня той, которую вы сейчас читаете, но не запредельным.

И, наконец, комментарий к заголовку статьи: да, ММ вторичен, т.к., по-видимому, с помощью управления капиталом вряд ли возможно вытянуть стратегию, убыточную на 0.1, в прибыльную и одновременно робастную. Тем не менее справедливо и второе утверждение, частично опровергающее сентенцию «кашу маслом не испортишь»: любую самую робастную и прибыльную стратегию, предусматривающую разные виды ММ, можно загубить неадекватно агрессивным управлением капитала.




Прикрепленные файлы |
Lucky_modified.mq4 (2.24 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (35)
Sceptic Philozoff
Sceptic Philozoff | 20 июн 2008 в 08:41
Bass писал(а): С самого начала :). Там же по датам все распределено. И выложен экселевский файл, где можно строить пространство рычагов по Винсу ( в 3D варианте).
Ну вот и выложи здесь в едином виде. Я совсем не фанат оптимальной F, но, может быть, в твоем изложении что-то станет понятнее.
Константин
Константин | 26 окт 2008 в 21:19
GameOver:

вымученный годами код прилагаю :).

Спасибо большое за код. Сам пришёл к такому же пониманию просчёта лота, но код грамотно не мог реализовать. Вы мне помогли.


baal79
baal79 | 9 сен 2011 в 15:31

Оптимизацию под агрессивный риск-MM можно делать так: В настройках оптимизации включить ограничение на "непрерывное кол-во убыточных сделок". Если трейдер уверен в своём эксперте, может поставить там например "4" или меньше. И включить ограничения на размер маржи и просадки.

Я погонял оптимизации MM в моих экспертах. И сделал вывод, что оптимизация под данную "фиксированную процентную фракцию" (это по сути, процентная фракция зависящая от размера баланса), и оптимизация под фиксированный лот - совершенно разные. Параметры ТС иные при разных системах MM. И хранить их надо в разных файлах настроек экспертов ("optimization set file"). )

baal79
baal79 | 22 сен 2011 в 17:56

Расчёт риск-фактора через Sqrt - действительно интересная идея!

MQL4 Comments
MQL4 Comments | 27 июн 2012 в 09:26

Очень интересная статья! Помимо вопроса о мани-менеджменте, она еще и показывает, как оптимизация порой делает советник лишь хуже. Что мы видим? AntS попытался оптимизировать советник Павла Смирнова 20/200 pips. Во-первых, подобрал новые параметры, во-вторых, прикрутил мани-менеджмент. Вопрос о мани-менеджменте оставлю в стороне - он в статье подробно рассмотрен. А вот если взять предложенные Антоном новые параметры... Достаточно протестировать оригинальный советник Павла Смирнова и оптимизированный Антоном вариант (без мани-менеджмента, конечно), чтобы увидеть, что в период 2010-2012 годов советник Павла продолжал стабильно работать, а "оптимизированный" эксперт Антона страдал глубокими просадками и в результате заработал меньше своего прототипа.

Кому интересно, я тоже попытался оптимизировать этот советник под пару GBPUSD. Исходный код можно посмотреть у меня в блоге http://fxauto.pro здесь. Конечно, не мне судить об успешности, так что жду критических отзывов :) На примере этого советника хорошо видно, как тонка грань между оптимизацией и подгонкой под период. С моей точки зрения, в случае с Антоном мы имеем дело с подгонкой (не сознательной, конечно - просто эту грань очень легко переступить)...

Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Продолжение) Эксперты на основе популярных торговых систем и алхимия оптимизации торгового робота (Продолжение)

В данной статье автор продолжает обзор алгоритмов реализации простейших торговых систем и знакомит с записью результатов оптимизаций при бэктестинге в один html файл в виде таблицы. Статья будет полезна начинающим трейдерам и начинающим экспертописателям

Метаязык графических линий-приказов. Торговля и квалифицированное  обучение  трейдингу Метаязык графических линий-приказов. Торговля и квалифицированное обучение трейдингу

В статье описывается простой, доступный язык графических торговых приказов, совместимый с классическим техническим анализом. Представлен советник-полуавтомат GTerminal с применением в торговле результатов графического анализа. Рекомендуется для самоподготовки и обучения начинающих трейдеров.

Образцовый трейлинг-стоп и выход с рынка Образцовый трейлинг-стоп и выход с рынка

У разработчиков алгоритмов модификаций и закрытия ордеров есть одна непроходящая головная боль - как сравнивать результаты, получаемые по различным методикам? Механизм проверок известен - тестер стратегий. А вот как сделать так, чтобы эксперт всегда работал одинаково по открытию/закрытию ордеров? В статье описывается инструмент, обеспечивающий строгую повторяемость открытий ордеров, позволяющую обеспечить математически корректную платформу для сравнения результатов различных алгоритмов трейлинг-стопов и выходов с рынка.

Двухэтапный вариант модификации открытых позиций Двухэтапный вариант модификации открытых позиций

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