Нужен индикатор поиска свечных комбинаций из max 4х подряд идущих свечей графика

MQL5 Indicators

Job finished

Execution time 3 days
Feedback from customer
fast & professional

Specification

Техническое задание

Нужен индикатор поиска свечных комбинаций из максимум 4х подряд идущих свечей графика, могут быть комбинации и из 1й-2х-3х подряд идущих свечей.


1)

В свойствах индикатора указываются правила которыми описывается искомая комбинация. Одно правило это одна строка в свойствах индикатора. Пусть будет задано 30 строк-правил:

01 правило,

02 правило,

...

30 правило.

Это жёстко заданное максимальное кол-во возможных правил, но они могут заполнятся не все, список образует набор "and" правил поиска комбинации свечей.

Список правил читается до тех пор пока не встретится пустое правило.

Правило описывает отношение двух параметров задаваемых ихними идентификаторами:

- идентификатор одного параметра,  (один из описанного множества идентификаторов параметров) 

- правило отношения,               (один из описанного множества идентификаторов отношения) (>,<,=,>=,<=) 

- идентификатор второго параметра, (один из описанного множества идентификаторов параметров)

- величина отношения.              (целое число в пунктах >=0)


формат строки правила:

id первого параметра, id отношения, id второго параметра, величина отношения

т.е. строка правила состоит из 4х обязательных элементов которые отделяются друг от друга запятой.

Должен быт вывод сообщений ошибок формата строки правила, так же если первый и второй идентификаторы правила одинаковые - это ошибка требующая исправления.


Множество идентификаторов параметров

У нас есть 4 свечи с четырьмя параметрами свечей (open, close, max, min) они формируют множество идентификаторов:

- 1open,

- 1close,

- 1max,

- 1min,

- 2open,

- 2close,

- 2max,

- 2min,

- 3open,

- 3close,

- 3max,

- 3min,

- 4open,

- 4close,

- 4max,

- 4min.

Это всё множество идентификаторов параметров.


Правило отношения.

набор правил отношения: (=,>,<,>=,<=)  всего 5ть идентификаторов правил отношения. 


Величина отношения.

целое число в пунктах >=0.

0 - это значит что величина отношения не работает т.е. не учитывается. 

при отношении (=,>=,<=) задаёт максимально допустимую величину отклонения в пунктах.

при отношении (>,<)     задаёт минимально необходимое отклонение в пунктах.


Примеры правил: 

1open,=,1close,10 (говорит что 1я свеча должна быть пинбаром либо свечой с телом максимум 10 пунктов)

1open,=,1close,0  (говорит что 1я свеча должна быть строгим пинбаром)


1open,>=,1close,10 (говорит что 1я свеча должна быть пинбаром либо чёрной свечой с телом максимум 10 пунктов)

1open,>=,1close,0  (говорит что 1я свеча должна быть пинбаром либо чёрной свечой c любым телом)


1open,>,1close,10 (говорит что 1я свеча должна быть чёрной свечой с телом минимум 10 пунктов)

1open,>,1close,0  (говорит что 1я свеча должна быть чёрной свечой c любым телом)


1open,=,2close,10 (цена открытия первой свечи отличается от цены закрытия второй свечи не более чем на 10 пунктов)

1open,=,3close,0  (цена открытия первой свечи строго равна цене закрытия третей свечи)


1open,>=,4close,10 (цена открытия первой свечи равна либо больше не более чем на 10 пунктов цены закрытия четвёртой свечи)

1open,>=,2close,0  (цена открытия первой свечи равна либо больше цены закрытия второй свечи)


1open,>,2close,10 (цена открытия первой свечи больше минимум на 10 пунктов цены закрытия второй свечи)

1open,>,3close,0  (цена открытия первой свечи больше цены закрытия третей свечи)


Противоречивость правил друг-другу проверять не надо.

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

Парсинг строк правил в структуру должен выполнятся один раз при применении настроек.

Индикатор должен срабатывать на завершение формирования бара.


2) 

Все найденные комбинации свеч необходимо выделить на графике прямоугольником и вывести кол-во найденных комбинаций. 

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

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

- строковый параметр "id" значение которого будет идти перед выводом всех сообщений от индикатора и идентифицировать индикатор (там будет писаться название искомой комбинации свечей)

- строковый параметр "rectangl_id" который будет префиксом в идентификаторах прямоугольников индикатора. 


3) В свойствах индикатора должен быть выбор параметров прямоугольника выделения: цвет, толщины линии, заполнять или нет


4) должен быть включаемый алерт на вновь найденную комбинацию (звуковой сигнал - on/off, всплывающее сообщение - on/off).


5) В свойствах индикатора должен быть выбор фильтра по дате (по времени не надо это лишнее):

- начальной - конечной даты интервала на котором будет вестись поиск (очевидно здесь алерты не работают),

- от начальной даты - конечная дата не указана  (с возможными алертами)

То есть начальная дата (дата прошлого) всегда указывается. Конечная дата (более поздняя дата чем начальная) может:

- не указываться (быть null) тогда алерты работают,

- указываться и тогда алерты не работают и, по сути, это будто скрипт а не индикатор.  


6) Исполнитель должен предоставить файлы с исходниками дабы заказчик имел возможность самому скомпилировать индикатор.



























Responded

1
Developer 1
Rating
(17)
Projects
41
12%
Arbitration
4
50% / 25%
Overdue
1
2%
Working
2
Developer 2
Rating
(33)
Projects
54
30%
Arbitration
8
0% / 63%
Overdue
13
24%
Free
3
Developer 3
Rating
(42)
Projects
112
56%
Arbitration
2
50% / 0%
Overdue
3
3%
Free
4
Developer 4
Rating
(254)
Projects
573
36%
Arbitration
64
20% / 58%
Overdue
147
26%
Free
5
Developer 5
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
6
Developer 6
Rating
(19)
Projects
19
11%
Arbitration
21
5% / 86%
Overdue
3
16%
Working
7
Developer 7
Rating
(807)
Projects
1382
72%
Arbitration
113
29% / 48%
Overdue
343
25%
Loaded
8
Developer 8
Rating
(564)
Projects
777
46%
Arbitration
23
39% / 13%
Overdue
63
8%
Working
9
Developer 9
Rating
(341)
Projects
588
36%
Arbitration
31
45% / 3%
Overdue
16
3%
Free
10
Developer 10
Rating
(66)
Projects
143
34%
Arbitration
10
10% / 60%
Overdue
26
18%
Free
11
Developer 11
Rating
(50)
Projects
118
83%
Arbitration
6
50% / 17%
Overdue
9
8%
Free

Project information

Budget
100 - 150 USD
For the developer
90 - 135 USD