Обсуждение статьи "Оптимизируем стратегию по графику баланса и сравниваем результаты с критерием "Balance + max Sharpe Ratio""
Статья интересна примером использования стандартных библиотек для достижения цели. Использую анализ СКО баланса уже более двух лет на MT4 - очень нужный метод для советников с усреднением позиции.
Лично мне в статье не хватает информации о создании пользовательского отчета, т.е. записи результатов оптимизации в файл, особенно при оптимизации через агентов.
Недавно была опубликована статья (лень искать), в которой также использовалась "линейная регрессия". По ней я давал развернутый комментарий, повторю.
Оба автора совершают идентичные ошибки: они путают качественно разные понятие "линейная регрессия" и "линейная аппроксимация". Первая относится к случайным величинам, а вторая к детерминированным. Уравнения у них разнятся на случайную величину, которая суть ошибка. Не знаю как в Алглибе, но в любом нормальном пакете статистики учет ошибки выливается в ОЦЕНКУ коэффициентов регрессии, так как для них существует ошибка, которая может быть кратно больше номинала вычисленного коэффициента, что приводит к печальному результату: значение коэффициента вычислили, видим его, а в реальности его нет, и использовать то, что видим, нельзя Это обстоятельство не учитывается в статье и для терминологии "линейная регрессия" статья совершенно не верна.
Если же поменять слова "линейная регрессия" на "линейная аппроксимация", что будет соответствовать сути статьи, в которой баланс считается набором детерминированных, а не случайных величин, то достаточно интересная и полезная статья.
По какой-то причине мой файл не включает регрессию баланса. Есть способ устранить неполадки? Он сохранен в моих файлах и находится в разделе include.
1. Прочитайте описание ошибки и проверьте пути.
2. Если у вас есть ошибка, пожалуйста, предоставьте воспроизводимые результаты: как минимум нужен полный код, а как максимум - доказательство наличия файлов в указанных папках.
есть общий вопрос: почему при заполнении массивов результатов торговли мы учитываем только сделки с положительным влиянием на баланс? т.е. почему arr_profits заполняется только сделками с (комиссия + своп + прибыль) > 0.0?
Не влияют ли провалы в кривой баланса (которые являются результатами убыточных сделок) также на линию LR и, следовательно, на GetProfitStability?
При попытке скомпилировать BalanceRegression.mph у меня возникли ошибки:
Две закомментированные строки выдавали следующую ошибку - покопавшись немного, я обнаружил, что библиотека alglib была обновлена.
Обновленные строки компилируются, и код запускается, но я никогда раньше не использовал CMatrixDouble, поэтому не уверен на 100%, что исправление корректно.
operator[] constant variable cannot be passed as reference
CMatrixDouble xy(arr_size,2); for(int i=0;i<arr_size;i++) { //xy[i].Set(0,i+1); //xy[i].Set(1, arr_profits[i]); xy.Set(i, 0, i+1); xy.Set(i, 1, arr_profits[i]);
Кроме того, закомментированная строка в том же файле возвращала неопределенную переменную - опять же, я думаю, что это связано с обновлением alglib:
//double TrendMSE=linear_report.m_rmserror; double TrendMSE=linear_report.m_RMSError;

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Оптимизируем стратегию по графику баланса и сравниваем результаты с критерием "Balance + max Sharpe Ratio":
Рассмотрен еще один пользовательский критерий оптимизации торговых стратегий, основанный на анализе графика баланса. Для этого использовалось вычисление линейной регрессии с помощью функции из библиотеки ALGLIB.
MACD Sample balance regression.mq5, EURUSD, H4, без форвард-тестирования
Для оптимизации выбраны следующие параметры:
Рис. 19. Тестер, вкладка Параметры
Для советника MACD Sample balance regression проведу уже привычные три теста:
Автор: Vladimir Karputov