Кручу-верчу канал "Regression Channel". Казалось бы совсем простая задача.
Надо узнать наклон Regression Channel. Вверх или вниз он направлен.
Никаких зацепок не вижу, чтобы программно зацепиться. Есть только время ни к чему не обязывающее.
Привязано оно только к индексу бара и к цене как бы отношения не имеет. По ценам индексов баров ничегопутногоне получим.
Кто может предложить что то дельное? Гугля не предлагать:)
Что значит "Есть только время..."? А значение индикатора что, уже неважно?
И чем определение наклона регрессии отличается от определения наклона той же МА, например?
ObjectGetValueByTime (работал в мт4 только для центральной линии, но проверьте) справка в мт4 немного косая в плане количества параметров.
ObjectGetValueByTime (работал в мт4 только для центральной линии, но проверьте) справка в мт4 немного косая в плане количества параметров.
Проще рассчитывать показатели канала самому:
double GetLinearRegressionValues(int rightBar, int period, double &leftValue) { int leftBar = rightBar + period - 1; if (period <= 0 || leftBar >= Bars || rightBar < 0) return 0; double sumy = 0, // Сумма значений функции sumx = 0.0, // Сумма аргументов функции sumxy = 0.0, // Сумма произведения аргументов и значений sumx2 = 0.0; // Сумма квадратов аргументов функции for (int i = rightBar; i <= leftBar; i++) { sumy += Close[i]; sumxy += Close[i] * i; sumx += i; sumx2 += i * i; } // Вычисление коэффициентов К и В double denominator = sumx2 * period - sumx * sumx; // Знаменатель для нахождения коэф. К if (denominator == 0.0) return 0; double kKoef = (sumxy * period - sumx * sumy) / denominator; double bKoef = (1.0 / period) * (sumy - kKoef * sumx); // Расчет цен точек линии на крайних барах leftValue = kKoef * leftBar + bKoef; // Цена левой точки линии return kKoef * rightBar + bKoef; // Цена правой точки линии }
Если цена на баре, расположеном слева по графику (leftValue), больше цены на баре, расположенном справа по графику (значение функции), то канал нисходящий. Если равны - горизонтальный, иначе - восходящий.
а зря отказываетесь) Гдет тут на сайте подробно разбиралось.
Наклон Regression Channel можно определить по двум МА, простой и линейно-взвешенной.
Период обоих МА=длине Regression Channel.
LWMA>SMA наклон вверх
LWMA<SMA наклон вниз
Проще рассчитывать показатели канала самому:
Если цена на баре, расположеном слева по графику (leftValue), больше цены на баре, расположенном справа по графику (значение функции), то канал нисходящий. Если равны - горизонтальный, иначе - восходящий.
Прекрасный вариант!
Канал уже даже можно раскрасить программно, в зависимости от наклона. С уважением принимаю. Спасибо.
Прошу прощения у всех за оффтоп, но не смог не обратить внимание на наглядно расставленные комментарии в исходнике (справа). Как вам удается их расставлять так? Не по номеру же столбца находите позицию.
Прекрасный вариант!
Канал уже даже можно раскрасить программно, в зависимости от наклона. С уважением принимаю. Спасибо.
Проще рассчитывать показатели канала самому:
Если цена на баре, расположеном слева по графику (leftValue), больше цены на баре, расположенном справа по графику (значение функции), то канал нисходящий. Если равны - горизонтальный, иначе - восходящий.
Господа, позвольте напомнить вам про одну гениальную статью, где рассказывается про оптимизацию расчёта линейной регрессии (гениальность в том, что её можно вычислить в один шаг на основе скользящих средних, т.о. она оказывается обычным цифровым фильтром свёртки):
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Кручу-верчу канал "Regression Channel". Казалось бы совсем простая задача.
Надо узнать наклон Regression Channel. Вверх или вниз он направлен.
Никаких зацепок не вижу, чтобы программно зацепиться. Есть только время ни к чему не обязывающее.
Привязано оно только к индексу бара и к цене как бы отношения не имеет. По ценам индексов баров ничего путного не получим.
Кто может предложить что то дельное? Гугля не предлагать:)