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

MQL5 Indicadores

Trabalho concluído

Tempo de execução 3 dias
Comentário do cliente
fast & professional

Termos de Referência

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

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



























Respondido

1
Desenvolvedor 1
Classificação
(17)
Projetos
41
12%
Arbitragem
4
50% / 25%
Expirado
1
2%
Trabalhando
2
Desenvolvedor 2
Classificação
(33)
Projetos
54
30%
Arbitragem
8
0% / 63%
Expirado
13
24%
Livre
3
Desenvolvedor 3
Classificação
(42)
Projetos
112
56%
Arbitragem
2
50% / 0%
Expirado
3
3%
Livre
4
Desenvolvedor 4
Classificação
(254)
Projetos
573
36%
Arbitragem
64
20% / 58%
Expirado
147
26%
Livre
5
Desenvolvedor 5
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
6
Desenvolvedor 6
Classificação
(19)
Projetos
19
11%
Arbitragem
21
5% / 86%
Expirado
3
16%
Trabalhando
7
Desenvolvedor 7
Classificação
(807)
Projetos
1382
72%
Arbitragem
113
29% / 48%
Expirado
343
25%
Carregado
8
Desenvolvedor 8
Classificação
(564)
Projetos
777
46%
Arbitragem
23
39% / 13%
Expirado
63
8%
Trabalhando
9
Desenvolvedor 9
Classificação
(341)
Projetos
588
36%
Arbitragem
31
45% / 3%
Expirado
16
3%
Livre
10
Desenvolvedor 10
Classificação
(66)
Projetos
143
34%
Arbitragem
10
10% / 60%
Expirado
26
18%
Livre
11
Desenvolvedor 11
Classificação
(50)
Projetos
118
83%
Arbitragem
6
50% / 17%
Expirado
9
8%
Livre

Informações sobre o projeto

Orçamento
100 - 150 USD
Desenvolvedor
90 - 135 USD