Trend Change Indicator
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trend change indicator_5971963926995277856.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор Trend Change Indicator отображает на графике TradingView изменения тренда на основе соотношения быстрых и медленных скользящих средних EMA. Он анализирует данные на выбранном пользователем таймфрейме и на дневном графике, используя фильтр волатильности на основе ATR для определения бычьего или медвежьего состояния рынка.
Индикатор рисует две линии EMA (быструю и медленную), цвет которых меняется в зависимости от направления тренда: зелёный — бычий, красный — медвежий, белый — нейтральный. Между линиями заполняется область, визуализирующая силу тренда. Также отображается простая скользящая средняя SMA с прогнозными линиями на будущие периоды.
В правом нижнем углу графика выводится таблица с текущим состоянием тренда на разных таймфреймах. Индикатор поддерживает два типа оповещений TradingView: одно срабатывает при смене тренда, другое — при расхождении трендов на разных таймфреймах, сигнализируя о возможной необходимости фиксации прибыли.
Настройки программы
| Настройка | Описание |
|---|---|
| ema_fast_input | Быстрая EMA — Параметр периода быстрой экспоненциальной скользящей средней EMA. |
| ema_slow_input | Медленная EMA — Параметр периода медленной экспоненциальной скользящей средней EMA. |
| atr_length_input | Длина ATR — Параметр периода расчёта среднего истинного диапазона ATR, используемого в качестве фильтра волатильности. |
| atr_margin_input | Маржа ATR — Множитель ATR, определяющий пороговое значение для классификации направления тренда как бычьего или медвежьего. |
| sma_input | Длина SMA — Параметр периода простой скользящей средней SMA, отображаемой на графике с прогнозными линиями. |
| select_timeframe | Таймфрейм — Выбор таймфрейма для анализа тренда из доступных вариантов от 1H до 12H. |
Поиск по коду файла
indicator('Trend Change Indicator', overlay=true)
ema_fast_input = input(30, title = "EMA Fast")
ema_slow_input = input(60, title = "EMA Slow")
atr_length_input = input(60, title = "ATR Length")
atr_margin_input = input(0.3, title = "ATR Margin")
sma_input = input(140, title = "SMA Length")
select_timeframe = input.string(title="Timeframe", defval="4H", options=["1H", "2H", "4H", "6H", "8H", "12H"])
timeframe = select_timeframe == "1H" ? "60" : select_timeframe == "2H" ? "120" : select_timeframe == "4H" ? "240" : select_timeframe == "6H" ? "360" : select_timeframe == "8H" ? "480" : "720"
ema_fast_4h = request.security(syminfo.tickerid, timeframe, ta.ema(close, ema_fast_input))
ema_slow_4h = request.security(syminfo.tickerid, timeframe, ta.ema(close, ema_slow_input))
ema_diff_4h = ema_fast_4h - ema_slow_4h
ema_bull_4h = ema_diff_4h > atr_margin_input * request.security(syminfo.tickerid, timeframe, ta.atr(atr_length_input))
ema_bear_4h = ema_diff_4h < -atr_margin_input * request.security(syminfo.tickerid, timeframe, ta.atr(atr_length_input))
ema_over_4h = ema_fast_4h > ema_slow_4h
ema_fast_1d = request.security(syminfo.tickerid, "1440", ta.ema(close, ema_fast_input))
ema_slow_1d = request.security(syminfo.tickerid, "1440", ta.ema(close, ema_slow_input))
ema_diff_1d = ema_fast_1d - ema_slow_1d
ema_bull_1d = ema_diff_1d > atr_margin_input * request.security(syminfo.tickerid, "1440", ta.atr(atr_length_input))
ema_bear_1d = ema_diff_1d < -atr_margin_input * request.security(syminfo.tickerid, "1440", ta.atr(atr_length_input))
ema_over_1d = ema_fast_1d > ema_slow_1d
color bull = color.new(color(#00FF00), 0)
color bull_fill = color.new(color(#00FF00), 50)
color bear = color.new(color(#FF0000), 0)
color bear_fill = color.new(color(#FF0000), 50)
color neutral = color.new(color(#FFFFFF), 0)
color neutral_fill = color.new(color(#FFFFFF), 50)
iff_1 = ema_bear_1d ? bear : neutral
ema_fast_plot = plot(ema_fast_1d, title="EMA Fast", linewidth=2, color=ema_bull_1d ? bull : iff_1)
iff_2 = ema_bear_1d ? bear : neutral
ema_slow_plot = plot(ema_slow_1d, title="EMA Slow", linewidth=2, color=ema_bull_1d ? bull : iff_2)
iff_3 = ema_bear_1d ? bear_fill : neutral_fill
fill(ema_fast_plot, ema_slow_plot, color=ema_bull_1d ? bull_fill : iff_3, title="EMA Fill")
var is_long = false
no_trend = not ema_bull_1d and not ema_bear_1d
trend = ema_bull_1d or ema_bear_1d
is_change = not is_long and no_trend
is_no_change = is_long and trend
is_long := is_change ? true : is_no_change ? false : is_long
warning_bull = ema_bull_1d and ema_bear_4h
warning_bear = ema_bear_1d and ema_bull_4h
warning = warning_bull or warning_bear
close_1d = request.security(syminfo.tickerid, "1440", close)
sma = request.security(syminfo.tickerid, "1440", ta.sma(close, sma_input))
plot(sma, title="SMA 1", color=color.new(color.white, 0), linewidth=2)
sma_forecast_1_1 = request.security(syminfo.tickerid, "1440", ((sma * sma_input) + (close_1d - close_1d[sma_input])) / sma_input)
sma_forecast_1_2 = request.security(syminfo.tickerid, "1440", ((sma * sma_input) + ((close_1d * 2) - close_1d[sma_input] - close_1d[sma_input - 1])) / sma_input)
sma_forecast_1_3 = request.security(syminfo.tickerid, "1440", ((sma * sma_input) + ((close_1d * 3) - close_1d[sma_input] - close_1d[sma_input - 1] - close_1d[sma_input - 2])) / sma_input)
sma_forecast_1_4 = request.security(syminfo.tickerid, "1440", ((sma * sma_input) + ((close_1d * 4) - close_1d[sma_input] - close_1d[sma_input - 1] - cloПоказано первые 50% кода (символов: 6202)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.