Математические основы индикаторов

  • Автор темы Автор темы AlexeNP
  • Дата начала Дата начала

AlexeNP

Гуру форума
продолжаем разговор... речь сейчас пойдет о дискретном преобразовании Хартли. Возьмем для примера такую задачку: есть сколько-то значений одной величины, и такое же количество величины, но другой... Как нам их сложить дружка с дружкой? У вас может возникнуть множество вариантов, но в преобразовании ответ простой - делаем два преобразования, их складываем, а уже из их суммы делаем обратное преобразование - вот и итог) Я же говорю - проще уже некуда)
ну-с, попробуем на практике как это выглядит... я взял во-первых цену, а во-вторых - самое последнее известное значение этой же цены... по смыслу взятых переменных у нас должно получиться что-то вроде экспоненциального сглаживания... но оно не получится из-за всяких шумов, лязга и грохота... смотрим
EURUSDH1.png

кроме последнего значения цены можно брать всё что душенька пожелает - среднее, максимальную или минимальную цену, медиану и прочая и прочая и прочая... пытливый ум и фантазия подскажут вам все возможные варианты
 

Вложения

Surem

Почетный гражданин
так... сегодня малюсенький индикатор... который замеряет мощность конечных разностей... это немного роднит его с преобразованием Фурье - по сути он показывает какая разность на данном этапе играет наибольшую роль в движении цены... Конечные разности берем с треугольника Паскаля... Для примера я ограничился 12 отсчетами, но конечно надо бы побольше, побольше...Посмотреть вложение 460837
Даже не запускается для 4ки и не компилируется((
 

AlexeNP

Гуру форума
обновления терминала последние.
"сдаётся мне, джентльмены..."
так, судя по всему тебе придется немного поработать руками...я как-то библиотеки из 5-ки в четверку перенес и благополучно забыл об этом...
два варианта: 1 - открываешь папку Include, потом Canvas, там смотришь папку Charts (если ее нет, то создаешь ее) и в эту папку кладешь бяку HistogramChart, ну или используй скомпилированный вариант
 

Вложения

Surem

Почетный гражданин
"сдаётся мне, джентльмены..."
так, судя по всему тебе придется немного поработать руками...я как-то библиотеки из 5-ки в четверку перенес и благополучно забыл об этом...
два варианта: 1 - открываешь папку Include, потом Canvas, там смотришь папку Charts (если ее нет, то создаешь ее) и в эту папку кладешь бяку HistogramChart, ну или используй скомпилированный вариант
Спасибо буду пытаться
 

AlexeNP

Гуру форума
сейчас поговорим о совершенно новой теме - дискретном преобразовании Хартли.
К примеру, мы хотим найти сглаженное значение средней цены, с целью определения трендов-брендов. Поступим так - возьмем цены high и low. Отдельно друг от друга, преобразуем их, подавим шумы, найдем их среднее, после чего сделаем обратное преобразование и выведем результат на график. Шумы будем давить так - чем выше частота шума, тем сильнее его давим. СмотримEURUSDH1.png
 

Вложения

gndf

Местный знаток
сейчас поговорим о совершенно новой теме - дискретном преобразовании Хартли.
К примеру, мы хотим найти сглаженное значение средней цены, с целью определения трендов-брендов. Поступим так - возьмем цены high и low. Отдельно друг от друга, преобразуем их, подавим шумы, найдем их среднее, после чего сделаем обратное преобразование и выведем результат на график. Шумы будем давить так - чем выше частота шума, тем сильнее его давим. СмотримПосмотреть вложение 460902
Вот это граалина, на пробое линии набирать в обратную сторону.
 

AlexeNP

Гуру форума
сейчас предлагаю поговорить о дискретном преобразовании Хартли.
Суть, индикатора будет примерно такой - берем цены high, low и close. Отдельно их преобразовываем, сглаживаем, после этого находим разность этих значений (вторая строчка треугольника Паскаля). Полученный результат преобразуем в обратную сторону, смотрим в какую сторону тянутся цены.
EURUSDH1.png

в следующий раз я попробую рассказать вам о дискретном преобразовании Хартли
 

Вложения

MERFY

Местный знаток
сейчас предлагаю поговорить о дискретном преобразовании Хартли.
Суть, индикатора будет примерно такой - берем цены high, low и close. Отдельно их преобразовываем, сглаживаем, после этого находим разность этих значений (вторая строчка треугольника Паскаля). Полученный результат преобразуем в обратную сторону, смотрим в какую сторону тянутся цены.
Посмотреть вложение 460917

в следующий раз я попробую рассказать вам о дискретном преобразовании Хартли
Было бы хорошо, если бы он умел прогноз на N точек вперед строить и отклонения цены рисовать, а не только свою сглаженную.
 

AlexeNP

Гуру форума
(y)(y) мы все с нетерпением ждём: когда вы нам расскажите о дискретном преобразовании Хартли!? 😁
ну, что ж... раз поступило пожелание - сейчас я вам расскажу о дискретном преобразовании Хартли...
Заодно, набросаем индикатор на его основе... Итак, вводная будет такой - строим сглаженную цену close, а по high и low рассчитываем среднюю ширину канала... гоняем все туды-сюды, и любуемся)
EURUSDH1.png

маленькая подсказка для пытливых умов... если в этой строке, убрать 2*, то канал станет ширше... хотя, правильнее говорить "ширее"... в общем - этот множитель влияет на ширину канала - чем меньше, тем ширее...
1222_2.png


Жаль, что нам не удалось послушать начальника транспортного цеха... он хотел нам рассказать что-то о дискретном преобразовании Хартли
 

Вложения

AlexeNP

Гуру форума
Было бы хорошо, если бы он умел прогноз на N точек вперед строить и отклонения цены рисовать, а не только свою сглаженную.
можно и прогноз строить... делаешь прямое преобразование, исходя из предположения, что спектр останется прежним, делаешь шаг вперед и рассчитываешь одно неизвестное значение... берешь его как реальное, и снова делаешь шаг вперед
 

AlexeNP

Гуру форума
сейчас начальник транспортного цеха расскажет нам о дискретном преобразовании Хартли...
как мы все даже не обратили внимание, но это преобразование принципиально не связывается с мнимыми числами. Благодаря этому можно устроить сглаживание не только в частотной, но и во временной области... пример: берем 3 последних прямых преобразования, усредняем их. А потом уже находим обратное преобразование, которое возвращает нас в область цен...
EURUSDH1.png

верите, что я могу еще долго продолжать тему с этим преобразованием? я весь этот флуд затеял, чтобы показать что можно сделать любой индикатор, главное чтобы трейдер хоть маленько представлял чего же ему хочется-то в итоге... кстати, почти с каждым индикатором который вообще в теме был можно провернуть столько же трюков...
а вообще, надоело ужо всё... хотя, может порадую вас еще одним подходом, но позже...
 

Вложения

AlexeNP

Гуру форума
Предмет моей лекции – плодотворная дебютная идея. Что такое, товарищи, дебют и что такое, товарищи, идея? Дебют, товарищи, – это "Quasi una fantasia". А что такое, товарищи, значит идея? Идея, товарищи, – это человеческая мысль, облечённая в логическую шахматную индикаторную форму.

поговорим малость за векторы. А то обо всем говорим, а про них ни слова. Что такое вектор? Берете листок бумаги (лучше всего подойдет 100-долларовая купюра), ярким маркером рисуете точку, от нее проводите линию, на конце линии рисуете стрелочку. Вот и получился у вас вектор. Но, векторы могут быть не только на плоскости. Если вы, к примеру, посылаете кого-то куда-то, то это будет уже трехмерный вектор - в пространстве. Если же вы посылаете куда-то и настолько-то, то это уже будет четырехмерный вектор - в пространстве и времени...

ну, а теперь самая суть нашего будущего индикатора - цены, преобразуем в N-мерный вектор (за это отвечает параметр Length). Берем сколько-то векторов (параметр Num), находим среднюю длину. После чего, считаем, что это длина будет как раз и прогнозируем цену открытия будущего бара. Красота...
EURUSDH1.png

Сами вектора, можно использовать для выделения циклических и периодических движений... правда картинка будет впечатляющей)
 

