Страница 1 из 3 1 23 ПоследняяПоследняя
Показано с 1 по 15 из 35
  1. #1
    Administrator
    Вес репутации
    0

    Некоторые мысли о ценовом канале

    Такая простая вещь как ценовой канал может быть использован для формализации различных паттернов на основе отношений фибо. Ширина канала как правило совпадает с размером последнего значительного движения. Таким образом паттерн может быть легко формализован разбиением канала в определенном соотношении, сигналы ставятся на пересечении цены с линиями этого разбиения.

  2. #2
    Administrator
    Вес репутации
    0
    Код на языке Амиброкера для обычного канала:

    bars=10;
    HCH=Ref(HHV(H,bars),-1); // верхняя граница канала
    LCH=Ref(LLV(L,bars),-1); // нижняя граница канала

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

    Но с другой стороны, есть и определенный плюс. Канал не "заглядывает" в прошлое дальше установленного количества баров. Чаще всего границей канала будет самый сильный экстремум попавший в поле "зрения" канала. В остальных случаях границей канала станет некий средний уровень между попавшимся в канал экстремумом и предыдущим, более сильным экстремумом, но в канал уже не попавшим. В общем-то, и такой вариант не однозначно плохой, скорее это некоторое "приближение".

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

    Код индикатора на языке Амиброкера:

    Код:
    revers=3; // в процентах
    ex1[0]=High[0];
    ex2[0]=Low[0];
    Lasttype[0]=1;
    for (i=1;i<BarCount-1;i++) {
      ex1[i]=ex1[i-1];
      ex2[i]=ex2[i-1];
      Lasttype[i]=Lasttype[i-1];
      Hlimit[i]=(1+revers/100)*ex2[i];
      Llimit[i]=(1-revers/100)*ex2[i];
      if (Lasttype[i-1]==1) {
        if (High[i]>Hlimit[i]) {
          Lasttype[i]=3-Lasttype[i-1];
          ex1[i]=ex2[i];
          ex2[i]=High[i];
          Llimit[i]=(1-revers/100)*ex2[i];
        } else {
          if (Low[i]<ex2[i]) {
            ex2[i]=Low[i];
            newex[i]=1;
          }
        }
      } else {
        if (Low[i]<Llimit[i]) {
          Lasttype[i]=3-Lasttype[i-1];
          ex1[i]=ex2[i];
          ex2[i]=Low[i];
          Hlimit[i]=(1+revers/100)*ex2[i];
        } else {
          if (High[i]>ex2[i]) {
            ex2[i]=High[i];
            newex[i]=1;
          }
        }
      }
    }
    Hch=Ref(Max(ex1,ex2),-1);  // верхняя граница канала
    Lch=Ref(Min(ex1,ex2),-1);    // нижняя граница канала
    Здесь ключевым параметром построения канала является параметр revers, который задает величину движения от предыдущего экстремума, которая будет считаться достаточно сильной чтобы считаться новым экстремумом.

    В общем то, принцип здесь тот же что используется в индикаторе ZigZag или при построении графиков крестиков-ноликов.

    Достоинство такого канала - границы точно приходятся на экстремумы.
    Недостаток - если тренд движется достаточно плавно, а реверс достаточно большой, ширина канала может увеличиться значительно. Собственно, реверс задает ограничение на минимальную ширину канала. Он не может стать меньше реверса. А вот больше - пожалуйста.

  3. #3
    Administrator
    Вес репутации
    0
    Еще один вариант ценового канала:

    Код:
    bars=150;
    HCH=Ref(HHV(H,bars),-1);
    LCH=Ref(LLV(L,bars),-1);
    LastHigh=Ref(ValueWhen(H>=HCH,H),-1);
    LastLow=Ref(ValueWhen(L<=LCH,L),-1);
    HCH2=Max(HCH,LastHigh);
    LCH2=Min(LCH,LastLow);
    Здесь тоже границы канала HCH2 и LCH2 приходятся на экстремумы графика. Если в предыдущей формуле экстремум начинал считаться значимым когда цена отходила от него на указанное число процентов, здесь экстремум начинает считаться значимым когда цена пробивает противоположную сторону "простого" ценового канала HCH-LCH.

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


  4. #4
    Administrator
    Вес репутации
    0
    У фьючерсов, торгуемых круглосуточно, в ночные (по американскому времени) часы волатильность сильно падает. Получается так называемый "тонкий рынок". То же самое на графиках форекса.

    Если применять достаточно короткий ценовой канал к такому графику, то канал будет сжиматься к концу тонкого рынка. Не всегда это хорошо. Поэтому я нарисовал формулу для канала, которая позволяет "сжать" весь период тонкого рынка и учитывать весь этот период как один бар.

    Код:
    bars=175;
    starthour=0;
    endhour=10;
    afterstart=BarsSince((Hour()==starthour)AND(Ref(Hour(),-1)!=starthour));
    afterend=BarsSince((Hour()==endhour)AND(Ref(Hour(),-1)!=endhour));
    more=IIf(afterstart<afterend,afterstart,IIf(afterend<bars-1,afterstart-afterend-1,0));
    bars2=bars+more;
    Hc=HHV(H,bars2);
    Lc=LLV(L,bars2);
    здесь
    bars - длина канала в барах
    starthour - час начала "тонкого рынка"
    endhour - час начала обычного рынка

    Весь период от starthour вплоть до endhour учитывается как один бар.

  5. #5
    Guest
    mehanizator
    я в этом пока новичек но мне понравились мысли про ценовой канал, но вот воросов много накопилось, одни из них: не совсем понятно каким образом ставить значения, где что и где их брать да и каким образом вообще чертить (совсем плохой) и я посмотрел по сети о построениии ценовых каналов там все более просто и заключается в проведении трех прямых линий там все понятно, но я хотел бы разобраться с вашим изложенным методом, так как мне кажется что он более точен и соответствено более приемлем.

  6. #6
    Administrator
    Вес репутации
    0
    Цитата Сообщение от Anonymous
    mehanizator
    я в этом пока новичек но мне понравились мысли про ценовой канал, но вот воросов много накопилось, одни из них: не совсем понятно каким образом ставить значения, где что и где их брать да и каким образом вообще чертить (совсем плохой) и я посмотрел по сети о построениии ценовых каналов там все более просто и заключается в проведении трех прямых линий там все понятно, но я хотел бы разобраться с вашим изложенным методом, так как мне кажется что он более точен и соответствено более приемлем.
    верхняя линия канала - максимум цены за N баров, нижняя линия канала - минимум цены за N баров.
    конкретные значения берутся только из оптимизации конкретной торговой стратегии на конкретной фишке.

  7. #7
    Местный
    Вес репутации
    1
    Цитата Сообщение от Anonymous
    ...
    мне кажется что он более точен и соответствено более приемлем.
    Нет, он не более точен, руками чертить линии точнее будет, но зато он формализован, а потому и более приемлем. Ибо вручную у вас может духа не хватить брать по рыночной цене на верхней границе канала, а железка купит - ей пофиг ,-)

  8. #8
    Вес репутации
    0
    а как вы определяете толщину канала?

  9. #9
    Administrator
    Вес репутации
    0
    Цитата Сообщение от Мамба
    а как вы определяете толщину канала?
    а зачем ее вообще определять?

  10. #10
    Вес репутации
    0
    Цитата Сообщение от Petrovic
    Цитата Сообщение от Anonymous
    ...
    мне кажется что он более точен и соответствено более приемлем.
    Нет, он не более точен, руками чертить линии точнее будет, но зато он формализован, а потому и более приемлем. Ибо вручную у вас может духа не хватить брать по рыночной цене на верхней границе канала, а железка купит - ей пофиг ,-)
    так какой лучше?

  11. #11
    Вес репутации
    0
    Цитата Сообщение от mehanizator
    Цитата Сообщение от Мамба
    а как вы определяете толщину канала?
    а зачем ее вообще определять?
    я извеняюсь, но что то я вообще не догоняю... не подскажите литературу где почитать чтоб можно было понять принцип построения и черчения))

  12. #12
    Administrator
    Вес репутации
    0
    Цитата Сообщение от Мамба
    Цитата Сообщение от mehanizator
    Цитата Сообщение от Мамба
    а как вы определяете толщину канала?
    а зачем ее вообще определять?
    я извеняюсь, но что то я вообще не догоняю... не подскажите литературу где почитать чтоб можно было понять принцип построения и черчения))
    верхняя линия канала - максимум цены за N баров, нижняя линия канала - минимум цены за N баров. вот и весь принцип.

  13. #13
    Вес репутации
    0
    Цитата Сообщение от mehanizator
    Цитата Сообщение от Мамба
    Цитата Сообщение от mehanizator
    Цитата Сообщение от Мамба
    а как вы определяете толщину канала?
    а зачем ее вообще определять?
    я извеняюсь, но что то я вообще не догоняю... не подскажите литературу где почитать чтоб можно было понять принцип построения и черчения))
    верхняя линия канала - максимум цены за N баров, нижняя линия канала - минимум цены за N баров. вот и весь принцип.
    могли бы вы сделать или выложить канал на какой нибудь современнный график чтоб нагляднее было...

  14. #14
    Местный
    Вес репутации
    1
    Цитата Сообщение от Мамба
    ...
    так какой лучше?
    Это смотря для чего ,-)

  15. #15
    Guest
    Цитата Сообщение от Petrovic
    Цитата Сообщение от Мамба
    ...
    так какой лучше?
    Это смотря для чего ,-)
    с прямыми линиями для чего лучше? ну и такой который представлен в данной теме , для чего лучше? ;)