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

AlexeNP

Гуру форума
страшную весть принес я вам, зовите детей... ну, и внучат заодно, куда уж без них...
Оказывается, некоторые трейдеры до сих пор пользуются ATR. Не знаю, то ли он медом намазан, то ли этим трейдерам приплачивают за него. В общем, мне с него ни меда, ни денег никто не предлагал... Обидно. Поэтому, сделаем какой-нибудь индикатор с очень true range. Во-первых, изменим методику расчета. Считать будем вот эти значения
EURUSDH0.png
Это изменение позволит нам мало-мальски прогнозную модель использовать, что есть хорошо! Дальше, будем использовать не просто усреднение, а усеченное снизу среднее - этим мы чуток снизим риски. В итоге получаем нашу прелесть.
EURUSDH1.png
здесь нужно сказать, что я малость поленился и не стал разделять движение вверх и вниз, а собрал их в кучку.. Если же их рассматривать отдельно, то может получиться гораздо как интересная картинка. Вообще, потенциал этого индикатора достаточно большой - к примеру, можно мерять силу импульсного движения цены, силу трендов и т.д.
Ну, а те, кто жизни не представляет без осцилляторов, почти все то же самое,, но с простым усреднением.
EURUSDH2.png
 

Вложения

  • AIS Best True Range.mq4
    3,8 КБ · Просмотры: 103
  • AIS Best True Range Osc.mq4
    2,6 КБ · Просмотры: 105
  • AIS Best True Range.mq5
    3,8 КБ · Просмотры: 41
  • AIS Best True Range Osc.mq5
    2,6 КБ · Просмотры: 41

charbit

Новичок форума
et moi, les parametres que j ai indique sont bon et me font gagner de l argent ,, mais tu le sais on en veut toujours plus , c est tellement a la mode maintenant ,, plus d argent ,, plus d amour ,,, plus de paix
 

AlexeNP

Гуру форума
а вы бывали в Париже? Ставлю 100 евро против вашего одного...
Париж (настоящий, опасайтесь подделок) находится в Челябинской области... всё как положено - с Эйфелевой башней)
2015_08_08_07723.jpg
в общем полный Ville de France

ну, а сейчас совсем скромный индикатор синусного окна.
параметры: iLength - ширина окна в барах,
Power - это интересный параметр... если он = 0, то получится скользящее среднее, если =1 - синусное окно, если =2, то окно Ханна... во всех остальных случаях - хз
на картинке Power = 1 (синяя линия) и 3,14 (красная)
EURUSDH1.png
 

Вложения

  • AIS Sine Window.mq4
    2,5 КБ · Просмотры: 55
  • AIS Sine Window.mq5
    2,5 КБ · Просмотры: 24
Последнее редактирование:

AlexeNP

Гуру форума
Индикатор синусоидального окна, немного доработанный...
параметры:
iLength - длина оконной функции (не меньше 2)
iCenter - на какой отсчет приходится центр (корректное значение = 1.0, 1.5, 2.0 ... iLength, если iCenter = 0, то рассчитывается автоматически)
iPower - параметр степени, может быть отрицательным и положительным, если он = 0, то получается простая скользящая средняя
пример - синяя линия iPower=1 - синяя линия, iPower=0 - зеленая, iPower=-1 - красная
EURUSDH1.png
индикатор работает до 12 сентября
 

Вложения

  • AIS Sine Window.ex4
    10,4 КБ · Просмотры: 60
  • AIS Sine Window.ex5
    8,3 КБ · Просмотры: 17

AlexeNP

Гуру форума
индикаторы построенные на окне Бартлетта - Ханна. Суть этого окна - смешивание треугольного и косинусоидального окон.
iLength - длина оконной функции (не меньше 2)
iCenter - на какой отсчет приходится центр (корректное значение = 1.0, 1.5, 2.0 ... iLength, если iCenter = 0, то рассчитывается автоматически)
EURUSDH1.png
 

Вложения

  • AIS Bartlett-Hann Window.ex4
    11,7 КБ · Просмотры: 42
  • AIS Bartlett-Hann Oscillator.ex4
    12,6 КБ · Просмотры: 39
  • AIS Bartlett-Hann Window.ex5
    7,9 КБ · Просмотры: 22
  • AIS Bartlett-Hann Oscillator.ex5
    8,2 КБ · Просмотры: 24

AlexeNP

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


итак, будем писать детектор линейного тренда. Для этого используем весовую функцию с линейно возрастающими коэффициентами. Если мы применим эту функцию к ценам как есть, то получим какой-то линейно-взвешенный результат. Тут вспоминаем о неравенстве Чебышёва, и эту же функцию применяем к отсортированным (прямо и обратно )ценам. Тогда, одна часть неравенства будет показывать линию (синюю), которая должна была бы быть при возрастающем тренде, а вторая (красная) - при нисходящем тренде. Любуемся красотой:
EURUSDH1.png

для наглядности забубеним то же самое, но уже в виде осциллятора... тоже красота
EURUSDH2.png

