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

IbnEissa Pro V2

indicator indicator ibneissa pro v2 for tradingview.pine

Похожие материалы по тегам

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

IbnEissa Pro V2 — это индикатор для TradingView, написанный на Pine Script v6. Он отображает анализ непосредственно на графике цены, рисуя линии, метки и зоны поверх свечей. Индикатор определяет локальные вершины и дна, строит на их основе уровни поддержки и сопротивления, а также целевые уровни по коэффициентам Фибоначчи.

В работе используются расчёты RSI, скользящая средняя объёма и ATR для оценки активности рынка. Отображаются зоны предложения и спроса, уровни Call Entry и Put Entry, динамичные линии поддержки и сопротивления, а также потенциальные ловушки. Мультитаймфреймный анализ RSI (5 минут, 15 минут, 1 час, 4 часа, дневной) показывается через отдельную таблицу.

Индикатор включает информационные таблицы с ключевыми показателями: текущее значение RSI, сила объёма, статус подготовки, сигнал, вершина и дно, лучшее направление контракта, направление SMC и дельта объёма. Настроены условные оповещения для сигналов подготовки и ловушек. Все отображаемые данные основаны на стандартных средствах Pine Script без внешних источников данных.

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

НастройкаОписание
offset_lines Задаёт горизонтальное смещение линий вправо от точки построения
offset_labels Задаёт горизонтальное смещение текстовых меток влево от точки построения
title_bg Устанавливает цвет фона заголовочных ячеек информационных таблиц
font_opt Выбирает размер шрифта для текстовых меток, отображаемых на графике
show_ob Включает или отключает отображение зон предложения и спроса на графике
ob_bull_color Задаёт цвет заливки зон спроса (покупки)
ob_bear_color Задаёт цвет заливки зон предложения (продажи)
ob_transp Управляет степенью прозрачности зон спроса и предложения
quiet_market_threshold Пороговое значение ATR, при котором рынок считается тихим и зоны предложения/спроса не отображаются
show_dynamic_sr Включает или отключает отображение динамичных линий поддержки и сопротивления
dynamic_sr_len Задаёт максимальное количество хранимых вершин и дна для построения динамичных уровней поддержки и сопротивления
sr_support_color Задаёт цвет линий динамичной поддержки
sr_resist_color Задаёт цвет линий динамичного сопротивления
sr_line_style Выбирает стиль отображения динамичных линий поддержки и сопротивления
sr_line_width Устанавливает толщину динамичных линий поддержки и сопротивления
show_pivot_sr Включает или отключает отображение основных линий поддержки и сопротивления
pivot_line_color Задаёт цвет основных линий поддержки и сопротивления, проводимых от вершин и дна
pivot_line_style Выбирает стиль отображения основных линий поддержки и сопротивления
pivot_line_width Устанавливает толщину основных линий поддержки и сопротивления
show_targets Включает или отключает отображение целевых уровней по коэффициентам Фибоначчи
target_up_color Задаёт цвет линий и меток восходящих целевых уровней, рассчитанных от дна
target_down_color Задаёт цвет линий и меток нисходящих целевых уровней, рассчитанных от вершины
target_line_width Устанавливает толщину линий целевых уровней Фибоначчи
show_call_entry Включает или отключает отображение уровня Call Entry на графике
show_put_entry Включает или отключает отображение уровня Put Entry на графике
call_entry_color Задаёт цвет линии и текстовой метки уровня Call Entry на графике
put_entry_color Задаёт цвет линии и текстовой метки уровня Put Entry на графике
entry_line_width Устанавливает толщину линий входа Call Entry и Put Entry
show_traps Включает или отключает отображение меток ловушек на графике
trap_color Задаёт цвет меток и маркеров ловушек на графике
fib1 Первый коэффициент Фибоначчи для расчёта восходящих целевых уровней от дна
fib2 Второй коэффициент Фибоначчи для расчёта целевых уровней от дна и вершины
fib3 Третий коэффициент Фибоначчи для расчёта целевых уровней от дна и вершины
rsi_len Задаёт период расчёта индикатора RSI, используемого в анализе
vol_ma_len Задаёт период скользящей средней объёма, используемой для анализа силы торгов
strong_vol_mult Множитель объёма, используемый для определения сильного объёмного сигнала при формировании зон и ловушек
table_pos1 Задаёт позицию основной информационной таблицы на графике
table_pos2 Задаёт позицию таблицы с данными RSI по таймфреймам на графике
swing_len Задаёт период для определения локальных вершин и дна на графике
Получить полный код

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

