Как научить индикатор определять положение точки пересечения 2-х линий относительно линии 0 ??? - страница 2 123 Новый комментарий Vladimir Gomonov 2012.04.27 11:36 #11 Mathemat: Да зачем аппроксимировать, если есть точное решение? Это ж не уравнение 20-й степени решать... Это точное решение. Sceptic Philozoff 2012.04.27 11:43 #12 MetaDriver: Это точное решение. Какое? среднее рихметическое четырех точек? То, что ты написал, похоже на точное. Vladimir Gomonov 2012.04.27 11:46 #13 MetaDriver: Это точное решение. Только с мелкой ошибкой. :) Здесь: отсюда искомый X = sign(((green1+black1)/2)*p + ((green2+black2)/2)*(1-p)) нужно множители переставить местами: X = sign(((green1+black1)/2)*(1-p) + ((green2+black2)/2)*(p)) Остальное правильно и наглядно. Выражение можно немного упростить (для более быстроко вычисления) но это не суть. Кластерный индикатор: хотелось бы 10 пунктов 3.mq4 Ошибки, баги, вопросы Sceptic Philozoff 2012.04.27 11:50 #14 Выражение для р меня напрягает. Не может быть там никаких модулей. Все тупо линейно. Vladimir Gomonov 2012.04.27 11:54 #15 Mathemat: Выражение для р меня напрягает. Не может быть там никаких модулей. Все тупо линейно. да без проблем. модули в данном случае приводят к тому что порядок слагаемых не важен. можно без модулей : p = (green1-black1) / (black2-green2); этот порядок всегда будет работать, при условии что заведомо известно что линии пересеклись между. Вопросы от начинающих MQL5 Какую стратегию Вы предпочитаете?... Обсуждение статьи "Как опубликовать Sceptic Philozoff 2012.04.27 11:56 #16 Эта штука равна -1. Vladimir Gomonov 2012.04.27 12:04 #17 Mathemat: Эта штука равна -1. поправил. издержки копипаста. :) Vladimir Gomonov 2012.04.27 16:38 #18 MetaDriver: да без проблем. модули в данном случае приводят к тому что порядок слагаемых не важен. можно без модулей : 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)); Теперь всё точно. Публикация онлайн - Графики Настройки - Добро пожаловать Веер Ганна - Инструменты Sceptic Philozoff 2012.04.27 17:57 #19 MetaDriver: Чё-то под вечер мысль мелькнула - неточная формула опять. Ну да, вот теперь p у тебя точно такой же, как у меня k. Ну и зачем ты какой-то новый "серединный" отрезок создавал? P.S. Я тут нарыл урководство по OpenCL. Замучился наталкиваться на битые ссылки, но все-таки качнул. Но на аглицком. Именно урководство, а не спецификацию. Надо? Помогите скомпилировать советник. FOREX - Тенденции, прогнозы Надо ли добавить ЯндексДеньги Vladimir Gomonov 2012.04.28 05:12 #20 Mathemat: Ну да, вот теперь p у тебя точно такой же, как у меня k. Ну и зачем ты какой-то новый "серединный" отрезок создавал? Ты праф это лишнее. Можно по любой из линий, они все делятся пропорционально. Напр: sign(green1*(1-p) + green2*p); P.S. Я тут нарыл урководство по OpenCL. Замучился наталкиваться на битые ссылки, но все-таки качнул. Но на аглицком. Именно урководство, а не спецификацию. Надо? Надо, давай выкладывай в ветку на mql5. Или в личку, если не хошь распространять. МТ4 или МТ5. Какие Прибыльная торговля Серъёзный вопрос по программе 123 Новый комментарий
Да зачем аппроксимировать, если есть точное решение? Это ж не уравнение 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. Замучился наталкиваться на битые ссылки, но все-таки качнул.
Но на аглицком. Именно урководство, а не спецификацию. Надо?