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

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

funny59

Гуру форума
погоняйте в тестере, и выложите результаты, пожалуйста.
Оно мне надо?! :)
Предыдущий пост был изложен лишь для целей опровержения мнения про невозможность "предсказания". Это всего лишь один из многих примеров возможностей ...
 

AlexeNP

Гуру форума
так... прогнозирование - тут можно говорить долго и не останавливаться даже на перекур)
Например, попробуем спрогнозировать следующее значение цены по разностям... Сначала посмотрим статистику этих разностей. Вот у нас первая разность
EURUSDH11.png
Сторонники нормального распределения и эффективного рынка можете начинать нервно курить в сторонке...

А вот статистика по второй разности
EURUSDH12.png
Тоже выглядит красиво)
Чтоб полюбоваться этой красотой - первый скрипт предназначен - первая разность показывается сама по себе, а для просмотра второй - раскомментируйте строки 66-74

ну-с, а теперь посмотрим можно ли это дело как-то приспособить в торговых целях. Для этого берем последние цены и в полном согласии со статистикой строим вероятности того, что цена примет определенное значение... опаньки
EURUSDH1.png
ось X - цена, ось Y - вероятность... Как видите, перекос получился довольно-таки заметным... добавление новых разностей может еще улучшить картину.
 

Вложения

AlexeNP

Гуру форума
ну, и по быстрому набросал индикатор, который рассчитывает математическое ожидание цены (sic!) в зависимости от первых двух разностей - синяя линия. Красная линия - цена с максимальной вероятностью. Такой вот прогноз по двум точкам)
EURUSDH1.png
StartPlot - начало отрисовки индикатора
 

Вложения

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

AlexeNP

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

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

Вложения

AlexeNP

Гуру форума
сегодня займемся магией вуду - совершим жертвоприношение во славу духов Форекса...
ой, да шучу я - обычная черная магия... поймайте черную кошку, в полночь идите на перекресток, выройте ямку и закопайте в нее 5 золотых, после чего скажете "крекс, пекс, фекс" и идите с кошкой домой...
лет примерно 250 тому назад Эйлер написал посвященную новым видам магических квадратов, сейчас они называются греко-латинскими. В чем прелесть этих квадратов - в том, что числа (греки и латиняне) разбиты по парам так, что каждая пара уникальна.
Простой пример - возьмем скользящее среднее. Если мы переставим цены местами, то результат не изменится. То есть, результат не уникален. А вот с греко-латинскими квадратами такой фокус не пройдет - все должно быть по порядку)
Из всех возможных вариантов я выбрал квадрат 10 порядка, в роли латинских патрициев будут выступать цены high, в роли эллинов - low. Взираем на красоту
EURUSDH1.png
а вообще, эти квадраты могут сослужить хорошую службу при разработке торговой стратегии, подборе параметров и многом другом. И, кстати, не только в трейдинге - к примеру, Жорж Перек написал роман La Vie mode emploi используя точно такой же квадрат, как и в этом индикаторе)
 

Вложения

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

AlexeNP

Гуру форума
давным-давно я сделал легкомысленное замечание, что-то вроде: "чё вы индикатор мучаете? я к нему еще буферов пришпандорить могу". Трейдеры, ребята простые, говорят: "тебя за язык никто не тянул, давай шпандорь"...

Так выглядит обработка шумов в лабораторных условиях
clrnoise.gif

но, в условиях максимально приближенных к трейдерству могут проявляться и всякие непотребства в виде всяких дробей... ну, ладно, добавим дробные шумы + еще парочку уровней...
EURUSDH1.png

MakarFX прости меня, если сможешь...
 

Вложения

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

serrus

Гуру форума
сегодня займемся магией вуду - совершим жертвоприношение во славу духов Форекса...
ой, да шучу я - обычная черная магия... поймайте черную кошку, в полночь идите на перекресток, выройте ямку и закопайте в нее 5 золотых, после чего скажете "крекс, пекс, фекс" и идите с кошкой домой...
лет примерно 250 тому назад Эйлер написал посвященную новым видам магических квадратов, сейчас они называются греко-латинскими. В чем прелесть этих квадратов - в том, что числа (греки и латиняне) разбиты по парам так, что каждая пара уникальна.
Простой пример - возьмем скользящее среднее. Если мы переставим цены местами, то результат не изменится. То есть, результат не уникален. А вот с греко-латинскими квадратами такой фокус не пройдет - все должно быть по порядку)
Из всех возможных вариантов я выбрал квадрат 10 порядка, в роли латинских патрициев будут выступать цены high, в роли эллинов - low. Взираем на красоту
Посмотреть вложение 464341
а вообще, эти квадраты могут сослужить хорошую службу при разработке торговой стратегии, подборе параметров и многом другом. И, кстати, не только в трейдинге - к примеру, Жорж Перек написал роман La Vie mode emploi используя точно такой же квадрат, как и в этом индикаторе)
А мт4?
 

