Сглаженный индикатор CCI с точками входа

05.02.2017 в 1:28
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Индикатор CCI – один из самых популярных форекс-индикаторов. Эффективен для анализа тренда. Commodity Channel Index – индекс ценового канала указывает трейдеру диапазон цены, которая идет по определенному каналу. С помощью CCI мы можем определять не только границы тренда, но и предстоящие развороты цены.

Если мы дополним показания индикатора CCI, например, показаниями такого индикатора, как MACD, то в пору уже приступать к формализации торговой стратегии, основанной на этих двух индикаторах. Кстати, при определенных рыночных условиях эти два индикатора могут использоваться и самостоятельно (отдельно друг от друга), и будут давать достаточно четкие сигналы. О качестве сигналов CCI своим мнением я поделюсь чуть позже, а пока отмечу, что индикатор неоднозначен, как и любой технический индикатор, поскольку пытается предсказать будущее, опираясь на прошлое.

Что из себя представляет индикатор CCI

Commodity Channel Index еще называют индексом товарного канала. Он может применяться на любых рынках, в т.ч. и форекс. Был разработан в конце 70 гг. Дональдом Ламбертом, который в октябре 1980 г. опубликовал о нем первую статью.

Как у технического анализа в целом, так и у этого индикатора, в частности, есть своя гипотеза. В данном случае она гласит:

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

Дональдом Ламбертом, было введено понятие типичной цены (в некоторых источниках ее называют еще “характерной ценой“), которая определяется как среднее арифметическое максимальной, минимальной и цены закрытия бара, т.е. на языке MQL можно записать так:

price_typical[i] = (High[i]+Low[i]+Close[i])/3;

Индекс i в данном случае от 0 (текущий бар) до конечного бара + период CCI (CCI_PER) (более старшему индексу соответствует более старая цена).

Индекс ценового канала рассчитывается как приведённое отношение текущего отклонения типичной цены от её простого скользящего среднего к среднему абсолютному отклонению этой величины:

CCI[i]=(1/0.015)*(price_typical[i]-SMA)/MAD;

Коэффициент приведения 1/0.015 используется для того, чтобы 2/3 расчетных значений CCI укладывалось в диапазон от -100 до 100 для более наглядной картины. При этом значения -100, 100 и 0 служат уровнями индикатора (в своем индикаторе я добавлю еще два уровня: -200 и 200). Простое скользящее среднее типичной цены SMA[i] определяется как среднее арифметическое типичных цен для N периодов. Т.е. на MQL мы могли бы записать это так, например:

...
SMA = 0;
for (j=i; j<i+CCI_PERIOD; j++) SMA+=(High[j]+Low[j]+Close[j])/3;
SMA/=CCI_PERIOD;
...

i – индекс текущего бара, для которого рассчитывается индикатор.

Среднее абсолютное отклонение MAD является средним арифметическим абсолютного отклонения типичной цены от её скользящей средней за N периодов:

...
MAD = 0;
for (j=i; j<i+N; j++) MAD+=MathAbs(price_typical[j]-SMA);
MAD/=CCI_PERIOD;
...

При использовании индикатора CCI предполагается, что большинство значений этого индекса попадает в интервал от +100% до -100%. Эти значения называют случайными, а ценовые движения в рамках этого интервала также являются случайными. А вот движения, выходящие за границы интервала от +100% до -100%, считаются неслучайными. Эти движения сигнализируют о факте перекупленности или перепроданности финансового инструмента. А коли есть такая ситуация, то есть и все основания для скорого разворота цены.

Проблема выбора периода индикатора CCI

В качестве периода для индикатора CCI Ламберт предлагал использовать числа 20 и 60, объясняя, что для дневного графика эти числа имеют физический и психологических смысл. На финансовых рынках, кстати, физика и психология всегда находили свое отражение в виде “магических цифр”. Вот, например, никто же не будет спорить, что “магические числа” Фибоначчи для финансовых рынков можно применять весьма эффективно, что и доказал в свое время ДиНаполи. А эти числа (20 и 60) в качестве периодов CCI на дневном графике соответствуют одному и трем месяцам. Но сейчас-то мы точно знаем, что для каждого рынка, финансового инструмента, периода графика эти числа всегда (практически) свои. И вот здесь начинается “магия” при оптимизации (подборе эффективных параметров) индикатора.

Если рассмотреть такой индикатор, как RSI, то можно заметить, что значение периода этого индикатора не имеет принципиального значения к форме его графика, поскольку внешний вид графика при изменении периода изменяется не столь значительно. В случае же с индикатором CCI ситуация в корне противоположная, и вид его графика сильно изменяется при изменении периода. Таким образом, перед нами всегда будет стоять задача подбора этого периода по своим предпочтениям, очевидно, зависящим от:

  • финансового инструмента;
  • периода графика финансового инструмента (таймфрейма);
  • стратегии торговли;
  • времени удержания сделок (долгосрок, среднесрок, краткосрок);
  • и другое.

Стратегии торговли с индикатором CCI

