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

MQL5 Indicateurs

Tâche terminée

Temps d'exécution 3 jours
Commentaires du client
fast & professional

Spécifications

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

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



























Répondu

1
Développeur 1
Évaluation
(17)
Projets
41
12%
Arbitrage
4
50% / 25%
En retard
1
2%
Travail
2
Développeur 2
Évaluation
(33)
Projets
54
30%
Arbitrage
8
0% / 63%
En retard
13
24%
Gratuit
3
Développeur 3
Évaluation
(42)
Projets
112
56%
Arbitrage
2
50% / 0%
En retard
3
3%
Gratuit
4
Développeur 4
Évaluation
(254)
Projets
573
36%
Arbitrage
64
20% / 58%
En retard
147
26%
Gratuit
5
Développeur 5
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
6
Développeur 6
Évaluation
(19)
Projets
19
11%
Arbitrage
21
5% / 86%
En retard
3
16%
Travail
7
Développeur 7
Évaluation
(807)
Projets
1382
72%
Arbitrage
113
29% / 48%
En retard
343
25%
Chargé
8
Développeur 8
Évaluation
(564)
Projets
777
46%
Arbitrage
23
39% / 13%
En retard
63
8%
Travail
9
Développeur 9
Évaluation
(341)
Projets
588
36%
Arbitrage
31
45% / 3%
En retard
16
3%
Gratuit
10
Développeur 10
Évaluation
(66)
Projets
143
34%
Arbitrage
10
10% / 60%
En retard
26
18%
Gratuit
11
Développeur 11
Évaluation
(50)
Projets
118
83%
Arbitrage
6
50% / 17%
En retard
9
8%
Gratuit

Informations sur le projet

Budget
100 - 150 USD
Pour le développeur
90 - 135 USD