indicator("IbnEissa Pro V2", shorttitle="IbnEissaV2", overlay=true, max_lines_count=500, max_labels_count=500)

offset_lines = input.int(15, "Line offset right", minval=5, maxval=100)
offset_labels = input.int(20, "Label offset left", minval=5, maxval=150)
title_bg = input.color(color.navy, "Table background color")

font_opt = input.string("Normal", "Font size", options=["Tiny", "Small", "Normal", "Large", "Huge"])
get_font() =>
    if font_opt == "Tiny"
        size.tiny
    else if font_opt == "Small"
        size.small
    else if font_opt == "Normal"
        size.normal
    else if font_opt == "Large"
        size.large
    else
        size.huge

show_ob = input.bool(true, "Show supply/demand zones")
ob_bull_color = input.color(color.new(color.green, 80), "Buy zones color")
ob_bear_color = input.color(color.new(color.red, 80), "Sell zones color")
ob_transp = input.int(70, "Zones transparency", minval=10, maxval=90)
quiet_market_threshold = input.float(0.1, "Quiet market threshold", minval=0.05, maxval=0.5)

show_dynamic_sr = input.bool(true, "Show dynamic support/resistance")
dynamic_sr_len = input.int(5, "Number of highs/lows", minval=2, maxval=20)
sr_support_color = input.color(color.green, "Dynamic support line color")
sr_resist_color = input.color(color.red, "Dynamic resistance line color")
sr_line_style = input.string("dashed", "Line style", options=["solid", "dashed", "dotted"])
sr_line_width = input.int(1, "Line width", minval=1, maxval=5)

show_pivot_sr = input.bool(true, "Show main support/resistance lines")
pivot_line_color = input.color(color.gray, "Main lines color")
pivot_line_style = input.string("dashed", "Main line style", options=["solid", "dashed", "dotted"])
pivot_line_width = input.int(1, "Main line width", minval=1, maxval=5)

show_targets = input.bool(true, "Show side targets")
target_up_color = input.color(color.teal, "Up target color")
target_down_color = input.color(color.maroon, "Down target color")
target_line_width = input.int(1, "Target line width", minval=1, maxval=5)

show_call_entry = input.bool(true, "Show Call Entry")
show_put_entry = input.bool(true, "Show Put Entry")
call_entry_color = input.color(color.blue, "Call Entry color")
put_entry_color = input.color(color.orange, "Put Entry color")
entry_line_width = input.int(2, "Entry line width", minval=1, maxval=5)

show_traps = input.bool(true, "Show traps")
trap_color = input.color(color.purple, "Trap color")

fib1 = input.float(1.272, "Target 1")
fib2 = input.float(1.618, "Target 2")
fib3 = input.float(2.618, "Target 3")

rsi_len = input.int(14, "RSI period")
vol_ma_len = input.int(20, "Volume MA period")
strong_vol_mult = input.float(1.5, "Volume multiplier for strong signal")

table_pos1 = input.string("top_right", "Main table position", options=["top_right", "top_left", "bottom_right", "bottom_left"])
table_pos2 = input.string("bottom_right", "Timeframe table position", options=["top_right", "top_left", "bottom_right", "bottom_left"])

rsi = ta.rsi(close, rsi_len)
avg_vol = ta.sma(volume, vol_ma_len)
atr10 = ta.atr(10)
atr20 = ta.atr(20)
atr_ma = ta.sma(atr20, 20)
is_quiet_market = atr20 < atr_ma * quiet_market_threshold

