Нужно написать индикатор горизонтальных уровней

MQL5 インディケータ

仕事が完了した

実行時間5 日
依頼者からのフィードバック
Отличный разработчик! Сделала все вовремя и как нужно. Даже больше, чем было изначально в ТЗ. Постоянно была на связи и отвечала на все вопросы. Рекомендую.

指定

Нужно написать индикатор уровней. Уровень это горизонтальная линия, которая проходит через две или более точки с одним значением у разных баров. Точки, которые должны участвовать в сравнении это все Open, High, Low и Close на заданном таймфрейме. То есть не обязательно только Low или только High. Точки сравниваются не строго а +- люфт. Он задаётся в настройках.


Уровни должны рисоваться на основном графике на любом таймфрейме.


Как оформлять визуально? Должна меняться толщина и цвет линии, в зависимости от количества точек уровня, например: 

  1. Две точки - красная линия в 1 пиксель

  2. Три точки - синяя линия в 3 пикселя

  3. Четыре точки - зеленая линия в 5 пикселей и так далее.


Максимальная толщина линии рассчитывается по количеству существующих уровней. Например, у нас

  1. Уровень 1, который проходит через 6 точек

  2. Уровень 2 через 3 точки

  3. Уровень 3 через 2 точки


Первый уровень рисуем в пять пикселей, второй в три, третий в один.


В идеале, если больше одного пикселя, то толстая линия полупрозрачная, а по центру в 1 пиксель непрозрачным цветом.


Отдельно нужно высчитать исторический максимум и минимум и по ним тоже проводить уровни. Эти уровни нужно подписать в формате max <год.месяц.день> или min <год.месяц.день>, где <год.месяц.день> это дата формирования максимума или минимума. Эти уровни показываются на любых таймфреймах за период, указанный в настройках.


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


Переменные, которые задаются в настройках:

  • Люфт от средней цены на таймфрейме: по умолчанию 0,04%

  • Минимальное количество точек для уровня: по умолчанию 2

  • Период, за который подсчитывать исторический хай и лоу для уровней: по умолчанию 1 год (десятичное число)


В файле пример уровня по трём точкам.







応答済み

1
開発者 1
評価
(281)
プロジェクト
650
28%
仲裁
112
19% / 62%
期限切れ
319
49%
2
開発者 2
評価
(69)
プロジェクト
146
34%
仲裁
13
8% / 62%
期限切れ
26
18%
パブリッシュした人: 6 codes
3
開発者 3
評価
(361)
プロジェクト
644
26%
仲裁
92
72% / 14%
期限切れ
12
2%
仕事中
パブリッシュした人: 1 code
4
開発者 4
評価
(17)
プロジェクト
33
45%
仲裁
1
0% / 100%
期限切れ
8
24%
5
開発者 5
評価
(241)
プロジェクト
387
51%
仲裁
14
14% / 14%
期限切れ
43
11%
パブリッシュした人: 1 article, 1 code

プロジェクト情報

予算
30+ USD