Подскажите как можно вычислить расстояние между двумя параллельными линиями включая масштаб графика (таким образом что бы масштаб не влиял на это)
вот пример:
Красная линия - расстояние между двумя параллельными линиями - как можно вычислить ?
Надо измерить расстояние на одной точки по оси X - это у вас время, предполагаю...
Или вам надо реально со смещением мерить? Тогда по теореме Пифагора - известны две стороны и один угол...
И ещё, смотря в чем расстояние - в пикселях? Тогда надо будет переводить все в соответствующую систему координат для начала.Подскажите как можно вычислить расстояние между двумя параллельными линиями включая масштаб графика (таким образом что бы масштаб не влиял на это)
вот пример:
Красная линия - расстояние между двумя параллельными линиями - как можно вычислить ?
Чтобы масштаб не влиял, нужно использовать фиксированный масштаб графика. Иначе он всегда будет влиять.
Привет!
А как такую систему координат можно построить, как вы это представляете ?
Надо измерить расстояние на одной точки по оси X - это у вас время, предполагаю...
Или вам надо реально со смещением мерить? Тогда по теореме Пифагора - известны две стороны и один угол...
И ещё, смотря в чем расстояние - в пикселях? Тогда надо будет переводить все в соответствующую систему координат для начала.Если подумать логически то красная линия должна быть перпендикулярная двум (черным) этим линиям - что бы измерять расстояние. Мне НЕ важно в каких величинах будет измерятся это значение, мне самое главное что бы при смене масштаба это значение НЕ менялось.
Я даже пытался делать так: брать значение пересечения линий и считать количество баров между ним ... такой подход не подходит при смене масштаба !
Чтобы масштаб не влиял, нужно использовать фиксированный масштаб графика. Иначе он всегда будет влиять.
Почему ? А как же пропорция ?
Itum:
Мне НЕ важно в каких величинах будет измерятся это значение, мне самое главное что бы при смене масштаба это значение НЕ менялось.
Ну тогда вообще просто - измеряйте в пунктах. Обе линии привязаны к цене и при изменении масштаба расстояние между ними не меняется , меняется лишь визуальное отображение линий.
Вот проверил , на скринах линии с разными масштабами - как видите расстояние между ними не меняется.
Проблема вашего случая в том, что в пространстве "цена/секунда" не определено понятие расстояние между точками. Соответственно нельзя найти и кратчайшее расстояние.
Это потому что размерность осей разная. Значит надо либо:
- Выбрать коэффициент X между ценой и временем, тогда расстояние будет в единицах квадратный корень из ( цена x секунда x X ).
- считать расстояние по одной оси;
Расстояние по вертикали практически не меняется с изменением таймфрейма графика (только из-за того, что есть неполный бары и выходные).
Расстояние по горизонтали совсем не меняется.
Но при измерении расстояния по одной оси оно может быть бесконечным, что бессмысленно.
Подскажите как можно вычислить расстояние между двумя параллельными линиями включая масштаб графика (таким образом что бы масштаб не влиял на это)
вот пример:
Красная линия - расстояние между двумя параллельными линиями - как можно вычислить ?
Подскажите как можно вычислить расстояние между двумя параллельными линиями включая масштаб графика (таким образом что бы масштаб не влиял на это)
вот пример:
Красная линия - расстояние между двумя параллельными линиями - как можно вычислить ?
Все элементарно, Ватсон...
Для того, чтобы двумерную систему Price X Time привести к плоскости Price X Price, необходимо ввести новую характеристику, которую логичнее назвать скорость изменения цены V.
И измерять её удобно в единицах пункт/секунда.
Причем V = тангенс угла вашей линии в системе, прямо пропорциональной этой:
- 1 пиксель по вертикали = 1 _Point
- 1 пиксель по горизонтали = 1 секунда (один минутный бар шириной 60 пикселей на вашем экране)
Тогда расстояние двумя параллельными линиями можно вычислить двумя способами:
double V=(Price2-Price1)/(Time2-Time1); ulong DeltaTime = TimeLine2-TimeLine1; // double DeltaPrice = PriceLine2- PriceLine1; double R=DeltaTime*V/sqrt(1+V*V) ; // double R=V/(DeltaPrice*sqrt(1+V*V)) ; // где // точки (Price1,Time1) и (Price2,Time2) это две любые точки лежащие на одной из параллельных линий, Time измеряется в секундах // TimeLine1 и TimeLine2 - время первой и второй линии при фиксированной цене (пересечение с горизонтальной линией) // PriceLine1 и PriceLine2- цена первой и второй линии при фиксированном времени (пересечение с вертикальной линией) // DeltaPrice - расстояние между линиями в пунктах по вертикали // DeltaTime - расстояние между линиями в секундах по горизонтали // R - искомое кратчайшее расстояние между двумя параллельными линиями, скорость измерения цены которых равна V пунктов в секунду
Понятное дело, что данный перпендикуляр не будет выглядеть перпендикуляром в системе с пропорциями, отличными от пропорций вышеупомянутой системы
Все элементарно, Ватсон...
Для того, чтобы двумерную систему Price X Time привести к плоскости Price X Price, необходимо ввести новую характеристику, которую логичнее назвать скорость изменения цены V.
И измерять её удобно в единицах пункт/секунда.
Причем V = тангенс угла вашей линии в системе, прямо пропорциональной этой:
- 1 пиксель по вертикали = 1 _Point
- 1 пиксель по горизонтали = 1 секунда (один минутный бар шириной 60 пикселей на вашем экране)
Тогда расстояние двумя параллельными линиями можно вычислить двумя способами:
Понятное дело, что данный перпендикуляр не будет выглядеть перпендикуляром в системе с пропорциями, отличными от пропорций вышеупомянутой системы
Можно упростить , т.к существует случай когда Time1=TimeLine1 и Time2=TimeLine2.
Тогда:
double V=(Price2-Price1)/(Time2-Time1); double R=(Price2-Price1)/sqrt(1+V*V) ;
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите как можно вычислить расстояние между двумя параллельными линиями включая масштаб графика (таким образом что бы масштаб не влиял на это)
вот пример:
Красная линия - расстояние между двумя параллельными линиями - как можно вычислить ?