![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хороший слог, было интересно, спасибо автору. Оформление в виде формул и примеров значительно быстрее позволяет вникнуть, чем реализация кода.
Не попадал на предыдущие статьи автора. Надо будет ознакомиться. Еще раз спасибо.
Спасибо за статью.
Я так понял, что сильно на размер лота будет влиять серия прибыльных и убыточных сделок, полученных на истории и используемых для расчета лота. Поэтому, интересно посмотреть на результаты случайным образом беря исход сделок. Предполагаю, что результаты метрик прохода будут сильно отличаться.
Спасибо за статью.
Я так понял, что сильно на размер лота будет влиять серия прибыльных и убыточных сделок, полученных на истории и используемых для расчета лота. Поэтому, интересно посмотреть на результаты случайным образом беря исход сделок. Предполагаю, что результаты метрик прохода будут сильно отличаться.
В скриптах результат сделок генерируется случайно. При этом, сам скрипт при расчете лота не знает какая вероятность задана изначально. Самое плохое что может случиться - несколько идущих подряд убыточных сделок, особенно в конце серии. Самое простое - при расчетах брать не весь депозит, а какой-то процент от него... Скажем 5-10%, тогда кривая баланса будет устойчивей - больших убытков не будет, но и профиты тоже уменьшатся.
В скриптах результат сделок генерируется случайно. При этом, сам скрипт при расчете лота не знает какая вероятность задана изначально. Самое плохое что может случиться - несколько идущих подряд убыточных сделок, особенно в конце серии. Самое простое - при расчетах брать не весь депозит, а какой-то процент от него... Скажем 5-10%, тогда кривая баланса будет устойчивей - больших убытков не будет, но и профиты тоже уменьшатся.
Я про заключительную часть статьи пишу :
Давайте вместе посмотрим, как риск может повлиять на трейдинг. Для проверки мы будем использовать простейший советник на пересечении двух скользящих средних. Тестирование советника происходило при следующих параметрах:
И, повторюсь, важно исследовать окно для расчета исторических успехов\неудач, в том числе как оно меняется. Не будите же Вы за 10 лет брать пропорцию после, допустим, отбора стратегии в тестере стратегий.
Автор молодец, статью - в закладки.
Интересный подход. Но возник вопрос: имеет ли моральное ожидание такой же физический смысл как математическое ожидание? В статье две интерпретации математического ожидания - через сумму (например, 11 дукатов в начале статье), и через пункты (в формуле p*TP - (1-p)*SL). Про моральное ожидание пояснений нет, но судя по основной формуле - моральное ожидание это сумма, потому что корреспондирует с депозитом.
Тогда следующий вопрос. Хотелось бы рассмотреть, ИМХО, востребованную задачу, отсутствующую в статье. Дается депозит, дается желаемое моральное ожидание как часть депозита (Mr = Fraction * Deposit) и лот. При различных значениях вероятности выигрыша построить кривые SL/TP. Судя по всему, для вероятности 0.5 задача не определена.
Я попробовал это сделать навскидку, наверно с ошибками. Повсюду лезут либо странные числа, либо NaN-ы - вылет за область определения корней.
Вот например, со стороны из SL посчитать TP:
Выводит:
Интересный подход. Но возник вопрос: имеет ли моральное ожидание такой же физический смысл как математическое ожидание? В статье две интерпретации математического ожидания - через сумму (например, 11 дукатов в начале статье), и через пункты (в формуле p*TP - (1-p)*SL). Про моральное ожидание пояснений нет, но судя по основной формуле - моральное ожидание это сумма, потому что корреспондирует с депозитом.
Тогда следующий вопрос. Хотелось бы рассмотреть, ИМХО, востребованную задачу, отсутствующую в статье. Дается депозит, дается желаемое моральное ожидание как часть депозита (Mr = Fraction * Deposit) и лот. При различных значениях вероятности выигрыша построить кривые SL/TP. Судя по всему, для вероятности 0.5 задача не определена.
Я попробовал это сделать навскидку, наверно с ошибками. Повсюду лезут либо странные числа, либо NaN-ы - вылет за область определения корней.
Вот например, со стороны из SL посчитать TP:
Выводит:
строка const double y1 = (1 + MoralExpectationPercent) * Amount * MathPow(Amount - slp, WinProbability - 1);
WinProbability - 1 - отрицательное значение всегда... а оно должно быть строго неотрицательным
так правильнее
Интересный подход. Но возник вопрос: имеет ли моральное ожидание такой же физический смысл как математическое ожидание? В статье две интерпретации математического ожидания - через сумму (например, 11 дукатов в начале статье), и через пункты (в формуле p*TP - (1-p)*SL). Про моральное ожидание пояснений нет, но судя по основной формуле - моральное ожидание это сумма, потому что корреспондирует с депозитом.
Тогда следующий вопрос. Хотелось бы рассмотреть, ИМХО, востребованную задачу, отсутствующую в статье. Дается депозит, дается желаемое моральное ожидание как часть депозита (Mr = Fraction * Deposit) и лот. При различных значениях вероятности выигрыша построить кривые SL/TP. Судя по всему, для вероятности 0.5 задача не определена.
Я попробовал это сделать навскидку, наверно с ошибками. Повсюду лезут либо странные числа, либо NaN-ы - вылет за область определения корней.
Вот например, со стороны из SL посчитать TP:
Выводит:
вторая ошибка - мы не можем назначить какое угодно моральное ожидание...
Моральное ожидание всегда меньше математического. Они приближаются друг к другу при росте депозита. Поэтому задача сводится строго к следующим условиям: при положительном математическом ожидании получить положительное моральное ожидание
строка const double y1 = (1 + MoralExpectationPercent) * Amount * MathPow(Amount - slp, WinProbability - 1);
WinProbability - 1 - отрицательное значение всегда... а оно должно быть строго неотрицательным
так правильнее
Я вроде следовал строгим мат.преобразованиям - не вижу, где ошибка? Пока оставим за скобками смысл самой величины и просто смотрим формулу как абстракцию.
Исходная, с подставленной частью F депозита D вместо оригинального Mr: F * D = (D + L * TP * PV)^p * (D - L * SL *PV)^(1-p) - D
У нас же получались числа морального ожидания в несколько десятков, почему мы не можем любое число обозначить как % от депозита? Можем.
Далее получаем:
(1+F)*D = (...)^p * (...)^(1-p)
(1+F)*D / (...)^(1-p) = (...)^p
Обращаем внимание, что 1 / x^y -> x^-y, так можно избавиться от дроби, хотя для компьютера не принципиально, что считать, но формула без дроби проще читается.
(1+F)*D * (...)^(p-1) = (...)^p
[ (1+F)*D * ( D - L * SL *PV )^(p-1) ] ^ (1/p) = ( D + L * TP * PV )
У меня в коде в переменной y1 находится то, что в квадратных скобках.
В вашем варианте кода неполная формула.
Я вроде следовал строгим мат.преобразованиям - не вижу, где ошибка? Пока оставим за скобками смысл самой величины и просто смотрим формулу как абстракцию.
Исходная, с подставленной частью F депозита D вместо оригинального Mr: F * D = (D + L * TP * PV)^p * (D - L * SL *PV)^(1-p) - D
У нас же получались числа морального ожидания в несколько десятков, почему мы не можем любое число обозначить как % от депозита? Можем.
Далее получаем:
(1+F)*D = (...)^p * (...)^(1-p)
(1+F)*D / (...)^(1-p) = (...)^p
Обращаем внимание, что 1 / x^y -> x^-y, так можно избавиться от дроби, хотя для компьютера не принципиально, что считать, но формула без дроби проще читается.
(1+F)*D * (...)^(p-1) = (...)^p
[ (1+F)*D * ( D - L * SL *PV )^(p-1) ] ^ (1/p) = ( D + L * TP * PV )
У меня в коде в переменной y1 находится то, что в квадратных скобках.
В вашем варианте кода неполная формула.
Если мы назначили какое-то желаемое нам моральное ожидание сделки, то мы (из свойства моральное ожидание меньше математического) получаем такое неравенство:
p* L * TP * PV - (1-p) *L * SL *PV > F*D
то есть, вместо того, чтобы найти значение TP при котором моральное ожидание становится положительным, мы начинаем искать значение TP такое, что математическое ожидание становится больше заданной величины