Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Когда будет закончена полностью функция расчёта лота по Винсу, от Вас бы хотелось увидеть пример работы советника, который, например, каждый месяц (или даже неделю) проводит расчёт лота и соответсвенно руководит лотами открытых сделок! :))
А также вариант работы советника без расчёта лота по Винсу, т.е. постоянный лот или увеличение лота в зависимости % от депо.
Интересен результат данного эксперимента.
Ведь всё начиналось именно из-за этого, как Я понимаю! ;)
Поленился Я тогда вставить код в советника и проверить Всё лично! :)))
Да как бы ещё и советника нормального нет. Только наработки... Поэтому взял стандартного Moving Average, не оптимизирую выбрал прибыльный период и стал проверять.
Последний код, к которому Я пришёл, когда понял, что TWR не сбрасывается в "1", выглядит так:
Обошлось без массива TWR.
Переполнение долго будете ждать! ;D Хотя может его и не было бы вообще...
Благодарю, Максим, я проверю, здесь такой еще момент - переменная D - это максимальный убыток по сделке за историю, поэтому эту конструкцию надо будет поменять
т.е. там также в цикле по истории (чтобы не моричиться с внешними переменными - также найти ее максимальное значение (максимальный убыток по самой убыточной сделке за всю историю теста) и домножить для "успокоения души" на коэффициент, допустим 1,5, чтобы изначально на торгах быть готовым и к большему убытку, ну, и уже потом считать такое ее значение (полученное ранее из цикла по истории ордеров) в дальнейших вычислениях ТВР -
TWR = 1+f*(-Mas_Outcome_of_transactions[orderIndex]/(D));
D - это не прошлый (или первый убыток), это максимальный убыток по одной сделке за всю тестируемую историю, тогда вообще возможно обойтись без внешних переменных для расчета оптимального f в советнике для определения размера открываемых впоследствии (с настоящего момента) лотов.
Когда будет закончена полностью функция расчёта лота по Винсу, от Вас бы хотелось увидеть пример работы советника, который, например, каждый месяц (или даже неделю) проводит расчёт лота и соответсвенно руководит лотами открытых сделок! :))
А также вариант работы советника без расчёта лота по Винсу, т.е. постоянный лот или увеличение лота в зависимости % от депо.
Интересен результат данного эксперимента.
Ведь всё начиналось именно из-за этого, как Я понимаю! ;)
Да. Есть много вариантов ММ, например такой - я его завернул в ф-ию (объемы поз в %-нте на капитал в зависимости от размера стоп-лосса. Если интересует могу здесь эту ф-ию выложить.
Как все закончу, проверю, выложу в коде с каким-нибудь вариантом сова (в том числе разные варианты ММ), сравним и проверим вместе... :-)))
Примеры с результатами тестов одного и того же советника с одними и теми же настройками с разными вариантами ММ, приведу в конце недели, при успешном завершении над расчетом оптимального f по Р.Винсу методом среднего геометрического.
Roman.:
Благодарю, Максим, я проверю, здесь такой еще момент - переменная D - это максимальный убыток по сделке за историю, поэтому эту конструкцию надо будет поменять
т.е. там также в цикле по истории (чтобы не моричиться с внешними переменными - также найти ее максимальное значение (максимальный убыток по самой убыточной сделке за всю историю теста)Так в этой конструкции и ищется максимальный убыток. Сравниваю отчёт и журнал. Всё сходится.
:-))) Точно... :-))) че то уже глаза замылены... :-))) А вроде среда только... работать, да работать... :-)))
Выкладываю картинки результатов тестирования советника с различными вариантами ММ, включая вар. № 3 - по метОде Р.Винса среднему геометр-му - оптимальному f. Можете подобную ф-ию расчета лота отобразить в своем эксперте и сравнить полученные значения изменения баланса на выходе. Здесь задачей не ставилось отобразить работу сова с ММ по оптимальному f Р.Винса в лучшем свете, цель - было написание ф-ии правильно расчитывающей оптимальное f, и как следствие, объем открываемых последующих ордеров. Вот внешние переменные:
Здесь в этом эксперте (в прицепе, на основе МА, входит в стандартную поставку терминала МТ) вместе с отчетами реализован следующий подход к расчету оптимального f. При превышении сделок, в тестере или торговом счете, чем указано в переменной Transaction_number (количество закрытых позиций, исходя из характеристик (профита/убытка), которых считаем объемы последующих устанавливаемых/открываемых ордеров) переходим к рачету лота по Р.Винсу. Т.е. каждый последующий ордер открывается с новым значением f и как следствие объемом. Вместе с тем данный подход не совсем правильный, кто заинтересуется данным вариантом расчета лота, то необходимо учитывать следующее, что, привожу пример, данный подход расчета лота правильный, но считать новые объемы необходимо не каждую последующуй сделку, которая больше Transaction_number, но следующим образом (это лишь пример, где важен только сам подход к расчету оптимального f): проводится оптимизация параметров эксперта на Н1 с янв 2008 по янв 2010, далее расчитываем значение оптимального f и соответственно ему объем открываемых позиций на форвард участке от 15 до 25 % участка оптимизации, т.е. с янв 2010 по июнь 2010 объемы позиций постоянны - это форвард тест. Далее повторяем, т.е. янв 2008 - июнь 2010 - считаем оптимальное f, это 30 месяцев, последующий период 15-25% - т.е. до 7 или 8 месяцев - торгуем по постоянным новым уже объемам, которые получены в результате нового расчета оптимального f за данный новый период расчета (в периоде расчета Transaction_number - должен иметь числовое значение, соответствующее понятию репрезентативности выборки т.е. от 200 до 500 - уже норма, ИМХО). Все - цикл закончен, продолжаем дальше c тем же подходом к расчету объемов на 15-25 % от периода оптимизации - в этот период торговли объемы постоянны в соответствие с ранее расчитанным значением оптимального f, каждую последующую сделку они не пересчитываются.
Вар. №1 - постоянный лот - 0,1.
Вар. №2 - процент от своб ср-тв
Вар. №3 - по оптимальному f:
Описание расчета - см. 31-33 - прицеп в архиве на 2-ой страничке - книжка "Математика управления капиталлом".
В этой связи, интересна цитата из книжки стр. 36:
"
Существует ошибочное представление, что проигрышей можно полностью избежать, если провести достаточно эффективную диверсификацию. До некоторой степени верно, что проигрыши можно смягчить посредством эффективной диверсификации, но их никогда нельзя полностью исключить. Не вводите себя в заблуждение. Не имеет значения, насколько хороша применяемая система, не имеет значения, как эффективно вы проводите диверсификацию, вы все равно будете сталкиваться со значительными проигрышами. Причина этого не во взаимной корреляции ваших рыночных систем, поскольку бывают периоды, когда большинство или все рыночные системы портфеля работают против вас, когда, по вашему мнению, этого не должно происходить. Попробуйте найти портфель с пятилетними историческими данными, чтобы все торговые системы работали бы при оптимальном f и при этом максимальный убыток был бы менее 30%! Это будет непросто. Не имеет значения, сколько при этом рыночных систем используется. Если вы хотите все сделать математически правильно, то надо быть готовым к проигрышу от 30 до 95% от баланса счета...:-))) Необходима строжайшая дисциплина, и далеко не все могут ее соблюдать.
Как только трейдер отказывается от торговли постоянным количеством контрактов, он сталкивается с проблемой, каким количеством торговать. Это происходит всегда независимо от того, признает трейдер данную проблему или нет. Торговля постоянным количеством контрактов не является решением, так как таким образом никогда нельзя добиться геометрического роста. Поэтому, нравится вам это или нет, вопрос о том, каким количеством торговать в следующей сделке, будет неизбежен для всех. Простой выбор случайного количества может привести к серьезной ошибке. Оптимальное f является единственным математически верным решением."
П.С. Крутите данную ф-ию к себе в экспертов, смотрите, проверяйте, сравнивайте результаты с другими вариантами ММ, не забывая здесь делиться интересными отчетами и выводами...
Есть замечание по следующему коду:
Я бы изменил точность с "1" на "2". Ведь у Вас тоже Min_Lot = 0.01?
Попробуйте теперь провести последний тест.
Также есть ещё одно замечание по данному коду. Не целесообразно применять в расчёте лота все свободные средства, когда процент убыточных сделок превышает процент прибыльных.
Либо нужно использовать больший лот перед тем как начнётся расчёт лота по Винсу. Пояснения ниже.
Я получил следующие результаты (валютная пара EURUSD, период H1, текующий год, оптимизация не проводилась, параметры Ваши):
0). Постоянный лот (Lots = 0.1).
Вывод:
Результат приемлемый: количество сделок, прибыльность. Оптимизировать параметры не стал.
1). Первая попытка использования кода Автора (Transaction_number = 100), начинаем с постоянного лота 0.01.
Выводы:
До того момента, как советник совершил 100 сделок: убытки маленькие, максимальный убыток также не большой (D). Отсюда и H маленькое:
А рассчитанный лот по Винсу получится огромным:
так как Мы используем все свободные средства, которые во много раз превышают параметр H.
Как Я писал ранее, процент убыточных сделок больше прибыльных, вероятность получить убыток выше, что и случилось в тесте.
При следующем расчёте оптимального f, параметр D становится в несколько раз выше предшествующего и всё, приехали... Позиции открываются объёмом 0.01 лот.
2). Вторая попытка использования кода Автора (Transaction_number = 100), начинаем с постоянного лота 0.1 (добавил входной параметр Initial_Lots).
Изменения в коде следующую строку:
Вывод:
График стал интереснее, но всё же прибыльность хуже...
Меня возмутили резкие скачки объёма позиции и Я полез в код.
3). Третья попытка использования кода Автора (Transaction_number = 100), начинаем с постоянного лота 0.1, поправил точность в расчёте лота.
Изменения в коде следующую строку:
Вывод:
Лот стал выбираться плавнее, но опять же из-за преобладающего количества убыточных сделок, прибыльность советника понизилась.
4). Четвёртая попытка использования кода Автора (Transaction_number = 100), начинаем с постоянного лота 0.1, использование лишь часть свободных средства (50%) для расчёта лота по Винсу (добавил входной параметр FreeMarginRisk):
Изменения в коде следующую строку:
Выводы:
Для начала взгляните на максимальную просадку и прибыльность. Заметно лучше, чем у первой попытки.
Так же на графике баланса и объёмов видны следующие закономерности:
- когда наблюдаются прибыльные участки, лот растёт;
- но как только идёт серия убытков (параметр D резко увеличивается) и рассчитанный лот соответственно резко уменьшается;
- затем прибыльные участки лот восстанавливают, но опять же из-за низкого процента прибыльных сделок, этот феномен не долгий.
Происходит некое геометрическое усреднение что ли! :)))
Код последней версии прикрепляю...
Заключение:
Как правильно рассчитать лот по Винсу из получившейся формулы:
Я не знаю... То есть какие нужно брать параметры.
А может Кто-то и опровергнет получившийся результат.
Но Я знаю точно, что нужно как-то бороться с максимальным убытком (параметром D), чтобы он не рос пропорционально лоту (может быть как-то ограничивать сделку StopLoss'ом)...
Но прежде всего необходимо повысить соотношение прибыльных и убыточных сделок. Советник сам по себе очень простой и на сверх-прибыльные результаты Я и не рассчитывал.
В общем cчитаю, что данный метод расчёта лота по Винсу имеет право на жизнь. Но чтобы полностью овладеть им, потребуется дополнительные исследования, к которым Я на данный момент не готов. Нет как таковой готовой торговой системы...
Я нахожусь сейчас на пути блуждания между волновой теорией, техническим анализом, свечным, методами Price Action, пипсоманией и даже иногда к Лавинщиками и Мартинщикам заглядываю! :DD
Есть замечание по следующему коду:
1. Я бы изменил точность с "1" на "2". Ведь у Вас тоже Min_Lot = 0.01?
Попробуйте теперь провести последний тест.
2. Также есть ещё одно замечание по данному коду. Не целесообразно применять в расчёте лота все свободные средства, когда процент убыточных сделок превышает процент прибыльных.
Либо нужно использовать больший лот перед тем как начнётся расчёт лота по Винсу. Пояснения ниже.
...
Для начала взгляните на максимальную просадку и прибыльность. Заметно лучше, чем у первой попытки.
Так же на графике баланса и объёмов видны следующие закономерности:
- когда наблюдаются прибыльные участки, лот растёт;
- но как только идёт серия убытков (параметр D резко увеличивается) и рассчитанный лот соответственно резко уменьшается;
- затем прибыльные участки лот восстанавливают, но опять же из-за низкого процента прибыльных сделок, этот феномен не долгий.
Происходит некое геометрическое усреднение что ли! :)))
Код последней версии прикрепляю...
3. Заключение:
...
Но прежде всего необходимо повысить соотношение прибыльных и убыточных сделок. Советник сам по себе очень простой и на сверх-прибыльные результаты Я и не рассчитывал.
В общем cчитаю, что данный метод расчёта лота по Винсу имеет право на жизнь.
4. Нет как таковой готовой торговой системы...
Благодарю Макс за интереснейшие и подробнейшие комменты и рецензию по данному вопросу.
Что касается ответов см. пункты (вопросы) выше...
1. " Ведь у Вас тоже Min_Lot = 0.01?" - нет. Мин_лот = 0,1 - это счет демо-классик, параметр Step (шаг изменения) = такой же, поэтому точность до одного знака после запятой.
0,01 - это микро.
2. Абсолютно верно.
3. Конечно, это уже напрямую зависит от эксплуатируемой ТС... :-))) Конечно, имеет право на жизнь.
4. ТС есть. Описание - отсюда + следующая страничка, отсюда и до конца ветви..., "корзинный индекс валют..." ветвь - отсюда, здесь база (включая содержимое "Источников" в конце статьи), здесь видео.
Кто интересуется выбором варианта ММ может подключить данный вариант к своей ТС и посмотреть результаты, не забывая при этом делиться интересными моментами в этой ветви форума.
Вар. №3 - по оптимальному f:
На этой картинке рассчитываемый лот просто жутко скачет... Поэтому Я и подумал, что сначала идёт торговля объёмом 0.01 лот, а затем кратный 0.1. Ошибся! :))
На этой картинке рассчитываемый лот просто жутко скачет... Поэтому Я и подумал, что сначала идёт торговля объёмом 0.01 лот, а затем кратный 0.1. Ошибся! :))
Понятно, Р.Винс же не зря пишет:
"
Попробуйте найти портфель с пятилетними историческими данными, чтобы все торговые системы работали бы при оптимальном f и при этом максимальный убыток был бы менее 30%! Это будет непросто. Не имеет значения, сколько при этом рыночных систем используется. Если вы хотите все сделать математически правильно, то надо быть готовым к проигрышу от 30 до 95% от баланса счета. Необходима строжайшая дисциплина, и далеко не все могут ее соблюдать.
Как только трейдер отказывается от торговли постоянным количеством контрактов, он сталкивается с проблемой, каким количеством торговать. Это происходит всегда независимо от того, признает трейдер данную проблему или нет. Торговля постоянным количеством контрактов не является решением, так как таким образом никогда нельзя добиться геометрического роста. Поэтому, нравится вам это или нет, вопрос о том, каким количеством торговать в следующей сделке, будет неизбежен для всех. Простой выбор случайного количества может привести к серьезной ошибке. Оптимальное f является единственным математически верным решением."
:-)))
Может каку гладилку придумать к нему... я не знаю, этим вопросом сильно не морочился, задача была отобразить все строго по первоисточнику... Мы с этим справились... Ура! :-)))
У меня мысли были домножать D на некий коэффициент, например, 1,5 - что то типа буфера (допуска)... но это не решит озвученной Вами проблемы: "- но как только идёт серия убытков (параметр D резко увеличивается) и рассчитанный лот соответственно резко уменьшается;" - тут параметр D увеличивается не из-за серии, но из-за максимального убытка по конкретной сделке, тут, возможно, и гладилка - то никакая и не нужна, просто необходимо стопы использовать... :-))) Сов то этот без стопов...:-))) Поэтому и ситуации такие возникают...
В любом случае, считаю необходимым, более пристально посмотреть на этот вариант ММ уже на "боевых" совах!!!