Dynamic SMC & Market Structure PRO
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «indicator_dynamic_smc_&_market_structure_pro_for_tradingview.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Dynamic SMC & Market Structure PRO — это индикатор для TradingView, написанный на Pine Script версии 6. Он отображается на графике цены (overlay = true) и предназначен для визуального анализа рыночной структуры. Индикатор рассчитывает технические показатели средствами Pine Script и получает данные дневного таймфрейма через request.security().
В состав отображаемых элементов входят: метки крупных свинговых максимумов и минимумов, линии структуры BOS и CHoCH, динамические зоны предложения и спроса, уровни PDH и PDL, уровни сессионных максимумов и минимумов, а также линия равновесия 0.5 по Фибоначчи. Дополнительно выводится информационная панель с текущим состоянием структуры, зоны цены и количества активных зон.
Все параметры настраиваются через панель входных данных: можно включать и отключать отдельные блоки, менять цвета, чувствительность расчётов, максимальное число зон и прозрачность. Индикатор не является торговым советником и не выполняет симуляцию сделок — это инструмент визуального анализа и отображения.
Настройки программы
| Настройка | Описание |
|---|---|
| show_major_swings | Включает отображение меток крупных свинговых максимумов и минимумов. |
| major_len | Чувствительность поиска крупных свинговых экстремумов (количество баров слева и справа). |
| c_major_hh | Цвет меток крупных свинговых максимумов. |
| c_major_hl | Цвет меток крупных свинговых минимумов. |
| show_smc | Включает отображение линий структуры BOS и CHoCH. |
| smc_len | Чувствительность определения структуры (длина пивота для BOS/CHoCH). |
| c_bull_smc | Цвет линий и меток бычьей структуры (BOS/CHoCH вверх). |
| c_bear_smc | Цвет линий и меток медвежьей структуры (BOS/CHoCH вниз). |
| show_zones | Включает отображение динамических зон предложения и спроса. |
| max_zones | Максимальное количество одновременно отображаемых активных зон с каждой стороны. |
| zone_opacity | Степень прозрачности заливки зон предложения и спроса (0–100). |
| c_supply_zone | Цвет заливки и границ зон предложения. |
| c_demand_zone | Цвет заливки и границ зон спроса. |
| show_pdh_pdl | Включает отображение активных уровней предыдущего дневного максимума и минимума. |
| c_pdh | Цвет линии и метки предыдущего дневного максимума (PDH). |
| c_pdl | Цвет линии и метки предыдущего дневного минимума (PDL). |
| show_sessions | Включает отображение линий максимума и минимума азиатской сессии. |
| c_asia | Цвет линий максимума и минимума азиатской сессии. |
| merge_dist_pips | Порог расстояния в пипсах (или долларах для золота), ниже которого линии сессий не отображаются рядом с уровнями PDH/PDL. |
| show_eq | Включает отображение линии равновесия 0.5 по Фибоначчи. |
| eq_len | Количество баров для расчёта диапазона линии равновесия 0.5. |
| c_eq | Цвет линии равновесия 0.5 по Фибоначчи. |
| show_panel | Включает отображение информационной панели с состоянием структуры и зон. |
Поиск по коду файла
indicator("Dynamic SMC & Market Structure PRO", "Dynamic SMC PRO", overlay = true, max_lines_count = 500, max_boxes_count = 100, max_labels_count = 500)
g_major = "===== MAJOR SWING EXTREMES (SHAPES ONLY) ====="
show_major_swings = input.bool(true, "Show Major Swing High/Low Shapes", group=g_major)
major_len = input.int(20, "Major Swing Lookback Sensitivity", minval=5, maxval=100, group=g_major)
c_major_hh = input.color(#ff1744, "Major High Color (Red Shape)", group=g_major)
c_major_hl = input.color(#00e676, "Major Low Color (Green Shape)", group=g_major)
g_smc = "===== SMART MONEY STRUCTURE (BOS & CHOCH) ====="
show_smc = input.bool(true, "Show BOS & CHoCH Lines", group=g_smc)
smc_len = input.int(8, "Structure Sensitivity (Pivot Length)", minval=3, group=g_smc)
c_bull_smc = input.color(#00e676, "Bullish Structure Color", group=g_smc)
c_bear_smc = input.color(#ff1744, "Bearish Structure Color", group=g_smc)
g_zones = "===== DYNAMIC SUPPLY & DEMAND ZONES ====="
show_zones = input.bool(true, "Show Dynamic Supply & Demand Zones", group=g_zones)
max_zones = input.int(4, "Max Active Zones Per Side", minval=1, maxval=10, group=g_zones)
zone_opacity = input.int(80, "Zone Transparency (0-100)", minval=0, maxval=100, group=g_zones)
c_supply_zone = input.color(#ff1744, "Supply Zone Color", group=g_zones)
c_demand_zone = input.color(#00e676, "Demand Zone Color", group=g_zones)
g_pdh = "===== AUTO-DISAPPEARING PDH & PDL ====="
show_pdh_pdl = input.bool(true, "Show Active PDH / PDL", group=g_pdh)
c_pdh = input.color(#00e5ff, "PDH Color", group=g_pdh)
c_pdl = input.color(#ffea00, "PDL Color", group=g_pdh)
g_sess = "===== AUTO-DISAPPEARING SESSION HIGHS & LOWS ====="
show_sessions = input.bool(true, "Show Session High/Low Lines", group=g_sess)
c_asia = input.color(#29b6f6, "Asia High/Low Color", group=g_sess)
merge_dist_pips = input.float(15.0, "Clutter Distance Threshold (Pips / Gold $)", minval=1.0, group=g_sess)
g_fib = "===== FIBONACCI 0.5 EQUILIBRIUM LEVEL ====="
show_eq = input.bool(true, "Show 0.5 Equilibrium Line", group=g_fib)
eq_len = input.int(35, "Equilibrium Lookback Range", minval=10, group=g_fib)
c_eq = input.color(#e040fb, "0.5 EQ Color", group=g_fib)
g_panel = "===== DASHBOARD PANEL ====="
show_panel = input.bool(true, "Show Information Panel", group=g_panel)
atrVal = ta.atr(14)
pip_threshold = merge_dist_pips * syminfo.mintick * (syminfo.type == "forex" ? 10 : 100)
major_ph = ta.pivothigh(high, major_len, major_len)
major_pl = ta.pivotlow(low, major_len, major_len)
if show_major_swings and not na(major_ph)
label.new(bar_index - major_len, high[major_len] + (atrVal * 0.3), "", color=c_major_hh, style=label.style_label_down, size=size.tiny)
if show_major_swings and not na(major_pl)
label.new(bar_index - major_len, low[major_len] - (atrVal * 0.3), "", color=c_major_hl, style=label.style_label_up, size=size.tiny)
smc_ph = ta.pivothigh(high, smc_len, smc_len)
smc_pl = ta.pivotlow(low, smc_len, smc_len)
var float last_smc_ph = na
var int last_smc_ph_idx = na
var float last_smc_pl = na
var int last_smc_pl_idx = na
var int trend_direction = 0
if not na(smc_ph)
last_smc_ph := smc_ph
last_smc_ph_idx := bar_index - smc_len
if not na(smc_pl)
last_smc_pl := smc_pl
last_smc_pl_idx := bar_index - smc_len
if show_smc and not na(last_smc_ph) and ta.crossover(close, last_smc_ph)
string tag_text = trend_direction == -1 ? "CHoCH" : "BOS"
line.new(last_smc_ph_idx, last_smc_ph, bar_index, last_smc_ph, color=c_bull_smc, style=line.style_dashed, width=1)
label.new(math.floor((last_smc_ph_idx + bar_index) / 2), last_smc_ph, tag_text, color=color.new(#000000, 100), textcolor=c_bull_smc, style=label.style_label_down, size=size.small)
trend_direction := 1
last_smc_ph := na
if show_smc and not na(last_smc_pl) and ta.crossunder(close, last_smc_pl)
string tag_text = trend_direction == 1 ? "CHoCH" : "BOS"
line.new(last_smc_pl_idx, last_smc_pl, bar_index, last_smc_pl, color=c_bear_smc, style=line.style_dashed, width=1)
label.new(math.floor((last_smc_pl_idx + bar_index) / 2), last_smc_pl, tag_text, color=color.new(#000000, 100), textcolor=c_bear_smc, style=label.style_label_up, size=size.small)
trend_direction := -1
last_smc_pl := na
var box[] supply_boxes = array.new_box()
var box[] demand_boxes = array.new_box()
zone_ph = ta.pivothigh(high, 6, 6)
zone_pl = ta.pivotlow(low, 6, 6)
if show_zones and not na(zone_ph)
box new_sup = box.new(left=bar_index - 6, top=high[6], right=bar_index + 12, bottom=math.max(open[6], close[6]), border_color=c_supply_zone, bgcolor=color.new(c_supply_zone, zone_opacity), text="SUPPLY", text_color=color.white, text_size=size.tiny, text_halign=text.align_right)
array.push(supply_boxes, new_sup)
if array.size(supply_boxes) > max_zones
box.delete(array.shift(supply_boxes))
if show_zones and not na(zone_pl)
box new_dem = box.new(left=bar_index - 6, top=math.min(open[6], close[6]), right=bar_index + 12, bottom=low[6], border_color=c_demand_zone, bgcolor=color.new(c_demand_zone, zone_opacity), text="DEMAND", text_color=color.black, text_size=size.tiny, text_halign=text.align_right)
array.push(demand_boxes, new_dem)
if array.size(demand_boxes) > max_zones
box.delete(array.shift(demand_boxes))
if show_zones and array.size(supply_boxes) Показано первые 50% кода (символов: 9156)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.