Вложения

Последнее редактирование:

AlexeNP

Гуру форума
Эх... сегодня, мне мягко намекнули, что уровни - это наше всё.... Не знаю как у вас, а у меня этих уровней - как у дурака фантиков... Ок, уровни, так уровни... Берем простой, но крайне эффективный алгоритм. Представьте, что у нас есть какое-то сборище цен. Находим их среднее. Среднее будет первым уровнем. Дальше ищем остатки между ценами и средним (само собой берем абсолютное значение этих остатков). Среднее этих остатков будет вторым уровнем. Продолжаем эту музыку до морковкиного заговенья или пока бензин не кончится... В результате получим растущие уровни, но с каждым разом их рост будет замедляться.

Итог, 3 уровня вверх и вниз, зеленая - средняя по ценам high и low.
Length - кол-во баров для расчета, ShiftBars - сдвиг от нулевого бара, можно смотреть чего в прошлом было, NumLvl - определяет какие расчетные уровни будут отображаться.
EURUSDH1.png
 

Вложения

alessandromagno

Новичок форума
ну, что ж... раз поступило пожелание - сейчас я вам расскажу о дискретном преобразовании Хартли...
Заодно, набросаем индикатор на его основе... Итак, вводная будет такой - строим сглаженную цену close, а по high и low рассчитываем среднюю ширину канала... гоняем все туды-сюды, и любуемся)
Посмотреть вложение 460929

