semikot
semikot личный блог
17 февраля 2021, 14:06

Скользящая средняя с динамическим диапазоном усреднения

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

Если озвучивать задачу, которую я перед собой поставил, то это максимально быстро выявить тренд с минимальными ошибками. Самый простой трендовый индикатор – средняя, да и самый удобный при работе в Excel. У меня в Excel в принципе все расчеты. Дальше немного порассуждаю. При боковике с быстрыми изменениями направления движения средняя с большим усреднением не покажет хорошего результата, а при длительном движении средняя с маленьким периодом усреднения  будет чаще показывать разворот, которого еще нет. Значит при боковике или быстро изменяющихся движениях рынка период средней должен уменьшаться, а при трендовом движении в одну сторону период средней должен увеличиваться.

Так у меня получился период, зависящий от количества закрытий цены в одну сторону подряд. Например, если рынок растет и пять закрытий подряд выше предыдущего, а шестое закрытие ниже, то фиксируется значение 5. То же самое, если рынок падает. Я беру только само направление вверх или вниз. Дальше я беру максимальное значение повторов подряд (в абсолюте, так как при снижении накапливаются отрицательные суммы) за определенный период цикла. Период цикла подбирал на глаз: сколько примерно на графике идет рост, падение боковик, и от этого значения 2/3. Таким образом у меня получилась простая скользящая средняя с разным периодом усреднения в зависимости от количества закрытий цены подряд в одну сторону.

Средняя = (Закрытие1 + Закрытие2 + … + ЗакрытиеР)/Р, где Р = 10+Максимальное значение закрытий подряд в одну сторону за период цикла. Фиксированное 10 – это условно подобранное значение.

Или формула Excel: (массив данных идет сверху вниз)

=СРЗНАЧ(СМЕЩ(«ссылка на значение цены сегодня»;-(«ссылка на значение динамического периода сегодня»+10)+1;0;( «ссылка на значение динамического периода сегодня»+10);1)), где 10 – подобранное фиксированное значение

«ссылка на динамический период»:

=МАКС(МАКС(«ссылка на массив подсчета закрытий подряд»);-МИН(«ссылка на массив подсчета закрытий подряд»)),  в этой формуле количество охватываемых строк определяется самостоятельно по примерному рыночному циклу

Формула в массиве подсчета закрытий подряд в одну сторону, обозначу ее «У»

