← К каталогу
Исходный код · ID 4722

MACD Линейная Регрессия

macd linear regression.pine

Похожие материалы по тегам

(mz) macd zones.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! 1 tma macd v1 @indicatorsmt5mt4.pineTradingView · 1 общих тегов#ultimate macd divergence.mq5MQL5 / MetaTrader 5 · 1 общих тегов! macd+.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!macd_adx.mq4MQL4 / MetaTrader 4 · 1 общих теговxauusd_gold_perfect.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный индикатор для TradingView объединяет расчёт MACD с анализом линейной регрессии. Он строит классические линии MACD на основе экспоненциальных скользящих средних и сигнальную линию на основе простой скользящей средней, а также отображает гистограмму разницы между ними.

Ключевая особенность — применение линейной регрессии к значениям MACD. Индикатор рисует линию регрессии, её наклон и полосы отклонения вокруг неё. На графике также отображается метка с коэффициентом корреляции и значением R² для текущего периода регрессии.

Дополнительно индикатор отмечает пересечения MACD и сигнальной линии графическими маркерами, отображает зигзаг на основе поворотных точек MACD с метками типов переключений (HH, LH, LL, HL) и предоставляет настраиваемые параметры цветов линий и гистограммы.

Настройки программы

НастройкаОписание
fastLength Период для быстрого экспоненциального скользящего среднего в расчёте MACD.
slowLength Период для медленного экспоненциального скользящего среднего в расчёте MACD.
signalLength Период для сглаживания сигнальной линии MACD простой скользящей средней.
macd_colorChange Переключает смену цвета линий MACD и сигнальной линии при их пересечении.
showhist Управляет отображением гистограммы MACD на графике.
hist_colorChange Переключает использование четырёх цветов для гистограммы MACD в зависимости от направления её изменения.
periodTrend Период для расчёта линейной регрессии значений MACD.
deviationsAmnt Коэффициент отклонения для построения полос вокруг линии линейной регрессии MACD.
estimatorType Метод оценки для расчёта линейной регрессии: смещённый или несмещённый.
extendType Способ продведения линий регрессии на графике: вправо или только сегмент.
length Период для определения поворотных точек зигзага на основе MACD.
Получить полный код

Поиск по коду файла

indicator('<[Osc]MACD Линейная Регрессия]>','<[MACD Линейная Регрессия]>', false, max_bars_back = 10)

fastLength = input.int(12, title = 'Быстрый период', minval = 1)
slowLength = input.int(26, title = 'Медленный период', minval = 1)
signalLength = input.int(9, title = 'Сигнальный период', minval = 1)

hline(0, 'Нулевая линия', linewidth = 1, color = color.gray)
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)
macd = fastMA - slowMA
signal = ta.sma(macd, signalLength)

plot(ta.crossover(macd, signal) ? signal : na, title = 'Пересечение вверх', style = plot.style_circles, color = color.new(#15c300, 0), linewidth = 5, show_last = 200)
plot(ta.crossunder(macd, signal) ? signal : na, title = 'Пересечение вниз', style = plot.style_circles, color = color.new(#ed0000, 0), linewidth = 5, show_last = 200)

macd_colorChange = input(true, title = 'Изменять цвет линии MACD при пересечении?')
showhist = input(true, title = 'Показывать гистограмму?')
hist_colorChange = input(true, title = '4 цвета для гистограммы MACD?')

macd_IsAbove = macd >= signal
macd_IsBelow = macd < signal
macd_color = macd_colorChange ? macd_IsAbove ? color.yellow : color.red : color.red
signal_color = macd_colorChange ? macd_IsAbove ? color.blue : color.blue : color.lime

hist = macd - signal
histAIsUp = hist > hist[1] and hist > 0
histAIsDown = hist < hist[1] and hist > 0
histBIsDown = hist < hist[1] and hist <= 0
histBIsUp = hist > hist[1] and hist <= 0
plot_color = hist_colorChange ? histAIsUp ? color.aqua : histAIsDown ? color.blue : histBIsDown ? color.red : histBIsUp ? color.maroon : color.yellow : color.gray

plot(showhist and bool(hist) ? hist : na, title = 'Гистограмма', color = plot_color, style = plot.style_columns, linewidth = 4)

plot(signal, color = signal_color, title = 'Сигнальная линия')
plot(macd, color = macd_color, title = 'Линия MACD', linewidth = 2)

drawLine(X1, Y1, X2, Y2, ExtendType, Color, LineStyle) =>
    var line Line = na
    Line := line.new(X1, Y1, X2, Y2, xloc.bar_index, ExtendType, Color, LineStyle, 1)
    line.delete(Line[1])

rsdcr2(PeriodMinusOne, Deviations, Estimate) =>
    var period = PeriodMinusOne + 1
    var devDenominator = Estimate == 'Unbiased' ? PeriodMinusOne : period
    Ex = 0.0
    Ex2 = 0.0
    Exy = 0.0
    Ey = 0.0
    for i = 0 to PeriodMinusOne by 1
        closeI = nz(macd[i])
        Ex := Ex + i
        Ex2 := Ex2 + i * i
        Exy := Exy + closeI * i
        Ey := Ey + closeI
        Ey
    ExEx = Ex * Ex
    slope = Ex2 == ExEx ? 0.0 : (period * Exy - Ex * Ey) / (period * Ex2 - ExEx)
    linearRegression = (Ey - slope * Ex) / period
    intercept = linearRegression + bar_index * slope
    deviation = 0.0
    for i = 0 to PeriodMinusOne by 1
        deviation := deviation + math.pow(nz(macd[i]) - (intercept - bar_index[i] * slope), 2.0)
        deviation
    deviation := Deviations * math.sqrt(

Показано первые 50% кода (символов: 4779)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
478₽ ≈ $6