Spécifications
Задание: Необходимо написать скрипт (фрагмент советника) строящий прямую линию по паре предопределенных ранее точек и на каждом тике возвращает значение цены в точке пересечения линией нулевого бара. При появлении новых значений этих точек — линия перерисовывается.
Исходные данные:
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, которая равняется значению построенной линии на нулевом баре.
------------------------------------------------------------------------------------------------------------------------------------
Вот, собственно, вся задача. Ну и естественно, таких скриптов в советнике может быть несколько. Каждый со своими именами переменных и их значений.
Исходные данные:
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, которая равняется значению построенной линии на нулевом баре.
------------------------------------------------------------------------------------------------------------------------------------
Вот, собственно, вся задача. Ну и естественно, таких скриптов в советнике может быть несколько. Каждый со своими именами переменных и их значений.
Répondu
1
Évaluation
Projets
149
36%
Arbitrage
29
3%
/
55%
En retard
35
23%
Gratuit
2
Évaluation
Projets
1349
59%
Arbitrage
28
82%
/
0%
En retard
10
1%
Gratuit
3
Évaluation
Projets
106
52%
Arbitrage
17
12%
/
65%
En retard
25
24%
Gratuit
4
Évaluation
Projets
66
23%
Arbitrage
10
0%
/
60%
En retard
18
27%
Gratuit
5
Évaluation
Projets
395
28%
Arbitrage
155
20%
/
52%
En retard
112
28%
Gratuit
6
Évaluation
Projets
189
54%
Arbitrage
3
33%
/
33%
En retard
6
3%
Gratuit
7
Évaluation
Projets
830
73%
Arbitrage
15
53%
/
13%
En retard
193
23%
Travail
8
Évaluation
Projets
3
0%
Arbitrage
0
En retard
1
33%
Gratuit
9
Évaluation
Projets
34
76%
Arbitrage
1
100%
/
0%
En retard
6
18%
Gratuit
10
Évaluation
Projets
73
16%
Arbitrage
13
8%
/
92%
En retard
37
51%
Gratuit
11
Évaluation
Projets
2
50%
Arbitrage
1
0%
/
0%
En retard
0
Gratuit
12
Évaluation
Projets
134
27%
Arbitrage
62
13%
/
53%
En retard
58
43%
Gratuit
Informations sur le projet
Budget