Как научить индикатор определять положение точки пересечения 2-х линий относительно линии 0 ??? - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да зачем аппроксимировать, если есть точное решение? Это ж не уравнение 20-й степени решать...
Какое? среднее рихметическое четырех точек?
То, что ты написал, похоже на точное.
Это точное решение.
Только с мелкой ошибкой. :) Здесь:
отсюда искомый X = sign(((green1+black1)/2)*p + ((green2+black2)/2)*(1-p))
нужно множители переставить местами:
X = sign(((green1+black1)/2)*(1-p) + ((green2+black2)/2)*(p))
Остальное правильно и наглядно. Выражение можно немного упростить (для более быстроко вычисления) но это не суть.
Выражение для р меня напрягает. Не может быть там никаких модулей. Все тупо линейно.
да без проблем. модули в данном случае приводят к тому что порядок слагаемых не важен.
можно без модулей : p = (green1-black1) / (black2-green2);
этот порядок всегда будет работать, при условии что заведомо известно что линии пересеклись между.
Эта штука равна -1.
да без проблем. модули в данном случае приводят к тому что порядок слагаемых не важен.
можно без модулей : p = (green1-black1) / (black2-green2);
этот порядок всегда будет работать, при условии что заведомо известно что линии пересеклись между.
Чё-то под вечер мысль мелькнула - неточная формула опять.
На самом деле p = (green1-black1) / ((black2-green2)+ (green1-black1)); // т.е. p = ∆1 / (∆1+∆2)
И далее X = sign(((green1+black1)/2)*(1-p) + ((green2+black2)/2)*(p));
Теперь всё точно.
Ну да, вот теперь p у тебя точно такой же, как у меня k. Ну и зачем ты какой-то новый "серединный" отрезок создавал?
P.S. Я тут нарыл урководство по OpenCL. Замучился наталкиваться на битые ссылки, но все-таки качнул.
Но на аглицком. Именно урководство, а не спецификацию. Надо?
Ну да, вот теперь p у тебя точно такой же, как у меня k. Ну и зачем ты какой-то новый "серединный" отрезок создавал?
Ты праф это лишнее. Можно по любой из линий, они все делятся пропорционально.
Напр: sign(green1*(1-p) + green2*p);
P.S. Я тут нарыл урководство по OpenCL. Замучился наталкиваться на битые ссылки, но все-таки качнул.
Но на аглицком. Именно урководство, а не спецификацию. Надо?