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

Smart Money Bull/Bear Trap Detector

indicator smart money bullbear trap detector for tradingview.pine
Вы автор или правообладатель?

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

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

О программе

Индикатор «Smart Money Bull/Bear Trap Detector» предназначен для обнаружения ложных пробоев уровней поддержки и сопротивления на графиках цен. Он автоматически определяет ключевые точки разворота (пивоты) и формирует вокруг них визуальные зоны, в которых отслеживается пробой ценой с закрытием в противоположную сторону.

При обнаружении ложного пробоя индикатор помечает сигнал на графике меткой с рейтингом (A, B или C), который зависит от возраста сигнала и объёма торгов. Все обнаруженные сигналы также отображаются в таблице-дашборде, расположение и стиль которой настраиваются пользователем.

Индикатор реализован на Pine Script v6 и работает как оверлей на графике цены. Основные параметры, такие как длина зон, порог объёма и цвета сигналов, настраиваются через панель параметров TradingView.

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

НастройкаОписание
pLegs Количество баров слева и справа, необходимое для подтверждения пивота верхнего или нижнего уровня.
zSegs Количество динамических сегментов (коробок), создаваемых в каждой зоне для плавного затухания цвета.
zLen Горизонтальная длина градиентных зон пивота (поддержки и сопротивления) в барах.
useZlenExpire При включении прекращает обнаружение ловушек после истечения базовой длины зоны (zLen) баров.
vThresh Множитель для 20-периодного скользящего среднего объёма, используемый для оценки объёмного компонента сигнала.
lblSz Размер шрифта меток сигналов A, B и C на свечах графика цены.
cRes Базовый цвет для зон сопротивления (пивоты верхнего уровня) и тёмной темы таблицы для медвежьих ловушек.
cSup Базовый цвет для зон поддержки (пивоты нижнего уровня) и светлой темы таблицы для бычьих ловушек.
cRankA Цвет, присваиваемый сигналам с рейтингом A (наивысшая сила).
cRankB Цвет, присваиваемый сигналам с рейтингом B (умеренная сила).
cRankC Цвет, присваиваемый сигналам с рейтингом C (наименьшая сила).
sDash Включает или отключает видимость таблицы-дашборда с историческими сигналами.
dPos Расположение таблицы-дашборда на графике (верхний левый, верхний центр, верхний правый и другие варианты).
dTxtSz Размер шрифта ячеек данных внутри таблицы-дашборда.
dBgCol Основной цвет фона таблицы-дашборда.
dHdrTxt Цвет текста заголовков таблицы-дашборда.
dBrdCol Цвет внешней рамки и внутренних границ ячеек таблицы-дашборда.
dBullTx Цвет текста для индикаторов бычьих ловушек в таблице-дашборде.
dBearTx Цвет текста для индикаторов медвежьих ловушек в таблице-дашборде.
dAgeTxt Цвет текста для столбца прошедших баров (AGE) в таблице-дашборде.

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

indicator("Smart Money Bull/Bear Trap Detector", shorttitle="SMC Bull/Bear Trap Detector", overlay=true, max_boxes_count=500, max_labels_count=500)

g_piv         = "Pivot & Trap Detection Settings"
pLegs         = input.int(10, "Pivot Strength (Left/Right)", minval=2, group=g_piv, tooltip="Number of bars to left/right required to confirm pivot high/low.")
zSegs         = input.int(10, "Gradient Segments per Zone", minval=2, maxval=15, group=g_piv, tooltip="Number of dynamic box segments created per zone for fade-out.")
zLen          = input.int(35, "Base Zone Length (Bars)", minval=10, group=g_piv, tooltip="Horizontal length of pivot resistance/support gradient boxes in bars.")
useZlenExpire = input.bool(true, "Stop Detection After Zone Expiration", group=g_piv, tooltip="If enabled, stops detecting sweep signals after Base Zone Length (zLen) bars expire.")
vThresh       = input.float(1.2, "High Volume Multiplier", minval=0.5, step=0.1, group=g_piv, tooltip="Multiplier for 20-period Volume SMA for volume score.")

g_sig   = "Chart Signal Settings"
lblSz   = input.string("normal", "Signal Label Size", options=["auto", "tiny", "small", "normal", "large", "huge"], group=g_sig, tooltip="Font size of A, B, and C signal labels on price candles.")

g_col   = "Color Settings"
cRes    = input.color(#FF2E63, "Resistance (Bear Trap Zone)", group=g_col, tooltip="Base color used for resistance zones (Pivot Highs) and Bear table theme.")
cSup    = input.color(#00F5D4, "Support (Bull Trap Zone)", group=g_col, tooltip="Base color used for support zones (Pivot Lows) and Bull table theme.")
cRankA  = input.color(#FFE600, "Rank A Signal (Radiant Gold)", group=g_col, tooltip="Color assigned to Rank A (highest strength) signals.")
cRankB  = input.color(#FF9F1C, "Rank B Signal (Warm Amber)", group=g_col, tooltip="Color assigned to Rank B (moderate strength) signals.")
cRankC  = input.color(#E76F51, "Rank C Signal (Muted Rust)", group=g_col, tooltip="Color assigned to Rank C (lowest strength) signals.")

g_dash  = "Dashboard UI Settings"
sDash   = input.bool(true, "Show Dashboard", group=g_dash, tooltip="Toggle visibility of historical signals dashboard table.")
dPos    = input.string("top_right", "Dashboard Position", options=["top_left", "top_center", "top_right", "middle_left", "middle_center", "middle_right", "bottom_left", "bottom_center", "bottom_right"], group=g_dash, tooltip="Dashboard table location on chart.")
dTxtSz  = input.string("small", "Dashboard Size", options=["auto", "tiny", "small", "normal", "large", "huge"], group=g_dash, tooltip="Font size of data cells inside dashboard table.")
dHdrSz  = dTxtSz

g_dCol  = "Dashboard Color Scheme"
dBgCol  = input.color(#0B0E14, "Table Main Background Color", group=g_dCol, tooltip="Primary background color for overall table canvas.")
dHdrTxt = input.color(#94A3B8, "Header Text Color", group=g_dCol, tooltip="Text color for table headers.")
dBrdCol = input.color(#2A3447, "Table Border Color", group=g_dCol, tooltip="Color for outer frame and inner cell grid borders.")
dBullTx = input.color(#00F5D4, "Bull Trap Text Color", group=g_dCol, tooltip="Text color for Bull Trap indicators in table.")
dBearTx = input.color(#FF2E63, "Bear Trap Text Color", group=g_dCol, tooltip="Text color for Bear Trap indicators in table.")
dAgeTxt = input.color(#CBD5E1, "Age Text Color", group=g_dCol, tooltip="Text color for elapsed bar count (AGE column).")

type Pvl
    float price
    int   bIdx
    bool  isHigh
    bool  trig
    box[] boxes

type Sig
    bool   isHigh
    string rk
    int    tBar

var Pvl[] activeL = array.new<Pvl>()
var Sig[] trigS   = array.new<Sig>()

pH = ta.pivothigh(high, pLegs, pLegs)
pL = ta.pivotlow(low, pLegs, pLegs)
vMa = ta.sma(volume, 20)

f_grad(float pLvl, int sBar, bool isHigh, float bRange) =>
    box[] boxArr = array.new_box()
    int sLen = math.floor(zLen / zSegs)
    color bCol = isHigh ? cRes : cSup
    float top = isHigh ? pLvl : pLvl + bRange * 0.15
    float bot = isHigh ? pLvl - bRange * 0.15 : pLvl

    for i = 0 to zSegs - 1
        int b1 = sBar + (i * sLen)
  

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