Блог им. proalexey

Новая СуперСкользяшка (PMA). Такой еще не было.

Скользящая средняя, построенная на основе линии линейной регрессии.

 

      Хочу сделать презентацию своей идеи, которая переросла в индикатор скользящей средней, построенной на основе линии линейной регрессии (ЛЛР). Код индикатора в конце поста.

Вот как эта скользяшка(PMA) выглядит рядом с SMA и EMA. Периоды построения у всех одинаковые.
Новая СуперСкользяшка (PMA). Такой еще не было.

 

        Изначально была идея такая- взять ряд данных (цена Close) на каком-то участке, построить по этим данным линию линейной регрессии. ЛЛР строим следующим образом. По оси Y будут цены Close, по оси X будут порядковые номера баров.  Угловой коэффициент (A) и коэффициент смещения (В) простой линейной регрессии y=A*x+B можно найти с помощью метода наименьших квадратов.
Новая СуперСкользяшка (PMA). Такой еще не было.
      Далее была идея — посмотреть в конце участка, как цена Close отклоняется от ЛЛР. Для этого надо построить ЛЛР и найти координату Y(цена) по координате X(N бара).
Новая СуперСкользяшка (PMA). Такой еще не было.

       Построил одну точку-> надо построить остальные. Сказано, сделано. Для каждой цены Close(ось Y) рассчитываем коэффициенты простой линейной регрессии за определенный период и смотрим, какое значение ЛЛР (ось Y) будет на последнем баре(ось X) рассматриваемого участка. Все значения собираем в список. В результате получилась скользящая средняя, рассчитанная на основе линии линейной регрессии.

public static IList<double> PMA(this IList<double> Xseries, int Period) //Prosvirin Moving Average
        {
            var result = new List<double>();
            double SumOfPowX, SumOfX, n, SumOfXY, SumOfY, x, y, det, a, b;

            for (int bar = 0; bar < Period; bar++)
            {
                result.Add(Xseries[bar]);
            }

            for (int bar = Period; bar < Xseries.Count; bar++)
            {
                SumOfPowX = 0; SumOfX = 0; n = Period; SumOfXY = 0; SumOfY = 0;

                for (int i = 0; i < Period; i++)
                {
                     x = bar - i;
                     y = Xseries[bar - i];
                    SumOfPowX += x * x;
                    SumOfX += x;
                    SumOfXY += x * y;
                    SumOfY += y;
                }
                 det = SumOfPowX * n - Math.Pow(SumOfX, 2);
                 a = (SumOfXY * n - SumOfX * SumOfY) / det;
                 b = (SumOfY - a * SumOfX) / n;
                result.Add(bar * a + b);
            }
            return result;
        }

     На первый взгляд, перспективная скользяшка. Но только, если не сравнивать ее с JURIK MOVING AVERAGE (JMA). Вот как PMA выглядит на фоне JMA с тем же периодом.
Новая СуперСкользяшка (PMA). Такой еще не было.

     Может до меня такой индикатор уже кто-то делал, но я не встречал. Поэтому решил сделать пост и выложить код индикатора и библиотеку с индикатором для ТсЛаб в открытый доступ. Эту скользяшку я не скромно назвал PMA (Prosvirin Moving Average)

ССЫЛКА НА БИБЛИОТЕКУ ДЛЯ ТСЛАБ И КОД ИНДИКАТОРА








| ★15
17 комментариев
И линейную и взвешенную линейную регрессию давно применяли. Даже на смартике можно найти. Даже более сложные вещи, типа сглаживающего сплайна, в качестве механизма построения индикатора применяли. 
См. 
ru.wikipedia.org/wiki/Фильтр_Ходрика_—_Прескотта
А авторский код джурика у Вас есть ? 
avatar
SergeyJu, авторский наверное, только у самого Юрика есть — это же платный продукт, поставляемый в виде черного ящика — дллки. Но ее декомпилированных версий по сети много гуляет, тут, например:
www.forexfactory.com/thread/696822-jurik-indicators

(хотя файлы в формате mq4, алгоритм из них легко достается)
avatar
Technocratus, декомпилированные видел. Разбираться в таком себе дороже. 
avatar
если это на самом деле новый, не существовавший до сих пор индикатор, то круто, молодец!
… но только, если не сравнивать ее с JMA ;)
avatar
а можно его как-то в трейдинг вью закинуть?
avatar
Andrey_B, https://www.tradingview.com/pine-script-reference/#fun_linreg
avatar
Круто, но… Надо приложить результаты тестов.
дай угадаю результат применения? ))) все те же 50 на 50 минус спред ну или комиссия в долгоиграющей перспективе.  Машки чисто облегчают индикацию. ну можно  мтс  на них мутить но всегда плюс еще что то…
avatar
блть… сколько я делал таких «умных» машек — не счесть… ни одна не дала нормальный профит… проверял на сверхдлинных бектестах и на WFT… в разных инструментах и разных тф

херня это все, ребята…
avatar
В метастоке уже лет 20 такая есть, называется TimeSeries
avatar
Андрей, У меня не было метастока. Вот поэтому изобрел свой велосипед. И кодом поделился. Спасибо, что направили к первоисточнику. Я этим индикатором не пользуюсь. А вот, угловым коэффициентом от него пользуюсь. И весьма успешно.
avatar
Кто-то спрашивал, чем занять нейросеть — вот, пожалуйста, «хакните» юрика :)
avatar
Ставлю в настройках JMA период 100, но она выглядит совершенно не так, как у Вас на графике.  А какие значения Phase и Power? 
avatar
1)Я заметил маленький момент, ваша скользяшка от jma отличается запозданием. Для sma 100 и для ma 100 это разное. Ema будет быстрее. Попробуйте уменьшить на своей pma период и потом сравнивайте с jma.
2) На бэк-тесте проверяли? Какой результат?

avatar
Алексей, спасибо.
avatar
Привет Алексей. А ты свою PMA переделал под Тслаб 2.2?
avatar

Читайте на SMART-LAB:
Фото
МГКЛ на Smart-Lab & Cbonds PRO облигации 2.0 📍
Мы уже работаем на площадке и ждём вас на стенде МГКЛ — будем рады встрече и вопросам. 🕑 В 14:30 генеральный директор ПАО «МГКЛ» Алексей...
Текущих запасов нефти в РФ хватит на 62 года 
Вице-премьер России Александр Новак на открытой встрече со студентами в образовательном центре «Сириус» заявил, что геологических извлекаемых...
Инвестиции без спешки: торгуем в выходные
Рынок часто движется импульсами, и тем важнее оценивать активы без спешки, не отвлекаясь на инфошум. Для этого отлично подходят выходные дни. В...
Фото
Ростелеком. МСФО за Q4 2025г. Всё неплохо… но всё равно печально…
Компания Ростелеком опубликовала финансовые результаты за 4 квартал 2025г.: 👉Выручка — 270,5 млрд руб. (+15,6% г/г) 👉Операционные...

теги блога ProsvirinAlexey

....все тэги



UPDONW
Новый дизайн