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

MQL5 Индикаторы

Работа завершена

Время выполнения 3 дня
Отзыв от заказчика
fast & professional

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

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

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



























Откликнулись

1
Разработчик 1
Оценка
(17)
Проекты
41
12%
Арбитраж
4
50% / 25%
Просрочено
1
2%
Работает
2
Разработчик 2
Оценка
(33)
Проекты
54
30%
Арбитраж
8
0% / 63%
Просрочено
13
24%
Свободен
3
Разработчик 3
Оценка
(42)
Проекты
112
56%
Арбитраж
2
50% / 0%
Просрочено
3
3%
Свободен
4
Разработчик 4
Оценка
(254)
Проекты
573
36%
Арбитраж
64
20% / 58%
Просрочено
147
26%
Свободен
5
Разработчик 5
Оценка
Проекты
0
0%
Арбитраж
0
Просрочено
0
Свободен
6
Разработчик 6
Оценка
(19)
Проекты
19
11%
Арбитраж
21
5% / 86%
Просрочено
3
16%
Работает
7
Разработчик 7
Оценка
(807)
Проекты
1382
72%
Арбитраж
113
29% / 48%
Просрочено
343
25%
Загружен
8
Разработчик 8
Оценка
(564)
Проекты
777
46%
Арбитраж
23
39% / 13%
Просрочено
63
8%
Работает
9
Разработчик 9
Оценка
(341)
Проекты
588
36%
Арбитраж
31
45% / 3%
Просрочено
16
3%
Свободен
10
Разработчик 10
Оценка
(66)
Проекты
143
34%
Арбитраж
10
10% / 60%
Просрочено
26
18%
Свободен
11
Разработчик 11
Оценка
(50)
Проекты
118
83%
Арбитраж
6
50% / 17%
Просрочено
9
8%
Свободен

Информация о проекте

Бюджет
100 - 150 USD
Исполнителю
90 - 135 USD