IbnEissa Pro V2
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «indicator indicator ibneissa pro v2 for tradingview.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.