Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Sergey387
15
Sergey387  

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

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

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

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

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

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

Sergey387
15
Sergey387  
Integer:

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

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

 

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

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

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


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

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

rlx
166
rlx  
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;
У меня рисует правильно.
Vladyslav Goshkov
2147
Vladyslav Goshkov  
rlx:


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

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

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

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

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

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


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

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

Удачи.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий