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

Адаптивный MACD

[оsc]adaptive macd].pine
Вы автор или правообладатель?

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

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

О программе

Индикатор «Адаптивный MACD» для TradingView, построенный на языке Pine Script v6. Он вычисляет три слоя адаптивных скользящих средних на основе двойной экспоненциальной усреднённой (EMA) и формирует накопленный сигнал, визуализируемый в виде залитой области между промежуточной линией и нулевым уровнем.

Цвет заливки меняется в зависимости от направления и силы сигнала: зелёные оттенки — бычий сигнал, красные — медвежий, серый — нейтральный. В правом верхнем углу отображается таблица с текущим состоянием рынка по выбранному сигналу.

Источником данных служит среднее значение High и Low. Все параметры периодов и сглаживания настраиваются пользователем через панель настроек индикатора.

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

НастройкаОписание
length1_triple Первый период для расчёта первого слоя адаптивной скользящей средней.
length2_triple Второй период для расчёта второго слоя адаптивной скользящей средней.
length3_triple Третий период для расчёта третьего слоя адаптивной скользящей средней.
smooth_triple Период сглаживания для разностных сигналов между слоями скользящих средних.
Получить полный код

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

indicator(title='<[Оsc]Aдаптивный MACD]>', shorttitle='<[aMACD]>', format=format.price, precision=2)

f_ama(_src, _length) =>
    _ma1 = ta.ema(_src, _length)
    _ma2 = ta.ema(_ma1, _length)
    2 * _ma1 - _ma2

src_triple = (high + low) / 2
length1_triple = input.int(4, 'Length 1', minval=1)
length2_triple = input.int(2, 'Length 2', minval=1)
length3_triple = input.int(100, 'Length 3', minval=1)
smooth_triple = input.int(2, 'Smooth', minval=1)

ma1_triple = f_ama(src_triple, length1_triple)
ma2_triple = f_ama(ma1_triple, length2_triple)
ma3_triple = f_ama(ma2_triple, length3_triple)

v1_triple = f_ama(src_triple - ma1_triple, smooth_triple)
v2_triple = f_ama(ma1_triple - ma2_triple, smooth_triple)
v3_triple = f_ama(ma2_triple - ma3_triple, smooth_triple)

o3_triple = v3_triple
o2_triple = v3_triple + v2_triple
o1_triple = o2_triple + v1_triple

o3_change_up = ta.change(o3_triple) > 0
o3_change_down = ta.change(o3_triple) < 0

fill_color = o3_change_up ? 
             o2_triple > o3_triple ? color.rgb(0, 150, 0) : color.rgb(100, 200, 100) : // Зеленый для быков
             o3_change_down ? 
             o2_triple > o3_triple ? color.rgb(200, 0, 0) : color.rgb(255, 100, 100) : // Красный для медведей
             color.rgb(100, 100, 100) // Серый для нейтрального

p2_triple = plot(o2_triple, display=display.none)
zero_line = plot(0, display=display.none)

fill(p2_triple, zero_line, fill_color)

var table legend_table = table.new(position.top_right, 2, 7, bgcolor=color.rgb(20, 20, 20), border_width=1)

if barstate.islast
    table.cell(legend_table, 0, 0, "ЦВЕТ", text_color=color.white, bgcolor=#25

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

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

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

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

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

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

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