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

ICT Rejection Block

indicator ict rejection block [kty] for tradingview.pine
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой индикатор для TradingView, написанный на Pine Script v5, который выявляет rejection block — ценовые зоны, в которых произошло сильное отторжение покупок или продаж, формируемые свечами с длинными тенями. Индикатор использует обнаружение пивотов (pivot high и pivot low) на настраиваемых таймфреймах и проверяет размер тени свечи относительно ATR для подтверждения значимости зоны.

Обнаруженные зоны визуализируются цветными прямоугольниками и линиями: красный цвет обозначает rejection high (зона сопротивления), зелёный — rejection low (зона поддержки). Индикатор поддерживает отображение разрушенных rejection block в сером цвете, а также позволяет настраивать максимальное количество одновременно отображаемых зон на графике.

Продукт включает условия оповещений TradingView для событий появления новых rejection high и rejection low, а также для событий их разрушения (митигации), что позволяет трейдерам отслеживать формирование и потерю актуальности ключевых ценовых зон.

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

НастройкаОписание
rjb_tf1Enabled Включает или отключает расчёт и отображение rejection block на нижнем таймфрейме.
rjb_tf1 Выбор нижнего таймфрейма для расчёта rejection block. Данные этого таймфрейма запрашиваются через request.security для определения зон отторжения.
rjb_tf2Enabled Включает или отключает расчёт и отображение rejection block на верхнем таймфрейме.
rjb_tf2 Выбор верхнего таймфрейма для расчёта rejection block. Данные этого таймфрейма запрашиваются через request.security для определения зон отторжения.
rjb_maxSets Максимальное количество одновременно отображаемых rejection block на графике. При превышении лимита самые старые зоны удаляются.
rjb_btmCss Цвет отрисовки rejection block снизу (зона поддержки). Задаёт цвет нижней зоны отторжения продаж на графике.
rjb_topCss Цвет отрисовки rejection block сверху (зона сопротивления). Задаёт цвет верхней зоны отторжения покупок на графике.
rjb_showMitigated Управляет отображением разрушенных rejection block. При включении разрушенные зоны отображаются в сером цвете, при выключении — удаляются с графика.
Получить полный код

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

indicator(title = '【ICT Rejection Block】📊', shorttitle = '【ICT RjB】📊', overlay = true, max_boxes_count = 500, max_lines_count = 500, max_labels_count = 500)

rjb_tf1Enabled = input.bool(true, "LTF:", inline = "tf", group = "✅ Rejection Block")
rjb_tf1 = input.timeframe("", "", inline = "tf", group = "✅ Rejection Block")
rjb_tf2Enabled = input.bool(false, "HTF:", inline = "tf", group = "✅ Rejection Block")
rjb_tf2 = input.timeframe("D", "", inline = "tf", group = "✅ Rejection Block", tooltip = "⏩ Rejection Block\n\nA price zone formed by candles with long wicks, indicating strong buying or selling rejection at that level.\n\n📊 Key Concepts\n• Rejection High (Red): Candle with long upper wick → Buying pressure rejected, resistance area\n• Rejection Low (Green): Candle with long lower wick → Selling pressure rejected, support area\n\n✅ How to Use\n1. Watch for price reaction when re-entering rejection block zone\n2. Higher confidence when aligned with Order Block or FVG\n3. Use as reference for stop-loss placement\n\n⚠️ Notes\n• Invalidated when price breaks through\n• HTF (1H+) rejection blocks have higher reliability")

