Адаптивный 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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.