Есть ряд осцилляторов, показатели которых отображаются не в процентном выражении (относительные), а в абсолютных показателях (целых и дробных числах). Задача стоит в унификации использования в советнике индикатора путем преобразования абсолютных показателей в относительные. К примеру, границы максимума и минимума ATR могут меняться в зависимости от волатильности рынка, и хотя сам индикатор показывает волатильность рынка, нам не ясно какая волатильность является сильной, а какая слабой. Для понимания границ мы смотрим на график и определяем на глаз примерные стандартные точки максимумов и минимумов индикатора, которые служат ориентиром для определения силы волатильности. Если мы используем советник, то задаем эти границы в его настройки, но рынок может меняться, соответственно и настройки диапазонов должны меняться. Как этот процесс адаптации наиболее вероятных максимумов и минимумов можно автоматизировать? Есть идеи? Какие варианты наиболее эффективны? Я же сам пока вижу три варианта:
Определение максимума и минимума за последние Nбаров
и преобразование на прошлом (или текущем – зависит от потребностей) значения
осциллятора в процентное выражение (Формула=(Значение-Минимум)/(Максимум-Минимум));
Определение максимума и минимума за последние Nбаров,
потом значения на каждом баре за период Nпреобразовываем в относительное, по
выше указанной формуле, и распределяем по группам – допустим в группу по 5%.
Далее определяем, сколько в каждой группе значений в процентном выражении от
всех показателей (N). Ищем
в группах с минимальным индексом (5%-15%) и максимальным индексом (85%-100%)
наиболее большое заполнение относительно Nбаров, а потом в выбранных индексах рассчитываем
среднее значение. Полученные средние значения будут диапазоном от 0% до 100%, и
соответственно производим расчет на прошлом (текущем) баре, согласно все той же
формуле из первого варианта;
Определяем за Nбаров линейную регрессию и среднеквадратическое
отклонение, строим некий канал по которому и определяем верхнюю и нижнюю
границу. Полученные значения будут
диапазоном от 0% до 100%, и соответственно производим расчет на прошлом (текущем)
баре, согласно все той же формуле из первого варианта.
Пересчет делать на каждом баре нет смысла, я думаю, что раз
в N/10 раз достаточно
будет.
По мне так нельзя создать одно универсальное решение. В вашем варианте №1 если кое что поменять местами WPR получиться. Я бы в ATR взял за "точку опоры" средний размер свечи 10-100 бар с данного графика (больше 100 на ТФ выше 15 мин нет смысла , там разница будет в приделах 10-15%) . Кол- во бар зависит от того насколько вам необходима "динамика" цены. А вот один из методов меня прельстил . Он реализован в одной из разновидностей NRMA. Это построение границ в процентном отношении от экстремумов . Как вы понимаете при данном решении вопроса волатильность тоже учитывается. А лучше всего классический индюк в динамическом канале (конечно не боллинджер) их в интернете великое множество . убрать в коде уровни и фиксацию шкалы + добавить разбивку канала как будет угодно (%, пип и т.д.) . В этом случае динамический канал и станет той шкалой что как я понял вы и добиваетесь .
Хотел бы поинтересоваться у автора - нашли идеальный метод масштабирования данных?
P.S. Последняя приведенная ссылка на индикатор Master Slave является тем же линейным масштабированием, только с изменяемым диапазоном от А до В, как описано здесь :
Хотел бы поинтересоваться у автора - нашли идеальный метод масштабирования данных?
P.S. Последняя приведенная ссылка на индикатор Master Slave является тем же линейным масштабированием, только с изменяемым диапазоном от А до В, как описано здесь :
К сожалению оставил пока работу над этим вопросом - для экспериментов нужны инвестиции - хочется проверить озвученные здесь идеи и сравнить между собой.
Спасибо, правда с английским языком не хорошо у меня.
Сейчас параллельно работаю над другими перспективными проектами,в частности над этим https://www.mql5.com/ru/forum/40157 , как только идеи иссякнут - вернусь к этому. У меня есть советник, который зарабатывает на пробой индикаторов типа осцилляторов - к моему удивлению на всех можно заработать, но требуется подстройка, поэтому эта тема мне стала актуальной - развитие этой идеи не оставляю - будут идеи с радостью послушаю.
Есть ряд осцилляторов, показатели которых отображаются не в процентном выражении (относительные), а в абсолютных показателях (целых и дробных числах). Задача стоит в унификации использования в советнике индикатора путем преобразования абсолютных показателей в относительные.
Не совсем то, но иногда помогает - при расчётах цены можно
делить, а не вычитать: price_1
– price_2 можно заменить на price_1
/ price_2 – 1.
Не совсем то, но иногда помогает - при расчётах цены можно
делить, а не вычитать: price_1
– price_2 можно заменить на price_1
/ price_2 – 1.
Технически придется переделывать каждый индикатор, к которому можно теоретически применить этот метод - трудоемко и не факт, что перспективно.
В идеале для пользования нужен пользовательский индикатор, который будет принимать любые данные индикатора, преобразовывать их, и выдавать стандартизированный результат.
Есть ряд осцилляторов, показатели которых отображаются не в процентном выражении (относительные), а в абсолютных показателях (целых и дробных числах).
Задача стоит в унификации использования в советнике индикатора путем преобразования абсолютных показателей в относительные.
К примеру, границы максимума и минимума ATR могут меняться в зависимости от волатильности рынка, и хотя сам индикатор показывает волатильность рынка, нам не ясно какая волатильность является сильной, а какая слабой. Для понимания границ мы смотрим на график и определяем на глаз примерные стандартные точки максимумов и минимумов индикатора, которые служат ориентиром для определения силы волатильности.
Если мы используем советник, то задаем эти границы в его настройки, но рынок может меняться, соответственно и настройки диапазонов должны меняться.
Как этот процесс адаптации наиболее вероятных максимумов и минимумов можно автоматизировать? Есть идеи? Какие варианты наиболее эффективны?
Я же сам пока вижу три варианта:
Определение максимума и минимума за последние N баров и преобразование на прошлом (или текущем – зависит от потребностей) значения осциллятора в процентное выражение (Формула=(Значение-Минимум)/(Максимум-Минимум));
Определение максимума и минимума за последние N баров, потом значения на каждом баре за период N преобразовываем в относительное, по выше указанной формуле, и распределяем по группам – допустим в группу по 5%. Далее определяем, сколько в каждой группе значений в процентном выражении от всех показателей (N). Ищем в группах с минимальным индексом (5%-15%) и максимальным индексом (85%-100%) наиболее большое заполнение относительно N баров, а потом в выбранных индексах рассчитываем среднее значение. Полученные средние значения будут диапазоном от 0% до 100%, и соответственно производим расчет на прошлом (текущем) баре, согласно все той же формуле из первого варианта;
Определяем за N баров линейную регрессию и среднеквадратическое отклонение, строим некий канал по которому и определяем верхнюю и нижнюю границу. Полученные значения будут диапазоном от 0% до 100%, и соответственно производим расчет на прошлом (текущем) баре, согласно все той же формуле из первого варианта.
Пересчет делать на каждом баре нет смысла, я думаю, что раз в N/10 раз достаточно будет.
Хотел бы поинтересоваться у автора - нашли идеальный метод масштабирования данных?
P.S. Последняя приведенная ссылка на индикатор Master Slave является тем же линейным масштабированием, только с изменяемым диапазоном от А до В, как описано здесь :
Хотел бы поинтересоваться у автора - нашли идеальный метод масштабирования данных?
P.S. Последняя приведенная ссылка на индикатор Master Slave является тем же линейным масштабированием, только с изменяемым диапазоном от А до В, как описано здесь :
Жаль, на всякий случай, вот здесь есть несколько картинок демонстрирующих разницу 3х алгоритмов масштабирования - http://quant.stackexchange.com/questions/18025/which-kind-of-normalization-to-prefer-before-pca-generic-solution-for-any-facto
Спасибо, правда с английским языком не хорошо у меня.
Сейчас параллельно работаю над другими перспективными проектами,в частности над этим https://www.mql5.com/ru/forum/40157 , как только идеи иссякнут - вернусь к этому. У меня есть советник, который зарабатывает на пробой индикаторов типа осцилляторов - к моему удивлению на всех можно заработать, но требуется подстройка, поэтому эта тема мне стала актуальной - развитие этой идеи не оставляю - будут идеи с радостью послушаю.
Есть ряд осцилляторов, показатели которых отображаются не в процентном выражении (относительные), а в абсолютных показателях (целых и дробных числах).
Задача стоит в унификации использования в советнике индикатора путем преобразования абсолютных показателей в относительные.
Не совсем то, но иногда помогает - при расчётах цены можно делить, а не вычитать: price_1 – price_2 можно заменить на price_1 / price_2 – 1.
Не совсем то, но иногда помогает - при расчётах цены можно делить, а не вычитать: price_1 – price_2 можно заменить на price_1 / price_2 – 1.
Технически придется переделывать каждый индикатор, к которому можно теоретически применить этот метод - трудоемко и не факт, что перспективно.
В идеале для пользования нужен пользовательский индикатор, который будет принимать любые данные индикатора, преобразовывать их, и выдавать стандартизированный результат.