а сколько еще таких штучек есть у меня в арсенале... так что пятьсот тугриков готовь )
 

Вложения

  • AIS Linear Trend Detector.mq4
    3,3 КБ · Просмотры: 76
  • AIS Linear Trend Detector Osc.mq4
    2,6 КБ · Просмотры: 79
  • AIS Linear Trend Detector.mq5
    3,3 КБ · Просмотры: 38
  • AIS Linear Trend Detector Osc.mq5
    2,6 КБ · Просмотры: 37
Последнее редактирование:

AlexeNP

Гуру форума
не так давно, один весьма энергичный молодой человек ляпнул что-то вроде: "не придумать тебе индикатор, всё уже придумано до тебя"... ну, раз придумано, то и мы ничего выдумывать не будем)
Давайте посмотрим на формулу простой скользящей средней
Снимок экрана20220331162814.png
Можно сказать, что это арифметическое среднее или свертка с прямоугольным окном... а можно сказать, что это - численное интегрирование по методу прямоугольника... вот алгоритмы численного интегрирования и зафигачим сейчас...
Кроме прямоугольников, есть еще интегрирование по методу трапеций и парабол... итак, индикатор со всеми этими штучками:
тип интегрирования - простой (простая скользящая средняя при этом получается), трапеции, и 3 штуки параболы... у некоторых из них есть ограничение по периоду индикатора: трапеция >=3, парабола 1 - нечетное число >=3, параболы 2 и 3 - >=7. Глянем, что получилось
EURUSDH1.png
вроде бы различия небольшие между ними. Но, как говорил Козьма Прутков - "От малых причин бывают большие последствия, щелкни кобылу в нос - она махнет хвостом". Проверим эти варианты на советнике который идет с МТ, только вместо МА вставим вот эти штучки. Стоит ли говорить, что все 4 варианта оказались лучше простой скользящей средней? Такие вот пироги с котятами, их ешь - они пищат...
 

Вложения

  • AIS Complicated Moving Average.mq4
    4,5 КБ · Просмотры: 44
  • AIS Complicated Moving Average.mq5
    3,5 КБ · Просмотры: 29
  • Tester.zip
    648,8 КБ · Просмотры: 24
  • EA Complicated Moving Average.mq4
    5,3 КБ · Просмотры: 23
  • EA Complicated Moving Average.mq5
    7,9 КБ · Просмотры: 20

AlexeNP

Гуру форума
Эх, давно хочу чего-нибудь новенькое и прикольное написать, но пока выходит только по старенькому. Так что терпите уже. Основная идея: 1 - робастная оценка среднего, 2 - робастная оценка медианного абсолютного отклонения. А через нее уже можно оценить стандартное отклонение. Маленькое замечание - полосы Боллинджера делают то же самое, но без робастности и прочих вкусняшек.
параметры: iLength - длина индикатора (должна быть больше 2), Factor - самая вкусная штука. Если Factor=0, то получается самая низкая оценка стандартного отклонения, ниже уже быть не может. Если Factor=1, то получается отклонение как у нормального распределения. Но можно этот параметр делать и побольше. При расчете множителя я допустил маленькую вольность - посмотрел на 3 коэффициента по разным распределениям, они оказались близки к ряду Фибоначчи (1.618, 2.618 и т.д.) - вот их я и использовал. Получилась красота)
EURUSDH1.png
 

Вложения

  • AIS Robust Standard Deviation Channel.mq4
    5,2 КБ · Просмотры: 59
  • AIS Robust Standard Deviation Channel.mq5
    5,1 КБ · Просмотры: 32

AlexeNP

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

Вложения

  • AIS Trend Change Detector.mq4
    2,7 КБ · Просмотры: 72
  • AIS Trend Change Detector.mq5
    2,7 КБ · Просмотры: 38

AlexeNP

Гуру форума
давным-давно А. Колмогоров и И. Журбенко плавали по Тихому океану... И как-то они задумались: а как трейдеры будут сглаживать временные ряды? Ну, сначала задумались, а потом взяли да и придумали фильтр... Фильтр получился очень хороший - он и надежен, и почти оптимален...
Параметр iLength - определяет длину генерирующей скользящей средней, iDegree - порядок фильтра
EURUSDH1.png
 

Вложения

  • AIS Kolmogorov-Zhurbenko filter.mq4
    2,8 КБ · Просмотры: 75
  • AIS Kolmogorov-Zhurbenko filter.mq5
    2,8 КБ · Просмотры: 40

AlexeNP

Гуру форума
ну, и напоследок, давайте взглянем на метод многоугольных чисел. Тут, штука такая - пифагорейцы гармонию в жизни искали, ну и заодно красивые числа. Вот как выглядят треугольные числа.
Polygonal_Number_3.gif
Общий замысел таков - использовать эти числа в индикаторе в виде коэффициентов. тут удобство такое - такой индикатор будет реагировать на тренды линейным образом, но с разной чувствительностью. Общее правило: чем короче длина индикатора и чем выше его степень, тем выше его чувствительность к последним изменениям цены. Центрированные числа более чувствительны, чем простые.
EURUSDH1.png
 