=ЕСЛИ(ЗНАК(«цена сегодня» — «цена вчера»)*ЗНАК(«значение У вчера»)<0; ЗНАК((«цена сегодня» — «цена вчера»); ЗНАК((«цена сегодня» — «цена вчера»)+ «значение У вчера»)

 

На основе такой средней получаются очень интересные результаты индикатора MACD.

 

А вот справка по VIDYA из интернета:

Скользящая средняя с динамическим периодом усреднения (Variable Index Dynamic Average, VIDYA) была разработана Тушаром Чанде (Tushar  Chande). Расчёт этого показателя аналогичен расчёту Экспоненциального скользящего среднего (EMA) с динамически скорректированным периодом ретроспективного анализа, который зависит от относительной волатильности цен. Чем выше волатильность, тем выше становится акцент на цене, и тем быстрее VIDYA адаптируется к изменениям цен. Волатильность измеряется с помощью Моментум-осциллятора Чанде (CMO).

В основе для расчета VIDYA используется стандартная формула ЕМА, которая выглядит следующим образом:

EMA = Close*F + EMA-1*(1-F) , где F = 2/(n+1) – фактор сглаживания ЕМА, n – период усреднения ЕМА, Close – текущая цена закрытия,  ЕМА-1 – предыдущее значение ЕМА.

Для вычисления СМО Tushar Chande предлагает следующую формулу:

СМО = (UpSum – DnSum) / (UpSum + DnSum) , где  UpSum – сумма положительных приращений цены закрытия за период, DnSum – сумма отрицательных приращений цены закрытия за период.

В этом случае, формула для вычисления VIDYA по ценам закрытия будет выглядеть таким образом:

VIDYA = Close*F*Abs(CMO) + VIDYA-1*(1 — (F*Abs(CМО))) , где F = 2/(n+1) – фактор сглаживания ЕМА,n – период усреднения ЕМА, Close – текущая цена закрытия, Abs(CMO) – абсолютное значение Chande Momentum Oscillator,

VIDYA-1 – предыдущее значение VIDYA.

 

Также в интернете я нашел, что есть модификации VIDYA от Кауфман (Perry Kaufman) и Денниса Петерсона (Dennis Peterson). 

18 Комментариев
  • vito333
    17 февраля 2021, 14:19
    показал бы скриншот своей средней и стандартной EMA, например
      • VladMih
        17 февраля 2021, 15:16
        semikot, 
        Также в интернете я нашел

        Да, легче перечислить что вы нашли, чем то, что там есть...
        Подобных изысков в сети МОРЕ, погуглите «адаптивный мувинг».

        Дело вкуса, но мне очень по душе пришелся SDL
        Slope Direction Line
        Он есть и под другими названиями, щас ведь никто читать не хочет, все (и я) норовят изобрести что-то лучшее, новенькое.
        Новенькое получается только название. )))
        Почти всё изобретено ДАВНО, Пифагоров во все времена хватало.
  • Diamond
    17 февраля 2021, 14:36
    А на каком таймфрейме по такой средней торгуешь?
  • _sg_
    17 февраля 2021, 14:44
    Вот Вам еще для изучения
    Все уже давно сделано до нас, без нас и для нас

    Перри Кауфман
    bcs-express.ru/novosti-i-analitika/vmesto-tysiachi-skol-ziashchikh-srednikh-indikator-ama-adaptivnaia-skol-ziashchaia-sredniaia

    Hull
    tlap.com/hull-moving-average/

    Jurik
    bot4sale.ru/blog-menu/ami/232-juric-ma.html

    Ну и все ребятишки вместе
    tlap.com/tipy-skolzyashih-srednih/
      • _sg_
        18 февраля 2021, 10:00
        semikot,
        Лет 6-8 назад я тестировал некоторые из них.
        Безусловным Лидером Тестов для МОИХ стратегий была средняя Hull-a
  • GOLD
    17 февраля 2021, 15:00
    детская херня это всё…

    прогоните через WFT алгоритм, построенный на этой хитровыдуманной машке… это сразу добавит ясности в мозгах))
    • Иван Егоров
      17 февраля 2021, 15:06
      $100, не херня… вот жеж:



      • GOLD
        17 февраля 2021, 15:16
        Иван Егоров, это что?.. обычный бэктест?.. засуньте его куда подальше))

        прогоните алгоритм через WFT и займитесь чем-нибудь полезным))
        • Иван Егоров
          17 февраля 2021, 15:19
          $100, хе-хе-хе… это реальная работа на реальном счете :))) бэктесты — это хрень в 90% случаях. Это мониторинг счета на mql5.com, трудятся роботы…

          Update: сорри слажал немного, скрин от демки, которую запустил, чуть раньше, чем реал… Вот мой пост про это все
      • Susanin
        17 февраля 2021, 15:28
        Иван Егоров, и сигнал к изменению позиция идет от изменения знака приращения средней? у меня получаться что всю прибыль полученную на трендовых участках сьедают убытки на пиле. ни как не получается придумать тактику выставления приказов для минимизации подобной проблемы.
        • Иван Егоров
          17 февраля 2021, 15:36
          Susanin, нет, у меня по другому… диверсификация по валютным парам (12 штук) и поиск/следование трендам на них с использованием естественно средних. И все это заворачивается в простенький тэйк по операционной марже по счету. Диверсификация помогает добирать движение рынка, потому как при возникновении тренда часть валют может «притормаживать», часть «гнать галопом». А в сумме то что надо получается…
          • Susanin
            17 февраля 2021, 15:41
            Иван Егоров, так сигнал от какого критерия появляется? ошибки то неизбежны.
            • Иван Егоров
              17 февраля 2021, 15:42
              Susanin, сигнал при смене тренда, диверсификация помогает сглаживать ошибки всей системы
              • Susanin
                17 февраля 2021, 15:53
                Иван Егоров, так как определяется смена тренда? )))
                я побывал и смену знака и величину приращения и т,.д.
                но построить фильтр пилы я не смог. разводят конкретно.
                • Иван Егоров
                  17 февраля 2021, 16:01
                  Susanin, интересный Вы человек… это ж самое главное и есть… но, к сожалению, это know how, не готов пока делиться, уж извиняйте. Ну не знаю, пока работает (для пока конечно срок маленький), но в месяц вытащить 20% реально получается, даже, если представить, что пару месяцев принять убыток по 20% по году можно нормально заработать. Но это forex, не пробовал на фонде — слишком кухонна она судя по топикам многочисленных трейдеров :)

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн