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

MQL5 Indicadores

Trabajo finalizado

Plazo de ejecución 3 días
Comentario del Cliente
fast & professional

Tarea técnica

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

Нужен индикатор поиска свечных комбинаций из максимум 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) Исполнитель должен предоставить файлы с исходниками дабы заказчик имел возможность самому скомпилировать индикатор.



























Han respondido

1
Desarrollador 1
Evaluación
(17)
Proyectos
41
12%
Arbitraje
4
50% / 25%
Caducado
1
2%
Trabaja
2
Desarrollador 2
Evaluación
(33)
Proyectos
54
30%
Arbitraje
8
0% / 63%
Caducado
13
24%
Libre
3
Desarrollador 3
Evaluación
(42)
Proyectos
112
56%
Arbitraje
2
50% / 0%
Caducado
3
3%
Libre
4
Desarrollador 4
Evaluación
(254)
Proyectos
573
36%
Arbitraje
64
20% / 58%
Caducado
147
26%
Libre
5
Desarrollador 5
Evaluación
Proyectos
0
0%
Arbitraje
0
Caducado
0
Libre
6
Desarrollador 6
Evaluación
(19)
Proyectos
19
11%
Arbitraje
21
5% / 86%
Caducado
3
16%
Trabaja
7
Desarrollador 7
Evaluación
(807)
Proyectos
1382
72%
Arbitraje
113
29% / 48%
Caducado
343
25%
Trabajando
8
Desarrollador 8
Evaluación
(564)
Proyectos
777
46%
Arbitraje
23
39% / 13%
Caducado
63
8%
Trabaja
9
Desarrollador 9
Evaluación
(341)
Proyectos
588
36%
Arbitraje
31
45% / 3%
Caducado
16
3%
Libre
10
Desarrollador 10
Evaluación
(66)
Proyectos
143
34%
Arbitraje
10
10% / 60%
Caducado
26
18%
Libre
11
Desarrollador 11
Evaluación
(50)
Proyectos
118
83%
Arbitraje
6
50% / 17%
Caducado
9
8%
Libre

Información sobre el proyecto

Presupuesto
100 - 150 USD
Para el ejecutor
90 - 135 USD