rjb_maxSets = input.int(2, "Rejection Block Count:", minval = 1, maxval = 20, inline = "count", group = "✅ Rejection Block")
rjb_btmCss = input.color(color.new(#178e61, 0), "", inline = "count", group = "✅ Rejection Block")
rjb_topCss = input.color(color.new(#c82d39, 0), "", inline = "count", group = "✅ Rejection Block")

rjb_showMitigated = input.bool(false, "Show Mitigated Rejection Blocks", group = "✅ Rejection Block", tooltip = "💥 Mitigated Rejection Block\nWhen price breaks through a rejection block, it loses validity.\n• Off: Remove when broken\n• On: Display broken zones in gray")

rjb_showTop = true
rjb_showBtm = true
rjb_length = 14
rjb_wickRatio = 0.5
rjb_extendLength = 10
rjb_wickWidth = 8
rjb_lineWidth = 2
rjb_mitigatedCss = color.gray
var rjb_label_size = size.small

type RjbArrays
    line[] tL
    line[] bL
    line[] w
    box[] b1
    box[] b2
    box[] b3
    box[] b4
    box[] b5
    box[] b6
    label[] lb
    float[] ts
    float[] bs
    int[] st
    line[] tLm
    line[] bLm
    line[] wm
    box[] b1m
    box[] b2m
    box[] b3m
    box[] b4m
    box[] b5m
    box[] b6m
    label[] lbm

rjb_newArrays() =>
    RjbArrays.new(array.new_line(), array.new_line(), array.new_line(),
         array.new_box(), array.new_box(), array.new_box(), array.new_box(), array.new_box(), array.new_box(),
         array.new_label(), array.new_float(), array.new_float(), array.new_int(),
         array.new_line(), array.new_line(), array.new_line(),
         array.new_box(), array.new_box(), array.new_box(), array.new_box(), array.new_box(), array.new_box(),
         array.new_label())

var RjbArrays[] rjb_data = array.from(rjb_newArrays(), rjb_newArrays(), rjb_newArrays(), rjb_newArrays())

rjb_formatTF(tf) =>
    formatted = tf == "" ? timeframe.period : tf
    seconds = timeframe.in_seconds(formatted)
    str.contains(formatted, "D") or str.contains(formatted, "W") or str.contains(formatted, "M") ? formatted : seconds < 60 ? str.tostring(seconds) + "s" : seconds < 3600 ? str.tostring(seconds / 60) + "m" : seconds < 86400 ? str.tostring(seconds / 3600) + "h" : formatted

rjb_handleOld(RjbArrays a, int i) =>
    _tL = array.remove(a.tL, i), _bL = array.remove(a.bL, i), _w = array.remove(a.w, i)
    _b1 = array.remove(a.b1, i), _b2 = array.remove(a.b2, i), _b3 = array.remove(a.b3, i)
    _b4 = array.remove(a.b4, i), _b5 = array.remove(a.b5, i), _b6 = array.remove(a.b6, i)
    _lb = array.remove(a.lb, i)
    array.remove(a.ts, i), array.remove(a.bs, i), array.remove(a.st, i)
    if rjb_showMitigated
        line.set_color(_tL, rjb_mitigatedCss), line.set_color(_bL, rjb_mitigatedCss), line.set_color(_w, rjb_mitigatedCss), line.set_style(_w, line.style_dashed)
        box.set_bgcolor(_b1, color.new(rjb_mitigatedCss, 96)), box.set_bgcolor(_b2, color.new(rjb_mitigatedCss, 93)), box.set_bgcolor(_b3, color.new(rjb_mitigatedCss, 90))
        box.set_bgcolor(_b4, color.new(rjb_mitigatedCss, 87)), box.set_bgcolor(_b5, color.new(rjb_mitigatedCss, 84)), box.set_bgcolor(_b6, color.new(rjb_mitigatedCss, 80))
        label.set_textcolor(_lb, rjb_mitigatedCss), label.set_color(_lb, color.new(rjb_mitigatedCss, 90))
        array.push(a.tLm, _tL), array.push(a.bLm, _bL), array.push(a.wm, _w)
        array.push(a.b1m, _b1), array.push(a.b2m, _b2), array.push(a.b3m, _b3), array.push(a.b4m, _b4), array.push(a.b5m, _b5), array.push(a.b6m, _b6), array.push(a.lbm, _lb)
    else
        line.delete(_tL), line.delete(_bL), line.delete(_w)
        box.delete(_b1), box.delete(_b2), box.delete(_b3), box.delete(_b4), box.delete(_b5), box.delete(_b6), label.delete(_lb)

rjb_create(RjbArrays a, bool isHigh, int x1, float top, float btm, color css, string tfLbl, float pVal) =>
    array.push(a.b1, box.new(x1, top, x1 + rjb_extendLength, btm, bgcolor = color.new(css, 96), border_color = color.new(css, 100)))
    array.push(a.b2, box.new(x1, top, x1 + math.round(rjb_extendLength * 0.8), btm, bgcolor = color.new(css, 93), border_color = color.new(css, 100)))
    array.push(a.b3, bo

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

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

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

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

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

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

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