Рисование прямой линии в индикаторе

 

Помогите пожалуйста. Нужно создать пользовательский индикатор. Есть две удаленных друг от друга точки. Между точками есть промежуток в несколько баров. Если мысленно провести бесконечную линию между точками то она имеет наклон, т. е. не горизонтальна. Вопрос такой, как вычислить значение цены для каждой точки этой линиии как внутри отрезка так и снаружи? 

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

Заранее спасибо. 

 
а вот и зря :) - с помощью графи обьекта (линии) и формулы тебе не нужны :) - просто по №бара - запросто определить значение на линии :)
 

y=y1+(y2-y1)*(x-x1)/(x2-x1); 

4-ый класс средней школы:)

 
Integer:

y=y1+(y2-y1)*(x-x1)/(x2-x1); 

4-ый класс средней школы:)

 

Если писать то писать надо подробно. Меня интересует конкретно как это делается в MQL4. А тут даже не написано что это за формула, что значат её составляющие, и прочие пояснения от которых может зависить правильность решеия. 

 
Serg11245: Если писать то писать надо подробно. Меня интересует конкретно как это делается в MQL4. А тут даже не написано что это за формула, что значат её составляющие, и прочие пояснения от которых может зависить правильность решеия.
тогда в 4ый класс :) учить математику :)
 
Serg11245:

Если писать то писать надо подробно. Меня интересует конкретно как это делается в MQL4. А тут даже не написано что это за формула, что значат её составляющие, и прочие пояснения от которых может зависить правильность решеия.


Пожалуйста, будьте вежливы. Отвечать Вам никто не обязан. Специально для Вас выношу ссылку - прочитайте, пожалуйста. https://www.mql4.com/go?http://www.rsdn.ru/Info/Howtoask.xml - как правильно задавать вопросы.

Следующим шагом - учитесь работать с поиском. Удачи.

 
Serg11245:

Помогите пожалуйста. Нужно создать пользовательский индикатор. Есть две удаленных друг от друга точки. Между точками есть промежуток в несколько баров. Если мысленно провести бесконечную линию между точками то она имеет наклон, т. е. не горизонтальна. Вопрос такой, как вычислить значение цены для каждой точки этой линиии как внутри отрезка так и снаружи? 

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

Заранее спасибо. 


Я тож новенький. 

Сегодня как раз линии рисовал )))

Сначала вспоминал алгебру. Потом не вспомнил. Изучал это https://ru.wikipedia.org/wiki/Прямая 

Вот нахождение уравнения прямой: 

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

double y, y1, y2;
double A, B, C;
double f_max, a_max;
int x1, x2;
x1 = Time[0]; /// 
y1 = High[0]; //
x2 = Time[50];
y2 = High[50];

/// По линии х - время, по y - цена 

/// Общее уравнение прямой: А * х + В * y + С = 0
A = (y1 - y2);
B = (x2 - x1);
C = (x1 * y2 - x2 * y1);

//// Обычное уравнение: y = f_max * x + a_max
f_max = - A / B;
a_max = - C / B;
//// Теперь можно узнать цену на 23 баре например
y = f_max * Time[23] + a_max;
У меня рисует правильно.
 
rlx:


Я тож новенький.

Сегодня как раз линии рисовал )))

Сначала вспоминал алгебру. Потом не вспомнил. Изучал это https://ru.wikipedia.org/wiki/Прямая

Вот нахождение уравнения прямой:

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

У меня рисует правильно.


Аналит. геометрию - уравнение прямой на плоскости ;), если точнее ......

На этом форуме не один десяток раз обсуждалось. Поиск рулит ......

Удачи.

Причина обращения: