Необходимо написать скрипт (фрагмент советника) строящий прямую линию по паре предопределенных ранее точек и на каждом тике возвращает значение цены в точке пересечения линией нулевого бара.

MQL4 Scripts Other

Specification

Задание: Необходимо написать скрипт (фрагмент советника) строящий прямую линию по паре предопределенных ранее точек и на каждом тике возвращает значение цены в точке пересечения линией нулевого бара. При появлении новых значений этих точек — линия перерисовывается.

Исходные данные:

1. две последовательно зафиксикрованные точки на графике цены (point_1 и point_0), имеющие координаты:

point_1_price = <цена на тот момент>
point_1_time = <время на тот момент>*

point_0_price = <цена на тот момент>
point_0_time = <время на тот момент>*
------------------------------------
* цену я вычисляю так:  point_0_time = iTime(NULL,PERIOD_M1,0); Это правильно?

2. флаг — логическая переменная redraw_line = true / false

при возникновении новой пары точек переменная redraw_line переключается в состояние true и разрешает запуск скрипта, который необходимо написать:

------------------------------------------------------------------------------------------------------------------------------------
Скрипт строит прямую линию, проходящую через точки point_1 и point_0 на графике цены. Линия (графический объект) имеет заданное имя. Например "bear_line".

Скрипт стартует при условии, что переменная redraw_line = true и существуют две пары, не равных нулю, значений точек point_1_price, point_1_time, point_0_price, point_0_time.

1. если на графике цены уже существует линия bear_line, проведенная по координатам предыдущей пары точек, то удаляем (стираем) ее.

2. строим прямую линию от точки point_1 через точку point_0 вправо ("в бесконечность"). линия имеет параметры, которые задаются при ее создании: тип линии, толщина, цвет.

3. после того, как линия построена, скидываем флажок redraw_line = false до следующего обновления значений точек point_1 и point_0.

4. еще должна существовать переменная level_0, которая равняется значению построенной линии на нулевом баре.

------------------------------------------------------------------------------------------------------------------------------------
Вот, собственно, вся задача. Ну и естественно, таких скриптов в советнике может быть несколько. Каждый со своими именами переменных и их значений.

Responded

1
Developer 1
Rating
(107)
Projects
149
36%
Arbitration
29
3% / 55%
Overdue
35
23%
Free
2
Developer 2
Rating
(612)
Projects
1422
59%
Arbitration
31
81% / 0%
Overdue
10
1%
Free
3
Developer 3
Rating
(40)
Projects
106
52%
Arbitration
17
12% / 65%
Overdue
25
24%
Free
4
Developer 4
Rating
(42)
Projects
72
24%
Arbitration
11
9% / 55%
Overdue
18
25%
Free
5
Developer 5
Rating
(195)
Projects
395
28%
Arbitration
155
20% / 52%
Overdue
112
28%
Free
6
Developer 6
Rating
(163)
Projects
221
59%
Arbitration
3
33% / 33%
Overdue
6
3%
Free
Published: 1 code
7
Developer 7
Rating
(561)
Projects
841
73%
Arbitration
15
53% / 13%
Overdue
193
23%
Working
8
Developer 8
Rating
(1)
Projects
3
0%
Arbitration
0
Overdue
1
33%
Free
9
Developer 9
Rating
(13)
Projects
34
76%
Arbitration
1
100% / 0%
Overdue
6
18%
Free
10
Developer 10
Rating
(46)
Projects
73
16%
Arbitration
13
8% / 92%
Overdue
37
51%
Free
11
Developer 11
Rating
(1)
Projects
2
50%
Arbitration
1
0% / 0%
Overdue
0
Free
12
Developer 12
Rating
(49)
Projects
134
27%
Arbitration
62
13% / 53%
Overdue
58
43%
Free
Published: 228 articles, 1 code

Project information

Budget