swing_len = input.int(10, "Pivot period")
highest_high = ta.highest(high, swing_len * 2)
lowest_low = ta.lowest(low, swing_len * 2)

new_high = high == highest_high and high > high[1]
new_low = low == lowest_low and low < low[1]

var float pivot_high = na
var float pivot_low = na
var int pivot_bar = na

if new_high
    pivot_high := high
    pivot_bar := bar_index
if new_low
    pivot_low := low
    pivot_bar := bar_index

var line pivot_support_line = na
var line pivot_resist_line = na
var line call_entry_line = na
var label call_entry_label = na
var line put_entry_line = na
var label put_entry_label = na
var line up1_line = na
var label up1_label = na
var line up2_line = na
var label up2_label = na
var line up3_line = na
var label up3_label = na
var line down1_line = na
var label down1_label = na
var line down2_line = na
var label down2_label = na
var line down3_line = na
var label down3_label = na
var box ob_box = na

if not na(pivot_high) and not na(pivot_low) and pivot_high > pivot_low
    diff = pivot_high - pivot_low
    off = offset_lines
    left = offset_labels
    fsz = get_font()

    if show_pivot_sr
        if na(pivot_support_line)
            pivot_support_line := line.new(pivot_bar, pivot_low, pivot_bar + off, pivot_low,
                                          color=color.new(pivot_line_color, 70), width=pivot_line_width,
                                          style=pivot_line_style == "solid" ? line.style_solid : line.style_dashed)
        else
            line.set_xy1(pivot_support_line, pivot_bar, pivot_low)
            line.set_xy2(pivot_support_line, pivot_bar + off, pivot_low)

        if na(pivot_resist_line)
            pivot_resist_line := line.new(pivot_bar, pivot_high, pivot_bar + off, pivot_high,
                                         color=color.new(pivot_line_color, 70), width=pivot_line_width,
                                         style=pivot_line_style == "solid" ? line.style_solid : line.style_dashed)
        else
            line.set_xy1(pivot_resist_line, pivot_bar, pivot_high)
            line.set_xy2(pivot_resist_line, pivot_bar + off, pivot_high)

    if show_call_entry
        if na(call_entry_line)
            call_entry_line := line.new(pivot_bar, pivot_low, pivot_bar + off, pivot_low,
                                        color=call_entry_color, width=entry_line_width)
            call_entry_label := label.new(pivot_bar + off, pivot_low,
                                          "Call Entry " + str.tostring(pivot_low, format.mintick),
                                          color=color.new(call_entry_color, 80), textcolor=color.white,
                                          style=label.style_label_right, size=size.small)
        else
            line.set_xy1(call_entry_line, pivot_bar, pivot_low)
            line.set_xy2(call_entry_line, pivot_bar + off, pivot_low)
            label.set_xy(call_entry_label, pivot_bar + off, pivot_low)
            label.set_text(call_entry_label, "Call Entry " + str.tostring(pivot_low, format.mintick))

    if show_put_entry
        if na(put_entry_line)
            put_entry_line := line.new(pivot_bar, pivot_high, pivot_bar + off, pivot_high,
                                       color=put_entry_color, width=entry_line_width)
            put_entry_label := label.new(pivot_bar + off, pivot_high,
                                         "Put Entry " + str.tostring(pivot_high, format.mintick),
                                         color=color.new(put_entry_color, 80), textcolor=color.white,
                                         style=label.style_label_right, size=size.small)
        else
            line.set_xy1(put_entry_line, pivot_bar, pivot_high)
            line.set_xy2(put_entry_line, pivot_bar + off, pivot_high)
            label.set_xy(put_entry_label, pivot_bar + off, pivot_high)
            label.set_text(put_entry_label, "Put Entry " + str.tostring(pivot_high, format.mintick))

    if show_targets
        t1 = pivot_low + diff * fib1
        t2 = pivot_low + diff * fib2
        t3 = pivot_low + diff * fib3

        if na(up1_line)
            up1_line := line.new(pivot_bar, t1, pivot_bar + off, t1,
                                 color=target_up_color, width=target_line_width)
            up1_label := label.new(pivot_bar - left, t1,
                                   "1 | " + str.tostring(t1, format.mintick),
                                   color=color.new(target_up_color, 80), textcolor=target_up_color,
                                   style=label.style_label_left, size=fsz)
        else
            line.set_xy1(up1_line, pivot_bar, t1)
            line.set_xy2(up1_line, pivot_bar + off, t1)
            label.set_xy(up1_label, pivot_bar - left, t1)
            label.set_text(up1_label, "1 | " + str.tostring(t1, format.mintick))

        if na(up2_line)
            up2_line := line.new(pivot_bar, t2, pivot_bar + off, t2,
                                 color=target_up_color, width=target_line_width)
            up2_label := label.new(pivot_bar - left, t2,
                                   "2 | " + str.tostring(t2, format.mintick),
                                   color=color.new(target_up_color, 80), textcolor=target_up_color,
                                   style=label.style_label_left, size=fsz)
        else
            line.set_xy1(up2_line, pivot_bar, t2)
            line.set_xy2(up2_line, pivot_bar + off, t2)
            label.set_xy(up2_label, pivot_bar - left, t2)
            label.set_text(up2_label, "2 | " + str.tostring(t2, format.mintick))

        if na(up3_line)
            up3_line := line.new(pivot_bar, t3, pivot_bar + off, t3,
                                 color=target_up_color, width=target_line_width)
            up3_label := label.new(pivot_bar - left, t3,
                                   "3 | " + str.tostring(t3, format.mintick),
                                   color=color.new(target_up_color, 80), textcolor=target_up_color,
                                   style=label.style_label_left, size=fsz)
        else
            line.set_xy1(up3_line, pivot_bar, t3)
            line.set_xy2(up3_line, pivot_bar + off, t3)
            label.set_xy(up3_label, pivot_bar - left, t3)
            label.set_text(up3_label, "3 | " + str.tostring(t3, format.mintick))

        t1d = pivot_high - diff * fib1
        t2d = pivot_high - diff * fib2
        t3d = pivot_high - diff * fib3

        if na(down1_line)
            down1_line := line.new(pivot_bar, t1d, pivot_bar + off, t1d,
                                   color=target_down_color, width=target_line_width)
            down1_label := label.new(pivot_bar - left, t1d,
                                     "1 | " + str.tostring(t1d, format.mintick),
                                     color=color.new(target_down_color, 80), textcolor=target_down_color,
                                     style=label.style_label_left, size=fsz)
        else
            line.set_xy1(down1_line, pivot_bar, t1d)
            line.set_xy2(down1_line, pivot_bar + off, t1d)
            label.set_xy(down1_label, pivot_bar - left, t1d)
            label.set_text(down1_label, "1 | " + str.tostring(t1d, format.mintick))

        if na(down2_line)
            down2_line := line.new(pivot_bar, t2d, pivot_bar + off, t2d,
                                   color=target_down_color, width=target_line_width)
            down2_label := label.new(pivot_bar - left, t2d,
                                     "2 | " + str.tostring(t2d, format.mintick),
                                     color=color.new(target_down_color, 80), textcolor=target_down_color,
                                     style=label.style_label_left, size=fsz)
        else
            line.set_xy1(down2_line, pivot_bar, t2d)
            line.set_xy2(down2_line, pivot_bar + off, t2d)
            label.set_xy(down2_label, pivot_bar - left, t2d)
            label.set_text(down2_label, "2 | " + str.tostring(t2d, format.mintick))

        if na(down3_line)
            down3_line := line.new(pivot_bar, t3d, pivot_bar + off, t3

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

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

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

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

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

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

Стоимость полного кода
1 711,70₽ ≈ $20.92