AlexeNP

Гуру форума
"хрен его знает, товарищ майор, собака след не берет"...
Докладываю: не только вам не хватает МТ4 версий. Было найдено оптимальное решение в виде покупки планшета. Когда оценили стоимость этого решения, решили оформить его как подарок на день рождения, а пока объявлен краудфандинг (или чё-то в этом роде). Кроме того, изыскивается временное решение в виде старенького ноутбука. На текущий момент, чтобы склепать версию под МТ4 мне нужно потратить кое-какое количество времени на дорогу туда-обратно. Мой альтруизм не достиг еще таких вершин.
Проведем простой мысленный эксперимент. К примеру, версия МТ4 цветных шумов заняла порядка 2 часов... готовы лично вы жертвовать двумя часами своего времени только для того, чтобы другому человеку было удобнее? и, кстати, этот другой человек будет воспринимать это как само собой разумеющееся и в лучшем случае отметит твои старания лайком?
 
Последнее редактирование:

AlexeNP

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

1k0D1.jpg

а откуда мы можем узнать, полнолуние сейчас или нет? Ну, напишем индикатор. Он рассчитывает фазы Луны и расстояние от Земли до Луны... там еще чего-то есть, но я вывел только эти 2 показателя
EURUSDH1.png
светлая линия - фаза луны (1 == полнолуние) синяя - расстояние до Земли
 

Вложения

gek

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

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

а откуда мы можем узнать, полнолуние сейчас или нет? Ну, напишем индикатор. Он рассчитывает фазы Луны и расстояние от Земли до Луны... там еще чего-то есть, но я вывел только эти 2 показателя
Посмотреть вложение 464897
светлая линия - фаза луны (1 == полнолуние) синяя - расстояние до Земли
Привет.
На mql.4 есть?
 

AlexeNP

Гуру форума
сегодня будет немного философии) многие трейдеры, глядя на линии-полосочки акцентируют внимание на последнем значении. Так как, по умолчанию считается, что последняя точка важнее всего (каюсь - я тоже чаще всего использую именно ее, но это от лени). И тут возникает вопрос - а с фига ли? У линейных индикаторов есть еще одна не менее интересная точка - на которую приходится временная задержка. Вот сейчас мы и посмотрим насколько они разные. Для этого буду использовать 4 индикатора - средняя, треугольное, степенное и экспоненциальное окна. С периодами 3, 5, 7, 9 отсчетов. Берем нечетные значения, чтобы временная задержка приходилась на середину индикатора. Вход будем считать так - если значение индикатора по отношению к цене отклонилось достаточно сильно, то это - сигнал...
Пишем под них простенький советник, и будем это дело проверять. В Actual Value Point, для поиска входа используются последние точки, а в Time Delay Point - точки временной задержки.
Percent - насколько сильно отклоняются текущие показания от среднего, чтобы стать сигналом (чем меньше, параметр тем меньше будет сигналов больше... значение больше 50 смысла не имеет)
StartTrade и EndTrade - нужны только для нормального тестирования... так как советник учится сам, то в тестере начало тестирования нужно указывать пораньше чем значение StartTrade, а конец тестирования ставить позже EndTrade.
Так как используем сразу несколько индикаторов, то допускаем как прямые сигналы, так и перевертыши - переменные Signal и только их я и оптимизировал (всего-то 16 разных вариантов... полчаса и все готово).
Выбираем лучшие варианты и сравниваем
ReportTester.png
Второй вариант (если кто забыл - Time Delay) нащелкал на 40 тугриков больше... М-да, как-то неубедительно звучит... Поэтому переформулирую так - Time Delay Point насоветовал на 25% больше. Вот так звучит красивше)
 

Вложения

AlexeNP

Гуру форума
спонсор сегодняшнего выпуска
Снимок экрана20220211160626.png
Nota bene: внучатам следует поучиться краткости и красоте изложения, а также умению правильно использовать чего дают)
индикатор прост как 2*3 - сначала делаем медианную фильтрацию, к результатам которой применяем прямоугольную оконную функцию)))
EURUSDH1.png
срок годности до 1 июня
 

Вложения

AlexeNP

Гуру форума
хотел провести выходные с пользой, но трейдеры вообще весь страх потеряли... дают мне тут ссылку с квадратиками и кружочками, и мол - давай, комментируй... а я ни в квадратиках, ни в кружочках, ни даже в параллепипедах не в зуб ногой... Зато, я в курсе чего такое функция sinc.
1280px-Si_sinc.svg.png
Внимание! Все права защищены, возрастной рейтинг еще не присвоен!
Знаете ли вы эту функцию, любите ли её так же, как люблю её я? Учтите, что если вы не любите функцию sinc, то она полюбит вас. И не факт, что ей для любви потребуется ваше согласие) Честно говоря, я думал что с гауссовскими волнами тема закрыта, но трейдеры и не до такого греха доведут. Попробуем сделать одиночную волну этой самой функции. Смотрим
EURUSDH1.png
йоу, не впечатляет... ну, что ж - если первый результат не впечатляет, то это не значит что нужно всё бросать. Начнем королевскую охоту