Классика говорит, что сделки следует открывать в том случае, когда CCI поднимается выше уровня 100 или опускается ниже уровня −100. Правда, замечу, что часто “планки” таких уровней бывает маловато, поэтому вводятся дополнительные уровни, например, +-150, +-200 (в своем индикаторе я добавил уровни +-200) для идентификации сильных ценовых движений, предвещающих разворот, и отфильтровывания помех, которые выбежали за рамки уровней +-100.

Классическая стратегия с индикатором CCI говорит нам о следующих правилах совершения сделок:

  • Для длинных позиций (на росте рынка): покупаем, когда CCI пересекает уровень 100 снизу вверх; продаем, когда CCI пересекает уровень 100 сверху вниз.
  • Для коротких позиций (на падении рынка): продаем (коротко), когда CCI пересекает уровень −100 сверху вниз; покупаем (коротко), когда CCI пересекает уровень −100 снизу вверх.

Из этих правил мы можем разглядеть две противоположных стратегии: трендовую (торговля по текущему тренду) и контртрендовую (торговля против текущего тренда).

Кстати, пока не забыл упомяну, что можно встретить такие неклассические входы по CCI, где в качестве сигнального уровня индикатора используется его нулевая линия:

  • покупаем и одновременно закрываем продажи, когда CCI пересечет нулевую линию снизу вверх;
  • продаем и одновременно закрываем покупки, когда CCI пересечет нулевую линию сверху вниз.

По поводу этой неклассической системы могу сказать следующее. Сам индикатор CCI, будучи, как я отметил выше, сильно зависимым от периода, дает много ложных сигналов. Сам Ламберт значения, входящие в диапазон от -100 до +100, отнес к случайным, а ценовые движения окрестил “случайными”. Мы ищем сигналы за границами этого диапазона, а сам диапазон просто показывает в каких пределах идет изменение цены. Выход за границы нормальных колебаний цены дает сигнал. Так вот, такая методика ИМХО будет давать излишне много ложных сигналов. Кроме того, сигналы с большой вероятностью могут запаздывать. Но справедливости ради все же отмечу, что такие сигналы будут эффективны на боковом рынке, как, впрочем, и сам CCI. Да, что там, CCI, как и все осцилляторы, т.е. все осцилляторы хорошо работают на боковике, но дают много ложных сигналов на трендовом рынке.

Сглаживание индикатора CCI

Как известно, скользящая средняя фильтрует ценовые импульсы и отражает текущую тенденцию на рынке. То есть мы видим среднюю цену, рассчитанную за определенный период, а не “хаос” из ценовых баров. Аналогичную манипуляцию мы можем “провернуть” и с показаниями осцилляторов, сгладив в разумных пределах их показания:

Сглаженный индикатор CCI с точками входа

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

//+------------------------------------------------------------------+
//|                                               Сглаженный CCI.mq4 |
//|                                         http://moneyinnetwork.ru |
//|                                         http://moneyinnetwork.ru |
//+------------------------------------------------------------------+
#property copyright "http://moneyinnetwork.ru"
#property link      "http://moneyinnetwork.ru"
#property version   "1.00"
 
//выводим индикатор в отдельное окно
#property indicator_separate_window
//определяем количество индикаторных буферов
#property indicator_buffers 5
//задаем цвета индикаторных линий
#property indicator_color1 White
#property indicator_color2 Tomato
#property indicator_color3 CornflowerBlue
#property indicator_color4 CornflowerBlue
#property indicator_color5 Tomato
//задаем уровни индикатора
#property indicator_level1 -100
#property indicator_level2 100
#property indicator_level3 -200
#property indicator_level4 200
#property indicator_level5 0
//задаем цвет и толщину уровней индикатора
#property indicator_levelcolor Yellow;
#property indicator_levelwidth 1;
 
//определяем "список сглаживания"
enum flat
{
   flat1 = 1, //не сглаживать (оригинал) 
   flat2 = 2, //сглаживать по 2 точкам
   flat3 = 3, //сглаживать по 3 точкам
   flat4 = 4, //сглаживать по 4 точкам
   flat5 = 5, //сглаживать по 5 точкам
   flat6 = 6, //сглаживать по 6 точкам
   flat7 = 7, //сглаживать по 7 точкам
   flat8 = 8, //сглаживать по 8 точкам
   flat9 = 9, //сглаживать по 9 точкам
   flat10 = 10 //сглаживать по 10 точкам
};
 
input int CCI = 20; //период CCI
input ENUM_APPLIED_PRICE price = 0; //к какой цене применить (выбор из списка)
input flat MA = flat5;//число точек сглаживания (выбор из списка)
 
//массивы для хранения расчетных данных индикатора
double buff1[];
double buff2[];
double buff3[];
double buff4[];
double buff5[];
 
//функция инициализации индикатора
int OnInit()
{
   //количество индикаторных буферов
   IndicatorBuffers(5);
   //связываем массивы данных с соответствующими им индикаторными буферами
   SetIndexBuffer(0, buff1);
   SetIndexBuffer(1, buff2);
   SetIndexBuffer(2, buff3);
   SetIndexBuffer(3, buff4);
   SetIndexBuffer(4, buff5);
   //определям всплывающие подсказки для индикаторных линий
   SetIndexLabel(1, "Продаем");
   SetIndexLabel(2, "Покупаем");
   SetIndexLabel(3, "Покупаем");
   SetIndexLabel(4, "Продаем");
 
   //определяем вид отображения, стили и толщину индикаторных линий
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 3);
   SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 5);
   SetIndexStyle(2, DRAW_LINE, STYLE_SOLID, 5);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, 1);
   SetIndexStyle(4, DRAW_HISTOGRAM, STYLE_SOLID, 1);
   SetIndexDrawBegin(0, CCI+MA);
   SetIndexDrawBegin(1, CCI+MA);
   SetIndexDrawBegin(2, CCI+MA);
   SetIndexDrawBegin(3, CCI+MA);
   SetIndexDrawBegin(4, CCI+MA);
 
   //задаем имя индикатора
   IndicatorShortName("Сглаженный CCI(" + IntegerToString(CCI) + ") MA(" + IntegerToString(MA) + ")");
   return(INIT_SUCCEEDED);
}
 
//рассчитываем значения индикатора
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   double aCCI;
   int j;
   //определяем число баров, для которых рассчитываем индикатор
   int limit=rates_total-prev_calculated; 
   //пошли по каждому бару, начиная с левой стороны графика 
   //помните, я уже писал в посте о том, как написать индикатор,
   //что старшему индексу массива, соответствует более старые данные
   for (int i = limit; i >= 0; i--) 
   {
      //рассчитываем усредненный CCI для текущего бара 
      //(от текущего бара идем влево по графику на число усредняющих баров МА)
      aCCI = 0.0;
      //сумма всех CCI на глубину MA от текущего бара (включая текущий бар)
      for (j = i; j < i + MA; j++) aCCI += iCCI(Symbol(),Period(),CCI,price,j);
      //среднее арифметическое
      aCCI /= MA;
      //заполняем соответствующими значениями массивы данных
      buff1[i] = aCCI; //основная усредненная линия CCI активна всегда,
                       //поверх нее мы будем рисовать соответствующими цветами линии
                       //покупок и продаж
      //присваиваем (инициализируем) пустые значения (линии и гистограммы не отображаются)
      //линиям и гистограммам продаж и покупок
      buff2[i] = EMPTY_VALUE; //линия продаж неактивна
      buff3[i] = EMPTY_VALUE; //линия покупок неактивна
      buff4[i] = EMPTY_VALUE; //гистограмма покупок неактивна
      buff5[i] = EMPTY_VALUE; //гистограмма продаж неактивна
      //расчетный CCI выше уровня 100, значит, включаем линию и гистограмму продаж
      if ( aCCI>=100 ) 
      {
         buff2[i] = buff1[i]; //линия продаж активна
         buff5[i] = buff1[i]; //гистограмма покупок активна
      } 
      else 
      {
         //расчетный CCI ниже уровня -100, значит, включаем линию и гистограмму покупок
         if ( aCCI<=-100 ) 
         {
            buff3[i] = buff1[i]; //линия покупок активна
            buff4[i] = buff1[i]; //гистограмма покупок активна
         }
      }
   }
   return(rates_total);
}

Программа написана на обновленном MQL4, т.е. несколько отличается от программ-индикаторов для старого MQL (см., например, Как написать индикатор для MT4), но принцип построения и индикаторные функции остались теми же.

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

Поделиться в соц. сетях:
Ответов в теме: 62 Просмотров темы: 6168

05.02.2017, в 16:54
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74
#1

Интересная тема, понаблюдаю ))

+1 + -
Цитировать Ответить

07.02.2017, в 10:01
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74
#2

Продолжение будет?

+ -
Цитировать Ответить

07.02.2017, в 10:59
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880
#3

Халит 07.02.2017 в 10:01:
Продолжение будет?

Конечно, Халит. =)
Upd. Хотелось бы просто тему пошире озвучить и советника по тесту индикатора представить (чтобы посмотреть, как сигналы в “чистом виде” при “тупом” следовании – открылся/закрылся, т.е. есть ли перспектива), и посмотреть в сторону использования внутри дня. Параллельно и торгую внутри дня. Примеры привести и т.п. Так что, думаю, тема будет расти неспешно (чистый CCI, CCI в комбинации с другими индикаторами, CCI с дивергенцией). Пишу-то сам, а не копирайтеры-рерайтеры.

+ -
Цитировать Ответить

07.02.2017, в 11:59
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74
#4

Я немного понаблюдал за индикатором. В чистом виде – работает, но только на определенных (флэтовых) фазах рынка. Мне кажется, надо фильтровать входы хотя бы по тренду, или входить стоповыми отложками, тогда результаты будут намного оптимистичнее.
И еще есть идиотская идея, что возможно, это тот случай, когда имеет перейти со старших ТФ (H1-H4) на младшие (М5-М15), поскольку там более хаотичное движение *CRAZY*

+ -
Цитировать Ответить

07.02.2017, в 13:16
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880
#5

Халит 07.02.2017 в 11:59:
Я немного понаблюдал за индикатором. В чистом виде – работает, но только на определенных (флэтовых) фазах рынка.

Давно известно, что CCI идеальный вариант для бокового движения (сам Ламберт, по-моему, об этом говорил).
Кроме того, его следует применять как трендово, так и контртрендово.

Халит 07.02.2017 в 11:59:
И еще есть идиотская идея, что возможно, это тот случай, когда имеет перейти со старших ТФ (H1-H4) на младшие (М5-М15), поскольку там более хаотичное движение

А почему идиотская, вовсе даже нормальная. А фильтровать будем ДИВЕРГЕНЦИЕЙ. Вот моя вчерашняя сделка по диверу EURUSD M15. CCI+ДиНаполи (Фибоначчи).

В таком варианте рекомендую уровень ТP по Фибо брать до 50%. Чаще срабатывает просто. А так, конечно, как предпочтения и жадность. Стоп берем ниже/выше последнего соответствующего локального минимума/максимума который цена образовала (до этого уровня сетку Фибо тянем от предыдущего локального экстремума), плюс к нему фильтр на спред (см. индикатор спреда) и шум.
Думаю, система понятна из “веселой картинки”.
“Полосатый” индикатор из темы “Усредняющего советника (авто)“.

+ -
Цитировать Ответить

07.02.2017, в 13:48
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74
#6

Осталось разобраться, что первично и что вторично – дивергенция или сигнал от сглаженного CCI, кто кого фильтрует =)
Кстати, поиск дивергенций легко автоматизируется соответствующим универсальным индикатором.

+ -
Цитировать Ответить

07.02.2017, в 14:02
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880
#7

Халит 07.02.2017 в 13:48:
Осталось разобраться, что первично и что вторично – дивергенция или сигнал от сглаженного CCI, кто кого фильтрует

Смысл тут не в фильтре, а в наличии этой самой дивергенции (естественно, по классике пойдем – по показанию CCI, поскольку в любой системе должен быть какой-либо ведущий показатель). А вот саму эту дивергенцию можно уже чем-либо фильтровать. Например, пробоем той же самой скользящей средней (индикатор) в сторону показаний CCI. Но из практики скажу, что фильтры много слишком чего отсеивают.
Сглаженность это больше примочка для авто-систем, чтобы была четкая “рюмка” (перевернутая рюмка), так системе будет проще определить, что соответствующий экстремум CCI образовался (бывают просто ситуации когда CCI “облизывает” туда-сюда уровень, что даст много ложных и ненужных сигналов). Плюс сглаживание убирает шероховатость графика и порой фильтрует сигнал. Вот тут главное не перестараться. =)
Upd. Сегодня опять “повезло”:

Автоматизировать бы процесс, но подводных камней много предвижу.

+ -
Цитировать Ответить

08.02.2017, в 13:01
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74
#8

А демаркер не получше будет, чем CCI?

+ -
Цитировать Ответить

08.02.2017, в 13:32
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880
#9

Халит 08.02.2017 в 13:01:
А демаркер не получше будет, чем CCI?

Это совсем другой осциллятор. Также можно и в сторону осциллятора RSI посмотреть. И, разумеется, как и на всех осцилляторах, и на демаркере, и на RSI, как и на CCI, будет разве что неплохо работать дивергенция.
Поэтому те же самые сигналы индикатора Демарка (а среди них также будет особенно много ложных на тренде) придется все равно фильтровать. И остается открытым вопрос с TP и SL. Хотя, с моем точки зрения, вариант с уровнями ДиНаполи (Фибоначчи), как на “веселых картинках”, для этого подойдет.
Посмотрим все со временем.

+ -
Цитировать Ответить

08.02.2017, в 13:50
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

На тренде они все дают ложные сигналы. Можно с этим бороться стоповыми отложками, но и профит будет уменьшаться.

+ -
Цитировать Ответить

08.02.2017, в 14:22
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит 08.02.2017 в 13:50:
но и профит будет уменьшаться.

Это лучшее из “бед”. Главное, при своих остаться.

Халит 08.02.2017 в 13:50:
Можно с этим бороться стоповыми отложками

Отложку когда снимать будем?

+ -
Цитировать Ответить

08.02.2017, в 22:54
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

admin 08.02.2017 в 14:22:
Отложку когда снимать будем?

Либо через заданное время (= заданное количество свечей), либо если цена ушла далеко. А еще лучше – при выполнении любого из этих условий.

+ -
Цитировать Ответить

08.02.2017, в 22:54
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Что-то мне оповещения не приходят…

+ -
Цитировать Ответить

09.02.2017, в 02:42
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит 08.02.2017 в 22:54:
Что-то мне оповещения не приходят…

Я всю голову себе изломал, пока не понял, что Вы в списке “заблокированных по собственному желанию” на получение оповещений (отписались когда-то). Начал было с нуля опять плагин оповещений править, а потом осенило… где надо посмотреть (сам при этом думал, ну, не может быть в коде косяков, вроде, давным давно все отладил *REPA* ).

Халит 07.02.2017 в 13:48:
Кстати, поиск дивергенций легко автоматизируется соответствующим универсальным индикатором.

