Индикаторы: Hodrick-Prescott Channel

 

Hodrick-Prescott Channel:

Индикатор рисует ценовой канал, используя Hodrick-Prescott Filter. Этот канал является переработанной на MQL4 и дополненной версией канала для MQL5.

GBPUSD.eM1.png

Автор: Alexey Volchanskiy

 
как раз то что искал, спасибо
 
Anatoly Garmatyuk:
как раз то что искал, спасибо

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

    void CollectData(ENUM_TIMEFRAMES &tfArr[], int shift = 4, int InpHPPeriodFast = 21, int InpHPPeriodSlow = 100)
    {
        int tfSize = ArraySize(tfArr);
        string fltName = "vhpchannel_03";
        for(int nTF = 0; nTF < tfSize; nTF++)
        {
            m_HP[nTF]           = iCustom(m_symbol, tfArr[nTF], fltName,  InpHPPeriodFast, InpHPPeriodSlow, 0, 0);
            m_HPSlow[nTF]       = iCustom(m_symbol, tfArr[nTF], fltName,  InpHPPeriodFast, InpHPPeriodSlow, 1, 0);
            m_Dev1[nTF]         = iCustom(m_symbol, tfArr[nTF], fltName,  InpHPPeriodFast, InpHPPeriodSlow, 2, 0);
            m_Dev2[nTF]         = iCustom(m_symbol, tfArr[nTF], fltName,  InpHPPeriodFast, InpHPPeriodSlow, 3, 0);
            
            m_HPShift[nTF]       = iCustom(m_symbol, tfArr[nTF], fltName,  InpHPPeriodFast, InpHPPeriodSlow, 0, shift);
            m_HPSlowShift[nTF]   = iCustom(m_symbol, tfArr[nTF], fltName,  InpHPPeriodFast, InpHPPeriodSlow, 1, shift);
            m_Dev1Shift[nTF]     = iCustom(m_symbol, tfArr[nTF], fltName,  InpHPPeriodFast, InpHPPeriodSlow, 2, shift);
            m_Dev2Shift[nTF]     = iCustom(m_symbol, tfArr[nTF], fltName,  InpHPPeriodFast, InpHPPeriodSlow, 3, shift);
        }
        //Print("m_HP[0]=", m_HP[0], "   m_HP[1]=", m_HP[1]);
    }
 
То что надо, спасибо.
 
Automated-Trading:

Hodrick-Prescott Channel:

Автор: Alexey Volchanskiy

А это не то же самое ?
https://www.mql5.com/ru/code/191
Hodrick-Prescott Channel
Hodrick-Prescott Channel
  • голосов: 19
  • 2010.09.22
  • Victor
  • www.mql5.com
Индикатор рисует ценовой канал, используя Hodrick-Prescott Filter.
 
Mike:
А это не то же самое ?
https://www.mql5.com/ru/code/191

Да, но там для пятерки. Реальный автор Victor указан на странице индикатора в кодобазе, вы бы хоть посмотрели.

Реальный автор: Victor

Краткое описание канала 

Я перенес его на четверку, хотя там работы на 5 минут. Но ведь не было для четверки? Не было, теперь есть.

Плюс добавил рисование хвоста, убрал ошибку отрисовки метки при вызове из советника и добавил показ спреда. 

 
Alexey Volchanskiy:

Да, но там для пятерки. Реальный автор Victor указан на странице индикатора в кодобазе, вы бы хоть посмотрели.

Реальный автор: Victor

Краткое описание канала 

Я перенес его на четверку, хотя там работы на 5 минут. Но ведь не было для четверки? Не было, теперь есть.

Плюс добавил рисование хвоста, убрал ошибку отрисовки метки при вызове из советника и добавил показ спреда. 

1. Из входных параметров исчезла лябда. Почему?

2. Когда широко пользовал НР. Но специфически. Переделал индикатор следующим образом. В буфер заносил только последний рассчитанный бар (для советника нужен был только последний). В результате индикатор перестал перерисовывать и можно было увидеть график, по которому торгуешь. Самое удивительное, что перерисовывающий график совпадал с не перерисовывающимся при примерном соотношении лямбд 1:100.

ПС.

Как Вам вообще мысль преобразования перерисовывающихся индикаторов? 

 
СанСаныч Фоменко:

1. Из входных параметров исчезла лябда. Почему?

2. Когда широко пользовал НР. Но специфически. Переделал индикатор следующим образом. В буфер заносил только последний рассчитанный бар (для советника нужен был только последний). В результате индикатор перестал перерисовывать и можно было увидеть график, по которому торгуешь. Самое удивительное, что перерисовывающий график совпадал с не перерисовывающимся при примерном соотношении лямбд 1:100.

ПС.

Как Вам вообще мысль преобразования перерисовывающихся индикаторов? 

1. Какая входная лямбда? Вот оригинал https://www.mql5.com/ru/code/191

2. Мне нужно последние 10-15 баров, но оставил по умолчанию больше

Преобразования во что и как? Я сам их разрабатываю по мере сил 

Hodrick-Prescott Channel
Hodrick-Prescott Channel
  • голосов: 19
  • 2010.09.22
  • Victor
  • www.mql5.com
Индикатор рисует ценовой канал, используя Hodrick-Prescott Filter.
 
Alexey Volchanskiy:

1. Какая входная лямбда? Вот оригинал https://www.mql5.com/ru/code/191

2. Мне нужно последние 10-15 баров, но оставил по умолчанию больше

Преобразования во что и как? Я сам их разрабатываю по мере сил 

1. Это самопал, решающий конкретные практические задачи. Оригинальный и очень широко применяемый в экономике фильтр НР имеет параметр "лябда"

2.  Берем перерисовывающий индикатор, как у Вас. Это означает, что последние 15-20 баров перерисовываются, так как Вы рисуете каждый раз все вновь рассчитанные бары. Это полностью соответствует алгоритму НР как и всем другим перерисовывающимся индикаторам.

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

 
СанСаныч Фоменко:

1. Это самопал, решающий конкретные практические задачи. Оригинальный и очень широко применяемый в экономике фильтр НР имеет параметр "лябда"

2.  Берем перерисовывающий индикатор, как у Вас. Это означает, что последние 15-20 баров перерисовываются, так как Вы рисуете каждый раз все вновь рассчитанные бары. Это полностью соответствует алгоритму НР как и всем другим перерисовывающимся индикаторам.

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

Гораздо проще завести ещё один буфер куда будут записываться показания до перерисовки. По крайней мере, потом, сравнив разницу, можно будет оценить потенциальные риски от того, что рисует индюк и каков будет результат, если по нему торговать в реальном времени.
 
Yury Reshetov:
Гораздо проще завести ещё один буфер куда будут записываться показания до перерисовки. По крайней мере, потом, сравнив разницу, можно будет оценить потенциальные риски от того, что рисует индюк и каков будет результат, если по нему торговать в реальном времени.
Тоже логично, попробую сделать.