Как довести до ума функцию паттерна DBHLC (DBLHC)?

 
Появилась мысль использовать, в общем то, всем известные паттерны из ряда Price Action, которые называются DBLHC и DBHLC.

DBLHC pattern


Условия его формирования:

DBLHC (Бычий сетап) - бары с одинаковыми минимумами и более высоким закрытием.
Два (могут быть три и более) последовательных бара с одинаковыми минимумами, при этом цена закрытия последнего больше максимума предыдущего. Разница минимумов смежных баров не должна превышать 3 пунктов. Чем больше баров составляют сетап, тем сильнее сигнал, генерируемый им.

DBHLC (Медвежий сетап) - бары с одинаковым максимумом и более низким закрытием.
Два (три и более) последовательных бара с одинаковыми максимумами, при этом цена закрытия последнего ниже минимума предыдущего. Разница максимумов смежных баров не должна превышать 3 пунктов. Чем больше баров составляют сетап, тем сильнее сигнал, генерируемый им.

Возьмём, например, вариант DBLHC (Бычий сетап)

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

Я предполагаю что нужно брать цикл по барам от прошлого к настоящему:

for(int i=n; i<=Bars; i++)
{
  if(Low[n+1] == Low[n])                // Находим первые бары у которых одинаковы минимальные цены баров в диапазоне...
                                        // ..от бара с индексом n к последнему бара
}

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

 Как это реализовать? 

 
1. Если сравниваешь значения только двух баров, то цикл не нужен.
2. Сравнение на точное равенство следует заменить на сравнение абсолютного значения разности с какой-либо малой величиной.
 
MikeM:
1. Если сравниваешь значения только двух баров, то цикл не нужен.

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

 По порядку:

  1. Есть 2 бара с одинаковыми лоу. Текущий бар не перехаил предыдущий,...
  2. Открылся следующий бар, тоже где-то, и его минимум опять в той области что и предыдущие 2 бара... Ждём...
  3. Если повторилось тоже самое.. Значит ждём...
  4. Вот какой-то бар перехали предыдущую свечу, значит сформирован паттерн.. 

 
hoz:

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

 По порядку:

  1. Есть 2 бара с одинаковыми лоу. Текущий бар не перехаил предыдущий,...
  2. Открылся следующий бар, тоже где-то, и его минимум опять в той области что и предыдущие 2 бара... Ждём...
  3. Если повторилось тоже самое.. Значит ждём...
  4. Вот какой-то бар перехали предыдущую свечу, значит сформирован паттерн.. 


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