а что, если три волны, да с разными параметрами? глядим
EURUSDH2.png
фигассе... это ж сколько нужно на грудь принять, чтобы такую прямую линию нарисовать?
а ведь в этой линии скрыты все квадраты-кружочки и прочая... просто нужно выбрать начальную функцию, а там удача сложится... подсказка - подбор параметров лучше доверить ебернетике, а не рисовать по собственному произволу...
ну, и по сложившемуся обычаю, делаем индикатор по 3 функциям sinc
EURUSDH3.png
замечания к скрипту и индикатору:
cnt - количество функций sinc, которые будут использованы
mean[] - массив с центрами функций, количество центров должно быть = cnt
scale[] - массив с амплитудами функций, также количество значений должно быть равно cnt
соответствие размеров всех этих штучек лежит целиком на вас!
 

Вложения

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

AlexeNP

Гуру форума
Вот, все говорят - "простая скользящая средняя"... А если не охота простую, а хочется какую-нибудь сложную? Что вот тогда делать? Давайте забабахаем непростую скользящую среднюю. А за основу возьмем модель усеченного среднего. Это зверь такой - берем значения временного ряда, отбрасываем сколько-то максимальных и минимальных значений, а для того что осталось находим среднее значение. В общем всё как всегда просто и без затей.
Ну, чутка мы это дело модернизируем... Будем делать канальный индикатор такого типа - для цен close будем считать среднее как есть, для high - при расчете будем отбрасывать только минимальные значения, для close - наоборот будем выкидывать только максимальные. Таким образом, у нас получается что-то такое-этакое
EURUSDH1.png
параметр Truncated - сколько значений будет отброшено... этот параметр ограничен сверху (не более 40% данных можно отбрасывать), но это автоматика сама рассчитывает... если Truncated = 0, то все линии превратятся в SMA
 

Вложения

AlexeNP

Гуру форума
не так давно, мы рассматривали основной вопрос философии - какая точка более важна для генерации сигнала. Сегодня посмотрим на эту проблему с точки зрения метафизики - почему есть что-то, а не ничего?
В данном случае общий стратегический умысел таков - сигнал будет генерироваться не одной, а двумя точками. Для этого берем индикатор со степенным сглаживанием, сигнал формируется из разниц между индикатором в начале и в конце его периода. Сопоставляем их вместе и получаем какое-то 2D (на примере двухмерного нормального распределения)
MultivariateNormal.png
если итог от этих двух точек попадает в какой-нибудь угол, то значит чего-то есть...
Для проверки гипотезы, клепаем советник, смотрим... Иногда, очень даже козырно получается)screenshot.1.png
в советнике можно поиграть с параметром Sensitivity 3-6 где-то так).
Ну, и конечно же можно переделать это все в 3D - добавить еще центральную точку индикатора...
 

Вложения

Bullra

Новичок
не так давно, мы рассматривали основной вопрос философии - какая точка более важна для генерации сигнала. Сегодня посмотрим на эту проблему с точки зрения метафизики - почему есть что-то, а не ничего?
В данном случае общий стратегический умысел таков - сигнал будет генерироваться не одной, а двумя точками. Для этого берем индикатор со степенным сглаживанием, сигнал формируется из разниц между индикатором в начале и в конце его периода. Сопоставляем их вместе и получаем какое-то 2D (на примере двухмерного нормального распределения)
Посмотреть вложение 466812
если итог от этих двух точек попадает в какой-нибудь угол, то значит чего-то есть...
Для проверки гипотезы, клепаем советник, смотрим... Иногда, очень даже козырно получается)Посмотреть вложение 466817
в советнике можно поиграть с параметром Sensitivity 3-6 где-то так).
Ну, и конечно же можно переделать это все в 3D - добавить еще центральную точку индикатора...
Весьма недурно, а если добавить шорты, то вообще огонь!
 

AlexeNP

Гуру форума
Весьма недурно, а если добавить шорты, то вообще огонь!
ну, там можно все добавить-подобрать... основная цель всех этих заморочек - показать, что иногда и за самыми простыми индикаторами может скрываться что-то очень полезное... главное, это полезное копнуть)
вы ж не будете эксперименты ставить... ладно, вот по-быстрому делаем сигнал в 3D... даже так 3xD
используется треугольное окно с периодом 9, для генерации сигнала берем начало, середину и конец окна... любуемся
ReportTester-5000673953.png
 

Вложения

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