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

MQL4 Komut dosyaları Diğer

İş Gereklilikleri

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

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

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, которая равняется значению построенной линии на нулевом баре.

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

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(107)
Projeler
149
36%
Arabuluculuk
29
3% / 55%
Süresi dolmuş
35
23%
Serbest
2
Geliştirici 2
Derecelendirme
(551)
Projeler
1334
59%
Arabuluculuk
28
82% / 0%
Süresi dolmuş
10
1%
Çalışıyor
3
Geliştirici 3
Derecelendirme
(40)
Projeler
106
52%
Arabuluculuk
17
12% / 65%
Süresi dolmuş
25
24%
Serbest
4
Geliştirici 4
Derecelendirme
(35)
Projeler
64
22%
Arabuluculuk
10
0% / 60%
Süresi dolmuş
18
28%
Çalışıyor
5
Geliştirici 5
Derecelendirme
(195)
Projeler
395
28%
Arabuluculuk
155
20% / 52%
Süresi dolmuş
112
28%
Serbest
6
Geliştirici 6
Derecelendirme
(129)
Projeler
185
55%
Arabuluculuk
3
33% / 33%
Süresi dolmuş
6
3%
Çalışıyor
7
Geliştirici 7
Derecelendirme
(549)
Projeler
826
73%
Arabuluculuk
15
53% / 13%
Süresi dolmuş
193
23%
Çalışıyor
8
Geliştirici 8
Derecelendirme
(1)
Projeler
3
0%
Arabuluculuk
0
Süresi dolmuş
1
33%
Serbest
9
Geliştirici 9
Derecelendirme
(13)
Projeler
34
76%
Arabuluculuk
1
100% / 0%
Süresi dolmuş
6
18%
Serbest
10
Geliştirici 10
Derecelendirme
(46)
Projeler
73
16%
Arabuluculuk
13
8% / 92%
Süresi dolmuş
37
51%
Serbest
11
Geliştirici 11
Derecelendirme
(1)
Projeler
2
50%
Arabuluculuk
1
0% / 0%
Süresi dolmuş
0
Serbest
12
Geliştirici 12
Derecelendirme
(49)
Projeler
134
27%
Arabuluculuk
62
13% / 53%
Süresi dolmuş
58
43%
Serbest

Proje bilgisi

Bütçe