Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
спасибо за очень большую проделанную работу.
Подскажите пожалуйста, если можно, а то я окончательно запутался "в трех соснах" не смотря что код хорошо читается - как подправить код, чтобы при в автоматическом режиме работы индикатора при
Movable_Lines = false
use_time = false, соотвествено
линия Line-start-bar и линия Line-finish-bar не перемещались, в то время как линия Line-primary-bar перемещалась с каждым новым баром.
(т.е. сейчас все линии перемещаются, а хотелось бы чтобы линии начала и конца интервала стояли на месте, а смещалась только линия фильтра).
Можно сделать так: включить Use_Time чтобы закрепить границы расчета модели, и поставить большое отрицательное число для линии фильтра Primary_Shift и/или Secondary_Shift которое заведомо выводит её в будущее, и тогда индикатор будет ставить её на нулевой бар каждый раз.
Можно сделать так: включить Use_Time чтобы закрепить границы расчета модели, и поставить большое отрицательное число для линии фильтра Primary_Shift и/или Secondary_Shift которое заведомо выводит её в будущее, и тогда индикатор будет ставить её на нулевой бар каждый раз.
подскажите как работать с результатами PCA алглибовского? :) видел что используете
после того, как получена матрица на данных, как применить преобразования на новых?
Самое понятное краткое обьяснение
Самый понятный учебник с примерами
Самое понятное видео
Проверочный скрипт на R / индикатор
Описание из AlgLib
... НО ...
Использовать PCA - плохая идея, от слова совсем, т.к. при нахождении весов они могут рандомно менять знак, ссылка на описание проблемы смены знака есть в описании индикатора выше
... ПОЭТОМУ ...
лучше использовать обычную Multiple Regression (LRBuild - AlgLib) на модели, которая не пересекается с нулем, потом, чтобы получить колебания вокруг нуля надо сформировать матрицу вращения, которая вычитает эту модель из результата, как показано на видео
Самое понятное краткое обьяснение
Самый понятный учебник с примерами
Самое понятное видео
Проверочный скрипт на R / индикатор
Описание из AlgLib
... НО ...
Использовать PCA - плохая идея, от слова совсем, т.к. при нахождении весов они могут рандомно менять знак, ссылка на описание проблемы смены знака есть в описании индикатора выше
... ПОЭТОМУ ...
лучше использовать обычную Multiple Regression (LRBuild - AlgLib) на модели, которая не пересекается с нулем, потом, чтобы получить колебания вокруг нуля надо сформировать матрицу вращения, которая вычитает эту модель из результата, как показано на видео
ну понял, он просто в матрицу пишет линейные коэффициенты для каждой компоненты, по убыванию дисперсии
по поводу линейной регрессии - сделано вот так, без заморочек. Только без учета разных трендовых, синусоидных и прочих трендов, как это реализовано у вас.. сорр, не у вас, а у автора этой темы :)
но мне для других целей
Действительно алгоритм PCA имеет проблему ориентации знаков, поэтому портфель в какой-то момент может переворачиваться (впрочем его можно всегда перевернуть самому еще раз) и еще есть проблема нормирования коэффициентов после PCA (точнее не проблема а задача)
Метод PCABuildBasis возвращает (см. alglib.mqh строка 4565), массив дисперсий и матрицу векторов коэффициентов соответствующих дисперсиям, в моделлере это VAR (дисперсии) и VECTOR (коэффициенты), при этом заранее известно что они отсортированы, и если взять первый вектор то он будет соответствовать наибольшей дисперсии (самый волатильный портфель), а если взять последний вектор то будет наименьшая дисперсия из возможных (самый сжатый портфель)
вопрос снят, спасибо, разобрался )
2. исходя из пункта #1 принцип построения портфеля выглядит не очень логично, то есть матрицу считаем в относительных ценах, потом выравниваем коефициент сравнивая кто самый волатильный, потом делим на STD для еще более искусственного выравнивания и перевода в "процентные" значения, а потом синтетик считаем как будто мы использовали только весы для ЭКВИТИ, а не для ЦЕН ... для "условных" весов лучше подошла бы геометрическая сумма / среднее, а не арифметическое
P.S. вобщем, недостатком является то, что есть принудительное выравние визуального графика, которое не учтено в весах расчитанных LRBuild. Хренфикс пытается всех запутать используя левые термины для стандартных определений, но в целом, когда используется матрица цен, а не эквити депо, то вот пример с формулой геометрического среднего
Опубликовано обновление индикатора и эксперта:
С чем может быть связана не работа функции Threshold_Correction = 0
разве трансформация не будет выполнена автоматически при наступлении очередного времени трансформации в не зависимости от + или -
????
хотя у меня она вообще эта трансформация в автоматическом режиме по времени не работает, хоть + задавай , хоть -
С чем может быть связана не работа функции Threshold_Correction = 0
разве трансформация не будет выполнена автоматически при наступлении очередного времени трансформации в не зависимости от + или -
????
хотя у меня она вообще эта трансформация в автоматическом режиме по времени не работает, хоть + задавай , хоть -
Сейчас реализовано следующим образом:
if(subprofit<=-Threshold_Correction*MathAbs(subvolume))
то есть коррекция производится если текущая прибыль/убыток по рассматриваемой доливке меньше чем величина шага просадки (Threshold_Correction) умноженная на объем этой доливки и взятая с обратным знаком,
соответственно если Threshold_Correction=0 то коррекция должна случиться при условии отрицательной прибыли.
+
Чтобы сделать безусловную коррекцию с каждой торговой итерацией нужно поставить большое (заведомо недостижимое) отрицательное число для Threshold_Correction.