Расстояние между параллельными линиями

 

Есть такие данные

есть формула https://math.semestr.ru/line/distance.php

как использовать данные из картинки и подставить их в формулу ?

Расстояние от точки до прямой
Расстояние от точки до прямой
  • math.semestr.ru
Расстояние d от точки M1(x1;y1) до прямой Ax + By + C = 0 вычисляется по формуле: . Для решения соответствующих задач введите коэффициенты при переменных и нажмите кнопку Решение.
 
Itum:

Есть такие данные

есть формула https://math.semestr.ru/line/distance.php

как использовать данные из картинки и подставить их в формулу ?

Вы вообще понимаете, что PX означает пиксель, т.е. все Ваши линии будут просто жестко привязаны к экрану, независимо от данных графика, его масштаба и твитов Трампа? 

Если понимаете - солдат ребенка не обидит. Размещайте заказ. 
 

Немного в сторону. Надо определить пересечение двух линий на чарте. Все стандартно, по Х время в сек, по Y цена на 5-знаке. Есть ли формула без экстраполяции для вычисления этой точки?

 

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

Правильный подход:

У нас есть зеленая линия, проходящая через две точки.

Есть красная - проходящая через третью точку, и параллельная зеленой.

Стало быть, тренд (цена/единицу времени) у обоих - одинаковый. И расстояние в цене по вертикали (важно ! не "расстояние до", а "расстояние по вертикали") тоже одинаковое.

То есть, мы можем получить именно расстояние по вертикали, которое - будет всегда одинаковым, и не зависеть ни от масштаба, ни от чего еще.

В данном случае считаем:

Тренд прямых: (1.02-1.0175)/25 = 0,0000333... на пиксел.

В точке 14 значение зеленой прямой - 1.02 + (0,0000333х10) = 1.03083

Расстояние между прямыми в точке 14 = 1,03083 - 1.0225 = 0.083

И эта разница в цене будет между прямыми в любой момент времени. Классическое понятие "расстояния между прямыми" здесь не подходит, да это и не нужно.

Я взял в расчетах "на пиксел", но в данном случае было бы удобнее брать "на клетку" - суть бы не изменилась.
 
Alexey Volchanskiy:

Немного в сторону. Надо определить пересечение двух линий на чарте. Все стандартно, по Х время в сек, по Y цена на 5-знаке. Есть ли формула без экстраполяции для вычисления этой точки?

Тоже самое, Лех !

Находишь тренд одной прямой в цене на единицу времени.

Находишь тренд другой прямой в цене на единицу времени.

Находишь различие между этими прямыми в цене в конкретный момент.

И дальше - просто эта разница будет пройдена со скоростью в разнице трендов.

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

 
Алексей Тарабанов:

Вы вообще понимаете, что PX означает пиксель, т.е. все Ваши линии будут просто жестко привязаны к экрану, независимо от данных графика, его масштаба и твитов Трампа? 

Если понимаете - солдат ребенка не обидит. Размещайте заказ. 

он туда уже размещался с этой темой, ветку тоже создавал

однако ни тем ни другим не воспользовался

Я так понимаю, ему нужен рабочий код за просто так и больше ничего.

Так что формулы и прочее здесь писать бесполезно.

Кидайте код

 
Alexey Volchanskiy:

Немного в сторону. Надо определить пересечение двух линий на чарте. Все стандартно, по Х время в сек, по Y цена на 5-знаке. Есть ли формула без экстраполяции для вычисления этой точки?

уравнение прямой на плоскости в общем виде: A*x + B*y + C = 0; точка пересечения принадлежит сразу двум прямым => есть решением системы уравнений

A1*x + B1*y + C1 = 0

A2*x + B2*y + C2 = 0

x и y будут искомыми координатами точки пересечения. Нужно проверить только чтоб прямые не совпадали или не были параллельными: А1=А2 и В1=В2 одновременно (в общем виде А1/А2=В1/В2) и если С1=С2, то прямые совпадают (в общем виде будет А1/А2=В1/В2=С1/С2 ), если С1 != С2, то параллельны (А1/А2=В1/В2!=С1/С2). разница между С1 и С2 - расстояние между параллельными прямыми.

 Если прямая задана координатами точек Р1(x1,y1), Р2(x2,y2), то её уравнение в общем виде можно получить из раскрытия уравниня прямой, заданной двумя точками:

 x-x1      y-y1

------ = ---------

x2-x1     y2-y1

Зы  к теме ветки, если автор хочет получить линию, наклон которой будет учитывать масштаб графика, то можно применять все это, но изменить метрику - определение расстояния между точками. Эти уравнения выведены из метрики d = sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)) , то есть масштаб принимается  1:1 (пункт:бар). Поскольку масштаб реально меняется и может быть быть разным по разным осям: изменение тф и масштаб по цене, то при его учете можно получить линию с визуально постоянным наклоном на экране.

Вопрос в том нужно ли это и насколько полезно.

 
Itum:

Есть такие данные

есть формула https://math.semestr.ru/line/distance.php

как использовать данные из картинки и подставить их в формулу ?

Именно про эту формулу я и говорил.

А заявку уже удалили?

 
Renat Akhtyamov:

Так что формулы и прочее здесь писать бесполезно.

Кидайте код

Мне не нужен код ... мне нужен пример как подставить данные в формулу ... так как сделал Georgiy Merts

Тренд прямых: (1.02-1.0175)/25 = 0,0000333... на пиксел.

В точке 14 значение зеленой прямой - 1.02 + (0,0000333х10) = 1.03083

Расстояние между прямыми в точке 14 = 1,03083 - 1.0225 = 0.083 

По этой картинке мне считали и у всех разный результат... как такое может быть

в одних выходит разница между линиями 82 в других  81,8 а у вас же 83

 
Itum:

Мне не нужен код ... мне нужен пример как подставить данные в формулу ... так как сделал Georgiy Merts

По этой картинке мне считали и у всех разный результат... как такое может быть

в одних выходит разница между линиями 82 в других  81,8 а у вас же 83

Считать нужно в координатах единица времени на единицу цены, а не на пиксели. Не может тренд на одном и том же графике инструмента зависеть от разрешения монитора на котором этот график отображается.

 
Vladyslav Goshkov:

Считать нужно в координатах единица времени на единицу цены, а не на пиксели. Не может тренд на одном и том же графике инструмента зависеть от разрешения монитора на котором этот график отображается.

Я не делаю никаких расчетов в MT (mql) я только беру из терминала значение трех точек в виде время/цена


Далее эти значения я переношу в другую среду где у меня нарисована своя система координат статическая(масштаб фиксирован) ... Поэтому никакое изменение в МТ графике на меня не будет влиять.

Мне нужно только знать как подставить значения в формулу для расчетов на моей системе координат. Такой расчет сделал Georgiy Merts но у него почему-то другой результат вышел 

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