Есть такие решения, но там входов для робота будет столько, что у него “мозг” задымится. =) Да, и входы местами ну, слишком спорные. Надо бы посмотреть в сторону определения трендовой линии на графике цены и осциллятора по методу МНК. Например, так, как я делал в советнике MT4 по японским свечным моделям, когда определялось направление и сила тренда.
А вот, кстати, сглаживание CCI и тот индикатор из темы усредняющего советника также позволяют реализовать в коде определение дивергенции по расхождению линий тренда и усредненной линии осциллятора. Правда, тоже неоднозначно все выглядит, хотя, местами и входы неплохие (индикатор сглаженного CCI изменил, добавив в него выявление тех самых дивергенций). А уровни ДиНаполи будем определять шагая по той же трендовой линии и, определив, где сигнал переключился, выявлять экстремум точку для построения. Или можно зиг-зага подключить (не рисующего?). Все это, конечно, примерно, но: стопы и тейки будут переменными, соответствующими рыночной ситуации, а это значит, что в эту сторону все-таки есть смысл копать. И, да, лучше все-таки будет заходить отложками. И через несколько баров ее удалять, если не активируется, поскольку на таких сигналах долго ее держать смысла нет. Но, честно говоря, больших перспектив не вижу. Хочешь-не хочешь, но надо все-таки смотреть в сторону различных фильтров.

+ -
Цитировать Ответить

09.02.2017, в 11:30
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Диверы неплохо рассмотрены у Игоря Герасько на адванседтулз, там же и универсальный индикатор есть, позволяющий определять диверы на любых осцилляторах, в т.ч. на пользовательских. И их можно фильтровать по ряду параметров, в общем, не “задымится”, количество и качество диверов можно регулировать.
А насчет стопов и тейков – тут надо думать. Но в общем случае предпочтительнее, чтобы размер тейка был в 2-3 раза больше, чем размер стопа, в этом случае можно позволить себя чаще ошибаться со входами ;)

+ -
Цитировать Ответить

09.02.2017, в 17:00
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит 09.02.2017 в 11:30:
Диверы неплохо рассмотрены у Игоря Герасько

Я, кстати, слежу за его работами на MQL5. Толковый парень. И индикатор дивергенций, про который Вы писали, как об универсальном, мне знаком. Именно его имел ввиду, когда писал про спорные диверы (несмотря на виды дивергенций и фильтры). Но тут к автору вообще претензий нет. Все грамотно. Просто по-другому с максимумами и минимумами не получится. Поэтому фильтровать здесь нужно уже конечные (после фильтров) результаты расчета диверов и, очевидно, что открываться следует непосредственно после того последнего дивера, после которого происходит пересечение уровня +-100 на обратном ходе (как пример, но еще какой-нибудь сторонний фильтр-индикатор все равно нужен, иначе и с диверами можно прогореть). В общем, идей много.

Халит 09.02.2017 в 11:30:
А насчет стопов и тейков – тут надо думать. Но в общем случае предпочтительнее, чтобы размер тейка был в 2-3 раза больше, чем размер стопа

Как раз будет самое оно, если брать до 50% или до 61.8% по Фибо. Но брать не все, что “вылетает” через фильтры, необдуманно, а вводить дополнительный фильтр по “размаху” фибо – расстояние между его точками построения. Очевидно, что открываться смысла не будет если:
- это расстояние меньше определенного (например, 30 пунктов на 4-ом знаке);
- точка открытия находится в непосредственной близости (ближе заданного значения) к целевому уровню фибо (что там выберем 50% или 61.8%).
От фиксированных значений TP и SL лучше сразу отказаться, потому что таких граалей можно на коленке шлепать и без индикаторов, просто подгонять под историю параметрами TP и SL.
UPD. С дивергенциями на истории на M15 посмотрел. Вроде, кое-что получается. По крайней мере есть смысл на это потратить время (открывался с помощью ручного тестера – панели управления ордерами)

+ -
Цитировать Ответить

10.02.2017, в 12:19
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

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

+ -
Цитировать Ответить

11.02.2017, в 12:38
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Вчера в 12:19:
Думаю, размер стопов и тейков зависит от того, какую стратегию – трендовую или контртрендовую мы собираемся использовать.

Если трендовую, то ТП по тому же Фибо брать 100%, 161,8% (а можно при достижении определенного уровня перейти от фиксированного ТП-вырубить его и сопровождать по индюку) и т.д., если контртрендовую, то до 61,8% (тоже самое при достижении какого-то минимума по профиту можно переключаться на следование, а то вдруг это не откат, а разворот :) ).

Халит Вчера в 12:19:
а сопровождать сделку ну хотя бы по параболику

В этом, кстати, тоже смысл есть. Большинство неплохих систем на нем основано.

Халит Вчера в 12:19:
И да, торговля по тренду хоть и отсекается некоторые многие удачные входы на разворотах, но отсекает и множество ложных входов.

Можно в таком случае универсала слепить и заходить по всем профильтрованным сигналам: по тренду и против, но со своими, соответственно, параметрами. Думаю, что все сигналы из под фильтра желательно отрабатывать, поскольку ложные сигналы будут в любом случае и для любого типа следования в том числе.
Остается открытым вопрос. На каком таймфрейме работаем и какой тренд определяем: локальный (на текущем таймфрейме по предыдущим максимумам и минимумам) или глобальный (на более старшем таймфрейме (таймфреймах)). А, может, вообще ищем сигналы для всех периодов, начиная с такого-то и заканчивая таким-то. Например, с М15 до Н4. Ну, а мультивалютность – это еще дальше =)

+ -
Цитировать Ответить

13.02.2017, в 17:37
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Кстати, в порядке расширения темы. А именно о дивергенциях.
Вы не пробовали их смотреть на рейнджбарах?
Мне кажется, там они гораздо лучше отрабатываются.

+ -
Цитировать Ответить

13.02.2017, в 20:30
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 17:37:
о дивергенциях.
Вы не пробовали их смотреть на рейнджбарах?
Мне кажется, там они гораздо лучше отрабатываются.

Шумов там, определенно, меньше. Поэтому есть смысл посмотреть. Но тогда, очевидно, следующий “подводный камень” – это моделирование тиков при построении рейндж баров.

+ -
Цитировать Ответить

13.02.2017, в 22:16
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

admin Сегодня, в 20:30:
моделирование тиков при построении рейндж баров.

МОжно не придумывать велосипед и воспользоваться готовыми решениями. Есть бесплатные скрипты и индикаторы, есть платные. Я в свое время под одну ТС приобрел готовое решение для работы с рейнджбарами, есть возможность в течение 1 месяца пользоваться полноценным триалом, чего вполне достаточно для задач тестирования, как мне кажется. Ссылку могу скинуть в ЛС, чтобы не сочли рекламой ))

+ -
Цитировать Ответить

14.02.2017, в 00:06
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

А зачем что-то изобретать. Изобрели давно все. =) Тиковая история есть. Дальше дело техники. Смысл платить и триалить, если все что надо есть (и голова есть, и руки, вроде =) ):

+1 + -
Цитировать Ответить

14.02.2017, в 09:24
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Это хорошо, когда все в наличии ;)

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

+ -
Цитировать Ответить

14.02.2017, в 11:34
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

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

+ -
Цитировать Ответить

14.02.2017, в 11:43
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

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

+ -
Цитировать Ответить

14.02.2017, в 14:41
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 09:24:
Тогда еще одно наблюдение. По моему, лучше всего (я смотрел на рейнджбарах) работают даже не дивергенции, а всего лишь растущие минимумы либо убывающие максимумы на том же сглаженном CCI

Я это тоже заметил. Остается посмотреть, как это работает, в смысле, каково соотношение “хороших” сигналов к “плохим”. В идеале, конечно, с учетом того, что шумов минимум (благодаря рейндж барам), то осцилляторы (в т.ч. CCI) должны работает намного лучше.

Халит Сегодня, в 09:24:
Причем эти экстремумы даже не всегда выделяются индикатором, часто выделяется только одна из вершин (впадин)

Это логика работы индикатора. Он выделяет только те зоны, которые выходят за рамки линий уровней +100 и -100.
Из Вашего графика я понял, что Вы предлагаете сделать первый локальный экстремум индикатора ведущим и он обязательно должен быть за границами соответствующего уровня (+100 или -100), а следующий за ним экстремум того же типа не обязательно должен быть за пределами границ уровней, а может быть в рамках диапазона, ограниченного этими уровнями.
Кстати, если работать по экстремумам, то их все надо смотреть. У Вас там на графике несколько сигналов пропущено. Их же все отрабатывать придется, в смысле, проверять на выполнение вышеназванного условия для открытия позиций.

+ -
Цитировать Ответить

14.02.2017, в 14:50
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

admin Сегодня, в 14:41:
Из Вашего графика я понял, что Вы предлагаете сделать первый локальный экстремум индикатора ведущим и он обязательно должен быть за границами соответствующего уровня (+100 или -100), а следующий за ним экстремум того же типа не обязательно должен быть за пределами границ уровней, а может быть в рамках диапазона, ограниченного этими уровнями.

Это мое предположение о том, что именно такие комбинации экстремумов лучше работают – а так оно или нет, надо проверять, и лучше советником, поскольку вручную историю даже за год проверить бывает сложно.
Зачастую очень неплохо работают даже такие комбинации экстремумов, которые находятся целиком внутри диапазона -100…+100. А обратные комбинации (растущие максимумы или убывающие минимумы) зачастую показывают смену тренда. В общем, идей возникает много, как бы их проверить?
Я еще одну идею предложу – по моему, даже лучше рейнджбаров работают тиковые графики, т.е. те, где каждый бар содержит заданное количество тиков. Вот только в этом случае графики у разных форекс-брокеров могут сильно отличаться, что добавляет неопределенности :(

+ -
Цитировать Ответить

14.02.2017, в 14:54
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 14:50:
Я еще одну идею предложу – по моему, даже лучше рейнджбаров работают тиковые графики, т.е. те, где каждый бар содержит заданное количество тиков.

Графики Ренко предлагаете? Да, там неопределенностей будет много. Про-моему, это все шаманство. *WASSUP*

+ -
Цитировать Ответить

14.02.2017, в 15:19
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Нет, графики Ренко у меня давно уже ассоциируются с тестовыми граалями, я на них перестал смотреть. А вот тиковые графики позволяют подключить к анализу объемы, пусть и тиковые, т.е. ненастоящие, но довольно близкие к настоящим. Но все же Вы правы, это уже ближе к шаманству в том плане, что объективно проверить ТС в таком случае будет намного сложнее.

+ -
Цитировать Ответить

15.02.2017, в 12:56
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Похоже, что принцип трех экранов Элдера можно применить для поиска более точного входа, т.е. к примеру, при торговле на М30 при выходе цены в зону перекупленности/перепроданности начать искать входы на младших ТФ М5-М15. Но не представляю, как это можно алгоритмизировать для торговли советником.

+ -
Цитировать Ответить

15.02.2017, в 13:07
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Наверное, более правильно было бы искать сигналы на младшем ТФ и при подтверждении сигнала на старшем ТФ сопровождать сделку уже по нему (старшему ТФ).

+ -
Цитировать Ответить

15.02.2017, в 14:55
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 12:56:
Но не представляю, как это можно алгоритмизировать для торговли советником.

Все точно также, как и руками: вычислять значение осцилляторов на старшем таймфрейме и смотреть значение осцилляторов на младшем таймфрейме.
Сейчас тестирую гладкий CCI с фиксированными параметрами SL и TP на обычном графике. Посмотрим, что он покажет в плане жизнеспособности. Предвижу некоторый положительный результат на старших таймфреймах при некотором фильтре по SL, но, думаю, прибыльность будет слабая в связи с большим числом ложных сигналов.

+ -
Цитировать Ответить

15.02.2017, в 17:27
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Входы просто по выходам из зон +100 и -100? Думаю, без дополнительной фильтрации профита не будет.

+ -
Цитировать Ответить

15.02.2017, в 20:47
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 17:27:
Входы просто по выходам из зон +100 и -100?

Там не просто входы из зон +100 и -100. Я несколько модифицировал Сглаженный CCI. Теперь он учитывает показания индикатора тренда и рассогласования (дивергенции) отмечает на графике этого осциллятора (рисует поверх него) красной и зеленой линиями, соответствующими сигналам продаж и покупок. Вот такой подход к дивергенции :-D
И, кстати, неплохо (с виду) показывает для такого простейшего решения.
Сглаженный индикатор CCI с учетом показаний индикатора тренда - дивергенция по трендовому индикатору

Скачать гладкий CCI, отмечающий зоны входа с учетом дивергенций с простейшим трендовым индикатором
Скачать простейший трендовый индикатор

+4 + -
Цитировать Ответить

16.02.2017, в 09:22
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Поделитесь результатами тестов.

Я тут развлекаюсь “слепым тестом” :-D
Убираю график цены и по графику сглаженного CCI отмечаю входы, потом проверяю по графику цены, насколько точно я угадал. Пока выигрываю =)
Набиваю глаз, так сказать….

+ -
Цитировать Ответить

16.02.2017, в 09:51
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

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

ps. Куда делась кнопка “вставить картинку”?

+1 + -
Цитировать Ответить

16.02.2017, в 10:09
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 09:22:
Поделитесь результатами тестов.
Я тут развлекаюсь “слепым тестом”

Да, конечно. Еще только немного посмотрю. Вчера тестерный грааль получился… Причина, как всегда, банальна – кривые котировки и несовершенство тестера. Сегодня котировки пересчитал. И результаты несколько другие.
Сразу скажу, что трал SL по SAR эффективности пока не добавляет (правда, я параметры SAR пока не прогонял на оптимизации, а взял стандартные). Выгоднее смотрится все-таки просто фиксированный TP.
И в тесте на долгосроке все-таки проявляется весьма ожидаемая тенденция, что SL значительно больше TP или приближен к нему.
Да, что я пишу, сами попробуйте потестировать/пооптимизировать, если время есть:
Скачать советник со сглаженным CCI на диверах с индикатором тренда.
Разумеется, к нему индюки из 34 поста потребуются.
Открываться должен на всех типах счетов, поскольку сначала открытие идет с нулевыми параметрами SL, TP, а потом ордер модифицируется в соответствии с указанными SL и TP.

+2 + -
Цитировать Ответить

16.02.2017, в 11:12
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Стандартные параметры для параболика на самом деле не очень, я его огрублял в 2 раза, т.е. ставил 0.01 и 0.1.

+ -
Цитировать Ответить

16.02.2017, в 11:23
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 11:12:
я его огрублял в 2 раза, т.е. ставил 0.01 и 0.1.

Я тоже шаг 0.01 часто использую.

Халит Сегодня, в 09:51:
Куда делась кнопка “вставить картинку”?

Кнопка появилась (панель)?

+ -
Цитировать Ответить

16.02.2017, в 11:26
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

На реальном счете в тестере не запускается. Так и должно быть?

+ -
Цитировать Ответить

16.02.2017, в 11:27
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Да, кнопка появилась, уже после размещения сообщения.
Кстати, а почему нет возможности редактирования сообщений?

