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