маленькая подсказка для пытливых умов... если в этой строке, убрать 2*, то канал станет ширше... хотя, правильнее говорить "ширее"... в общем - этот множитель влияет на ширину канала - чем меньше, тем ширее...
Посмотреть вложение 460930


Жаль, что нам не удалось послушать начальника транспортного цеха... он хотел нам рассказать что-то о дискретном преобразовании Хартли
I really appreciate your work. looking better at the indicator i saw it repaints/redraw back 12 candles with default settings. Is it correct?
__________________________________
Я действительно ценю вашу работу. глядя на индикатор лучше, я видел, что он перерисовывает/перерисовывает 12 свечей с настройками по умолчанию. Это правильно?
 

AlexeNP

Гуру форума
I really appreciate your work. looking better at the indicator i saw it repaints/redraw back 12 candles with default settings. Is it correct?
__________________________________
Я действительно ценю вашу работу. глядя на индикатор лучше, я видел, что он перерисовывает/перерисовывает 12 свечей с настройками по умолчанию. Это правильно?
Перерисовывает этот индикатор не больше, чем скользящая средняя. Сейчас объясню.
Берем простую скользящую среднюю с периодом = 5. Кажется, что только последняя точка перемещается, а все остальные стоят на месте. Но это наш неправильный взгляд. На самом деле - скользящая средняя относится ко всему интервалу. Поэтому, правильно она должна отображаться синей линией.

EURUSDH1.png

Теперь по поводу моего индикатора. Убрать перерисовку можно с помощью подавления шумов. Для примера, я добавил экспоненциальное подавление шума. И никакой перерисовки не видно. То есть, она осталась, вот только определить это на глаз невозможно.
Еще коэффициент добавил - он регулирует ширину канала
 

Вложения

alessandromagno

Новичок форума
Перерисовывает этот индикатор не больше, чем скользящая средняя. Сейчас объясню.
Берем простую скользящую среднюю с периодом = 5. Кажется, что только последняя точка перемещается, а все остальные стоят на месте. Но это наш неправильный взгляд. На самом деле - скользящая средняя относится ко всему интервалу. Поэтому, правильно она должна отображаться синей линией.

Посмотреть вложение 461554

Теперь по поводу моего индикатора. Убрать перерисовку можно с помощью подавления шумов. Для примера, я добавил экспоненциальное подавление шума. И никакой перерисовки не видно. То есть, она осталась, вот только определить это на глаз невозможно.
Еще коэффициент добавил - он регулирует ширину канала
большое спасибо проверю!
 

alessandromagno

Новичок форума
Redraws this indicator no more than the moving average. I'll explain now.
Take a simple moving average with a period = 5. It seems that only the last point moves, and everyone else is standing still. But that's our wrong view. In fact, the moving average refers to the entire interval. Therefore, it should be displayed correctly with a blue line.

Посмотреть вложение 461554

Now about my indicator. You can remove redrawing using noise reduction. For example, I added exponential noise suppression. And you can't see any redrawing. That is, she stayed, but it's impossible to determine it by sight.
Another coefficient added - it regulates the channel width
I understand your point of view on how MA should be displayed. But by redrawing I mean the following: consider the example I made in the strategy tester. White indicates your indicator (Haley's transformation into 24 periods), blue indicates a simple MA for 24 periods. In the first figure you will see where white intersects with blue, and you can check their exact values.
На втором рисунке у вас индикатор перерисовывается/перерисовывается обратно. Вы можете ясно видеть изменения точки пересечения, а также значение вашего индикатора. МА стоит на месте, значение изменилось.
----------------------------------------------------------------------------------
I understand your point about how MA should be displayed. But what I mean by repaint is this: consider this example I did in strategy tester. In white is your indicator (Haley transform 24 periods), in blue a simple MA 24 periods. In the first pucture you'll see where the white cross the blue and you can check their exact values.
В втором картинке вы индикатор перекрасите/красите обратно. Вы можете четко увидеть изменения кросс- точки, а также значение вашего индикатора. MA все еще остается, стоимость была изменена.

Schermata 2022-01-17 alle 10.21.23.png

Schermata 2022-01-17 alle 10.25.08.png
 

alessandromagno

Новичок форума
днесь предлагаю индикатор с не совсем привычными свойствами. Как обычно происходит - индикатор берет данные для расчета подряд с текущего бара и сколько ему там нужно.
Однако, такой подход актуален не всегда. Предположим, что в данных есть какая-то циклическая составляющая. Тогда, нам нужно брать данные сейчас, день назад, неделю назад, месяц назад и т.д. То есть, мы как бы прореживаем данные, которые будут использоваться для расчета. Ну, примерно вот такой пропалыватель получился
Посмотреть вложение 454602
Параметр Thinning отвечает за прореживание. Если он равен нулю, то получаем простую скользящую среднюю (красная линия).
вместо этого этот индикатор не перерисовывается в прошлое
 
Верх