+ -
Цитировать Ответить

16.02.2017, в 11:39
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 11:26:
На реальном счете в тестере не запускается. Так и должно быть?

Сейчас код подправлю и перезалью. Из старого макета осталось.

Халит Сегодня, в 11:27:
Кстати, а почему нет возможности редактирования сообщений?

Руки до всего не доходят. Как-нибудь на досуге посмотрю в эту сторону (решения есть). Да, и загрузку картинок не мешало бы сделать.

+ -
Цитировать Ответить

16.02.2017, в 11:50
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Перезалил.

+ -
Цитировать Ответить

16.02.2017, в 15:35
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

admin Сегодня, в 11:50:
Перезалил

Да, теперь работает, спасибо.

Кажется, и линии поддержки/сопротивления можно использовать для входов =)
Особенно те “красивые” случаи, когда было не меньше 3 касаний.
скрин

+1 + -
Цитировать Ответить

17.02.2017, в 14:38
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Может, я оптимизировать не умею? Что-то результаты тестов пока не радуют. Больше на подгон под историю похоже.

+ -
Цитировать Ответить

17.02.2017, в 14:45
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 14:38:
Что-то результаты тестов пока не радуют. Больше на подгон под историю похоже.

Так оно и есть. Я тоже со всех сторон посмотрел.
Любая оптимизация это подгон под историю. Поэтому параметры SL и TP должны быть динамичными. И входы чистить надо.

+ -
Цитировать Ответить

17.02.2017, в 16:49
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Размеры стопов и тейков разумно будет привязать к ATR.
А вот что касается входов, то я пока вижу 2 подходящих паттерна на сглаженном CCI.

1. Как я уже писал выше, убывающие максимумы или растущие минимумы (“убывающие экстремумы”).
2. Двойные вершинки на небольшом удалении друг от друга, т.е. своего рода двойные горбики.

Вот тут оба вида паттерна:
скрин

+1 + -
Цитировать Ответить

20.02.2017, в 11:18
Халит
Регистрация: 12.05.2013
Сообщений: 220
Рейтинг: 74

Предварительные выводы торговли по паттернам такие: есть периоды, когда паттерны ведут себя почти как грааль :-D , но есть периоды, когда они перестают работать. Осталось самое сложное – отделить одну фазу рынка от другого :(

+ -
Цитировать Ответить

20.02.2017, в 13:07
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

Халит Сегодня, в 11:18:
Предварительные выводы торговли по паттернам такие: есть периоды, когда паттерны ведут себя почти как грааль

Эти же выводы справедливы для любого технического индикатора.

+ -
Цитировать Ответить

20.02.2017, в 13:49
admin
Регистрация: 17.02.2011
Сообщений: 4489
Рейтинг: 2880

“Скрещивание” трендовых индикаторов и осцилляторов дает результат на некоторой истории, что показывают “опыты”, но бывают периоды, когда происходит “рассинхронизация”. Эти периоды могут длиться годами. Все-таки рынок меняется значительно. Я много раз замечал, например, что можно строить системы, которые отлично работают на интервале 2000-2005, 2000-2008 гг., но которые начинают ломаться, а потом работают с переменным успехом. Если их перенастраивать, то они отрабатывают любой период с хорошим профитом, но это чисто подгонка (и она оправдана в тоже время, поскольку необходимо учитывать изменчивость рынка). Вот, например, система с CCI и моим “авторским” трендовым индикатором по МНК. Там нет ни фиксированных стопов, ни фиксированных тейков (тейков просто нет, система основана исключительно на трале стопов). Да, она прошла тест в 17 лет, но только за счет того, что работала постоянным объемом (myfxbook там тупит откровенно на графике, указывая, что были ордера с двойным объемом, но в истории все правильно показывает) и успела накопить (в лучшее время) до неминуемого слива некоторый запас прочности. Можно, конечно, попробовать “забивать костыли” в систему, изучив те периоды, когда она откровенно сливала. Одно из направлений оптимизации – это замена SARа, выступающего в роли сигнальщика для трала стопов. Именно из-за него система много и не добирает. Другое направление касается того же трала. Его следует начинать после момента выхода сделки в безубыток и накопления некоторого профита, а не сразу по САРу. Да, будем чаще ловить стопы, но они будут безубыточные. Хотя, с другой стороны, короткий стоп – это тоже большое зло. SAR же, как известно, держит цену стопа на приличном расстоянии от рыночной цены и в этом к какой-то мере проявляется его преимущество. Еще можно копать в сторону закрытия ордера по обратному сигналу (в данном случае ордера закрываются всегда по обратному сигналу). Мы же знаем, что ложных сигналов масса, а, значит, закрывать сделку по обратному сигналу не всегда правильно, к тому же, совсем неправильно, если трал все еще смотрит в сторону прибыльного движения.
Как-то так.
Да, и в конце-концов, ложные срабатывания можно попытаться компенсировать пирамидингом – добавлением позиции в сторону прибыльного движения на каждом шаге SAR.

+1 + -
Цитировать Ответить

Подписаться без комментирования