Вложения

  • AIS Smoothing Polygonal Numbers.mq5
    2,7 КБ · Просмотры: 43
  • AIS Smoothing Polygonal Numbers.mq4
    2,7 КБ · Просмотры: 49

MERFY

Местный житель
так, опять про разности)
первая и вторая разность немного перекосили вероятности, сейчас посмотрим как отразится на картинке добавление третьей разности. Тут сразу делаю небольшое отступление - разности можно рассчитывать не только по ценам идущим подряд, а через некоторый интервал. Своеобразный мультитаймфрейм получается.
Вот берем три разности, и высчитываем вероятность того, что цена Open примет определенное значение. Вот такое у нас получается
Посмотреть вложение 463985

малость поменяем масштаб, чтобы взглянуть на вещи ширше)
Посмотреть вложение 463986
заметно, что вероятность роста цены несколько выше) в Comment выводится насколько велика вероятность движения цены вверх.
Переменные индикатора:
DiffPeriod - расстояние между точками по которым рассчитываются разности. Соответственно - на столько же баров вперед строится прогноз.
Scale - масштабирующий коэффициент
Smoothing - сглаживание этой всей красоты
Помним, что в данном случае прогноз осуществляется по трем точкам. Если добавить разностей более высокого порядка, то картинка может стать гораздо интересней.

Привет!
Алекс, можно попросить немного доработать индикатор?

1. Добавить в настройки тайфмреймы, по которым будет проводиться расчет, чтобы видеть на каждом таймфрейме вероятность хода цены.
2. Разместить индикатор в подвальном окне с данными и вероятностями по каждлму из таймфреймов?

Думаю так будет гораздо нагляднее....

И точек конечно было бы приятно увидеть больше чем 3, если это конечно возможно расчитать.
 

AlexeNP

Гуру форума
Привет!
Алекс, можно попросить немного доработать индикатор?

1. Добавить в настройки тайфмреймы, по которым будет проводиться расчет, чтобы видеть на каждом таймфрейме вероятность хода цены.
2. Разместить индикатор в подвальном окне с данными и вероятностями по каждлму из таймфреймов?

Думаю так будет гораздо нагляднее....

И точек конечно было бы приятно увидеть больше чем 3, если это конечно возможно расчитать.
в подвал-то его зачем? он же показывает вероятность привязанную к значению цены, а не просто так
EURUSDH1.png
добавил еще одну разность... с мультитаймфреймом сложность в том, что нужно заранее знать какие таймфреймы будут использоваться - все их прогнозы должны приходиться на одну временную точку. Условно говоря - берем 5 минут с шагом в 4 бара и 15 с шагом в 3 бара. Совпадать в одной временной точке будут, но не часто.
 

Вложения

  • AIS Probability Levels Differences.mq4
    8,1 КБ · Просмотры: 54
  • AIS Probability Levels Differences.mq5
    8,1 КБ · Просмотры: 25

dema1

Местный житель
С возрастанием нервозности на рынках, прогноз может не совпадать с реалиами . Поэтому вывод средств каждый день. Заработал вывел.
 

AlexeNP

Гуру форума
тут один товарищ напомнил мне об одном давнишнем индикаторе... его суть - отслеживать движение цены в реальном времени. параметры iPeriod - количество отсчетов индикатора, Sensitivity - количество пунктов, которые должна пройти цена, чтобы включиться в расчеты (если 0, то берется текущий спред). По такому принципу я встречал стратегию - что-то около 15% в год она давала. Дальше, сейчас в индикаторе используется прямоугольное окно, но можно и другие весовые функции использовать..
EURUSDH1.png
 

Вложения

  • AIS Actual Price Movement.mq4
    3 КБ · Просмотры: 42
  • AIS Actual Price Movement.mq5
    2,9 КБ · Просмотры: 21

MERFY

Местный житель
Привет! Алекс, может напишешь индикатор нейронной сети с предиктором?
Таких вещей у тебя в теме еще небыло..
Многослойный персептрон к примеру...
 

MERFY

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

MERFY

Местный житель
давным-давно А. Колмогоров и И. Журбенко плавали по Тихому океану... И как-то они задумались: а как трейдеры будут сглаживать временные ряды? Ну, сначала задумались, а потом взяли да и придумали фильтр... Фильтр получился очень хороший - он и надежен, и почти оптимален...
Параметр iLength - определяет длину генерирующей скользящей средней, iDegree - порядок фильтра
Посмотреть вложение 471389
Интересно, а чем он существенно отличается от ЕМА, при порядке =1, он с ЕМА тупо совпадает, что дает этот порядок? В чем преимущество? Почему он оптимален?

Оптимален будет Ходрик-Прескотт, но он рисует (((

Если говорить про скороть, тогда HMA скользящая будет быстрее чем фильтр Колмогорова и Журбенко....
 
Последнее редактирование:
Верх