EarnWithJocker_1.1
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «earnwithjocker.pine» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
EarnWithJocker_1.1 — это многофункциональный индикатор для TradingView (Pine Script v5), отображаемый на основном графике. Он объединяет несколько модулей технического анализа: линейную регрессионную канал с опциональными уровнями Фибоначчи, обнаружение институциональных Order Block (бычьих и медвежьих), а также систему зон поддержки и сопротивления на основе пивотов и ATR.
Индикатор предоставляет визуальные элементы: линии каналов, залитые зоны, графические стрелки и метки для различных типов разворотов и пробоев. Встроена информационная панель с данными о последних Order Block, а также водяной знак и таблица с информацией о таймфрейме.
Поддерживаются пользовательские оповещения TradingView для множества событий: пробои поддержки/сопротивления, ложные пробои, движение от ключевых уровней, обнаружение Order Block и разрыв канала. Все параметры настраиваются через диалог настроек индикатора.
Настройки программы
| Настройка | Описание |
|---|---|
| input_diagonal | Диагональная поддержка — Отображение диагональной поддержки (линейная регрессия) |
| input_horizontal | Горизонтальная поддержка — Отображение горизонтальной поддержки (зоны пивотов) |
| src_lrgc | Источник линейной регрессии — Источник данных для линейной регрессии |
| len_lrgc | Длина периода — Длина периода для линейной регрессии |
| devlen_lrgc | Отклонение канала — Множитель отклонения для канала линейной регрессии |
| extendit_lrgc | Продление линий канала — Продление линий канала вправо |
| showfibo_lrgc | Показать уровни Фибоначчи — Отображение уровней Фибоначчи в канале |
| showbroken_lrgc | Показать сломанный канал — Отображение сломанного канала |
| brokencol_lrgc | Цвет сломанного канала — Цвет отображения сломанного канала |
| upcol_lrgc | Цвет восходящего тренда — Цвет восходящего тренда |
| dncol_lrgc | Цвет нисходящего тренда — Цвет нисходящего тренда |
| widt_lrgc | Толщина линий канала — Толщина линий канала |
| colors_obf | Цветовая схема Order Block — Цветовая схема Order Block (DARK или BRIGHT) |
| periods_obf | Периоды Order Block — Количество периодов для определения Order Block |
| threshold_obf | Минимальный процент движения — Минимальный процент движения для валидации Order Block |
| usewicks_obf | Диапазон High/Low для Order Block — Использовать диапазон High/Low для отметки Order Block |
| showbull_obf | Показать бычий канал — Отображение последнего бычьего канала Order Block |
| showbear_obf | Показать медвежий канал — Отображение последнего медвежьего канала Order Block |
| showdocu_obf | Показать метку документации — Отображение метки документации Order Block |
| info_pan_obf | Панель Order Block — Отображение панели последних Order Block |
| length_ex_p_conn | Длина периода пивотов — Длина периода для определения пивотов в соединителе |
| astart_ex_p_conn | Позиция A-High — Позиция A-High для экстраполированного соединителя пивотов |
| aend_ex_p_conn | Позиция B-High — Позиция B-High для экстраполированного соединителя пивотов |
| bstart_ex_p_conn | Позиция A-Low — Позиция A-Low для экстраполированного соединителя пивотов |
| bend_ex_p_conn | Позиция B-Low — Позиция B-Low для экстраполированного соединителя пивотов |
| csrc_ex_p_conn | Пользовательский источник пивотов — Использовать пользовательский источник для пивотов |
| src_ex_p_conn | Источник соединителя пивотов — Пользовательский источник для пивотов соединителя |
| watermarki_supp | Водяной знак — Отображение водяного знака автора |
| i_tableYpos_oto_supp | Вертикальная позиция водяного знака — Вертикальная позиция водяного знака |
| i_tableXpos_oto_supp | Горизонтальная позиция водяного знака — Горизонтальная позиция водяного знака |
| i_height_oto_supp | Высота водяного знака — Высота водяного знака автора |
| i_width_oto_supp | Ширина водяного знака — Ширина водяного знака |
| i_c_text_oto_supp | Цвет текста водяного знака — Цвет текста водяного знака автора |
| _bg_oto_supp | Цвет фона водяного знака — Цвет фона водяного знака автора |
| i_textSize | Размер текста водяного знака — Размер текста водяного знака |
| showTF | Показать таймфрейм — Отображение таймфрейма в таблице |
| showpf | Показать префикс заголовка — Отображение префикса заголовка в таблице |
| i_tableYpos | Вертикальная позиция таблицы — Вертикальная позиция таблицы таймфрейма |
| i_tableXpos | Горизонтальная позиция таблицы — Горизонтальная позиция таблицы таймфрейма |
| size1 | Размер основного текста — Размер основного текста в таблице таймфрейма |
| size2 | Размер дополнительного текста — Размер дополнительного текста в таблице таймфрейма |
| color | Цвет текста таймфрейма — Цвет текста в таблице таймфрейма |
| string | Подпись автора — Текст подписи автора в таблице таймфрейма |
| seperator | Разделитель — Разделитель в подписи таймфрейма |
| left | Поиск слева — Количество баров для поиска пивотов слева |
| right | Поиск справа — Количество баров для поиска пивотов справа |
| nPiv | Количество пивотов — Количество отслеживаемых пивотов |
| atrLen | Длина ATR — Длина периода для расчёта ATR в зонах |
| mult | Множитель ширины зон — Множитель ATR для ширины зон |
| per | Максимальный размер зоны — Максимальный размер зоны в процентах от цены |
| src | Источник пивотов — Источник данных для пивотов (HA, High/Low Body, High/Low) |
| alignZones | Выравнивание зон — Выравнивание зон пересечения поддержки и сопротивления |
| dhighs | Обнаружение пивотных максимумов — Обнаружение пивотных максимумов |
| dlows | Обнаружение пивотных минимумов — Обнаружение пивотных минимумов |
| detectBO | Обнаружение Breakout — Обнаружение Breakout |
| detectBD | Обнаружение Breakdown — Обнаружение Breakdown |
| breakUp | Обнаружение пробоя сопротивления — Обнаружение пробоя сопротивления (Resistance Break) |
| breakDn | Обнаружение пробоя вниз — Обнаружение пробоя вниз (Breakdown) |
| falseBull | Обнаружение ложного пробоя вниз — Обнаружение ложного пробоя вниз (False Breakdown) |
| falseBear | Обнаружение ложного пробоя вверх — Обнаружение ложного пробоя вверх (False Breakup) |
| supPush | Движение от поддержки — Обнаружение движения от поддержки |
| resPush | Движение от сопротивления — Обнаружение движения от сопротивления |
| lookback | Период обратного просмотра — Количество баров для проверки ложных пробоев |
| swing | Период свинга — Период свинга для фильтрации сигналов |
| bullCol | Цвет бычьих пивотов — Цвет бычьих пивотов |
| bearCol | Цвет медвежьих пивотов — Цвет медвежьих пивотов |
| bgTransp | Прозрачность фона зон — Прозрачность фона зон пивотов |
| bordTransp | Прозрачность границ зон — Прозрачность границ зон пивотов |
| bullBreak | Цвет бычьего пробоя — Цвет стрелок бычьего пробоя |
| bearBreak | Цвет медвежьего пробоя — Цвет стрелок медвежьего пробоя |
| bullTransp | Прозрачность бычьих пробоев — Прозрачность бычьих пробоев |
| bearTransp | Прозрачность медвежьих пробоев — Прозрачность медвежьих пробоев |
| resBreakCol | Цвет пробоя сопротивления — Цвет стрелок пробоя сопротивления |
| supBreakCol | Цвет пробоя поддержки — Цвет стрелок пробоя поддержки |
| resBreakTransp | Прозрачность пробоя сопротивления — Прозрачность стрелок пробоя сопротивления |
| supBreakTransp | Прозрачность пробоя поддержки — Прозрачность стрелок пробоя поддержки |
| falseBullCol | Цвет ложного бычьего пробоя — Цвет стрелок ложного бычьего пробоя |
| falseBearCol | Цвет ложного медвежьего пробоя — Цвет стрелок ложного медвежьего пробоя |
| falseBullTransp | Прозрачность ложного бычьего пробоя — Прозрачность ложного бычьего пробоя |
| falseBearTransp | Прозрачность ложного медвежьего пробоя — Прозрачность ложного медвежьего пробоя |
| arrowMax | Максимальная высота стрелок — Максимальная высота стрелок в пикселях для ложных пробоев |
| moveBull | Цвет движения от поддержки — Цвет стрелок движения от поддержки |
| moveBear | Цвет движения от сопротивления — Цвет стрелок движения от сопротивления |
| moveBullTransp | Прозрачность движения от поддержки — Прозрачность стрелок движения от поддержки |
| moveBearTransp | Прозрачность движения от сопротивления — Прозрачность стрелок движения от сопротивления |
| alertMode | Режим оповещений — Режим частоты оповещений |
Поиск по коду файла
indicator(title='EarnWithJocker_1.1', shorttitle='EWJ_1', overlay=true, format=format.inherit , max_bars_back=5000)
input_diagonal = input.bool(false, "Diagonal Support", group="Support", confirm=true)
input_horizontal = input.bool(false, "Horizontal Support", group="Support", confirm=true)
src_lrgc = input(defval=close, title='Source')
len_lrgc = input.int(defval=100, title='Length', minval=10)
devlen_lrgc = input.float(defval=2., title='Deviation', minval=0.1, step=0.1)
extendit_lrgc = input(defval=true, title='Extend Lines')
showfibo_lrgc = input(defval=false, title='Show Fibonacci Levels')
showbroken_lrgc = input.bool(defval=false, title='Show Broken Channel', inline='brk')
brokencol_lrgc = input.color(defval=color.blue, title='', inline='brk')
upcol_lrgc = input.color(defval=color.lime, title='Up/Down Trend Colors', inline='trcols')
dncol_lrgc = input.color(defval=color.red, title='', inline='trcols')
widt_lrgc = input(defval=2, title='Line Width')
var fibo_ratios_lrgc = array.new_float(0)
var colors_lrgc = array.new_color(2)
if barstate.isfirst and input_diagonal
array.unshift(colors_lrgc, upcol_lrgc)
array.unshift(colors_lrgc, dncol_lrgc)
array.push(fibo_ratios_lrgc, 0.236)
array.push(fibo_ratios_lrgc, 0.382)
array.push(fibo_ratios_lrgc, 0.618)
array.push(fibo_ratios_lrgc, 0.786)
get_channel_lrgc(src, len) =>
mid = math.sum(src, len) / len
slope = ta.linreg(src, len, 0) - ta.linreg(src, len, 1)
intercept = mid - slope * math.floor(len / 2) + (1 - len % 2) / 2 * slope
endy = intercept + slope * (len - 1)
dev = 0.0
for x = 0 to len - 1 by 1
dev := dev + math.pow(src[x] - (slope * (len - x) + intercept), 2)
dev
dev := math.sqrt(dev / len)
[intercept, endy, dev, slope]
[y1_, y2_, dev, slope] = get_channel_lrgc(src_lrgc, len_lrgc)
outofchannel_lrgc = slope > 0 and close < y2_ - dev * devlen_lrgc ? 0 : slope < 0 and close > y2_ + dev * devlen_lrgc ? 2 : -1
var reglines_lrgc = array.new_line(3)
var fibolines_lrgc = array.new_line(4)
for x = 0 to 2 by 1
if not showbroken_lrgc or outofchannel_lrgc != x or nz(outofchannel_lrgc[1], -1) != -1
line.delete(array.get(reglines_lrgc, x))
else
line.set_color(array.get(reglines_lrgc, x), color=brokencol_lrgc)
line.set_width(array.get(reglines_lrgc, x), width=2)
line.set_style(array.get(reglines_lrgc, x), style=line.style_dotted)
line.set_extend(array.get(reglines_lrgc, x), extend=extend.none)
array.set(reglines_lrgc, x, line.new(x1=bar_index - (len_lrgc - 1), y1=y1_ + dev * devlen_lrgc * (x - 1), x2=bar_index, y2=y2_ + dev * devlen_lrgc * (x - 1), color=array.get(colors_lrgc, math.round(math.max(math.sign(slope), 0))), style=x % 2 == 1 ? line.style_solid : line.style_dashed, width=widt_lrgc, extend=extendit_lrgc ? extend.right : extend.none))
if showfibo_lrgc
for x = 0 to 3 by 1
line.delete(array.get(fibolines_lrgc, x))
array.set(fibolines_lrgc, x, line.new(x1=bar_index - (len_lrgc - 1), y1=y1_ - dev * devlen_lrgc + dev * devlen_lrgc * 2 * array.get(fibo_ratios_lrgc, x), x2=bar_index, y2=y2_ - dev * devlen_lrgc + dev * devlen_lrgc * 2 * array.get(fibo_ratios_lrgc, x), color=array.get(colors_lrgc, math.round(math.max(math.sign(slope), 0))), style=line.style_dotted, width=widt_lrgc, extend=extendit_lrgc ? extend.right : extend.none))
var label sidelab_lrgc = label.new(x=bar_index - (len_lrgc - 1), y=y1_, text='S', size=size.large)
txt_lrgc = slope > 0 ? slope > slope[1] ? '⇑' : '⇗' : slope < 0 ? slope < slope[1] ? '⇓' : '⇘' : '⇒'
stl_lrgc = slope > 0 ? slope > slope[1] ? label.style_label_up : label.style_label_upper_right : slope < 0 ? slope < slope[1] ? label.style_label_down : label.style_label_lower_right : label.style_label_right
label.set_style(sidelab_lrgc, stl_lrgc)
label.set_text(sidelab_lrgc, txt_lrgc)
label.set_x(sidelab_lrgc, bar_index - (len_lrgc - 1))
label.set_y(sidelab_lrgc, slope > 0 ? y1_ - dev * devlen_lrgc : slope < 0 ? y1_ + dev * devlen_lrgc : y1_)
label.set_color(sidelab_lrgc, slope > 0 ? upcol_lrgc : slope < 0 ? dncol_lrgc : color.blue)
alertcondition(outofchannel_lrgc, title='Channel Broken', message='Channel Broken')
trendisup_lrgc = math.sign(slope) != math.sign(slope[1]) and slope > 0
trendisdown_lrgc = math.sign(slope) != math.sign(slope[1]) and slope < 0
alertcondition(trendisup_lrgc, title='Up trend', message='Up trend')
alertcondition(trendisdown_lrgc, title='Down trend', message='Down trend')
colors_obf = input.string(title='Color Scheme', defval='BRIGHT', options=['DARK', 'BRIGHT'])
periods_obf = input(5, 'Relevant Periods to identify OB') // Required number of subsequent candles in the same direction to identify Order Block
threshold_obf = input.float(0.0, 'Min. Percent move to identify OB', step=0.1) // Required minimum % move (from potential OB close to last subsequent candle to identify Order Block)
usewicks_obf = input(false, 'Use whole range [High/Low] for OB marking?') // Display High/Low range for each OB instead of Open/Low for Bullish / Open/High for Bearish
showbull_obf = input(true, 'Show latest Bullish Channel?') // Show Channel for latest Bullish OB?
showbear_obf = input(true, 'Show latest Bearish Channel?') // Show Channel for latest Bearish OB?
showdocu_obf = input(false, 'Show Label for documentation tooltip?') // Show Label which shows documentation as tooltip?
info_pan_obf = input(false, 'Show Latest OB Panel?') // Show Info Panel with latest OB Stats
ob_period_obf = periods_obf + 1 // Identify location of relevant Order Block candle
absmove_obf = math.abs(close[ob_period_obf] - close[1]) / close[ob_period_obf] * 100 // Calculate absolute percent move from potential OB to last candle of subsequent candles
relmove_obf = absmove_obf >= threshold_obf // Identify "Relevant move" by comparing the absolute move to the threshold
bullcolor_obf = colors_obf == 'DARK' ? color.white : color.green
bearcolor_obf = colors_obf == 'DARK' ? color.blue : color.red
bullishOB_obf = close[ob_period_obf] < open[ob_period_obf] // Determine potential Bullish OB candle (red candle)
int upcandles_obf = 0
for i = 1 to periods_obf by 1
upcandles_obf := upcandles_obf + (close[i] > open[i] ? 1 : 0) // Determine color of subsequent candles (must all be green to identify a valid Bearish OB)
upcandles_obf
OB_bull_obf = bullishOB_obf and upcandles_obf == periods_obf and relmove_obf // Identification logic (red OB candle & subsequent green candles)
OB_bull_high_obf = OB_bull_obf ? usewicks_obf ? high[ob_period_obf] : open[ob_period_obf] : na // Determine OB upper limit (Open or High depending on input)
OB_bull_low_obf = OB_bull_obf ? low[ob_period_obf] : na // Determine OB lower limit (Low)
OB_bull_avg_obf = (OB_bull_high_obf + OB_bull_low_obf) / 2 // Determine OB middle line
bearishOB_obf = close[ob_period_obf] > open[ob_period_obf] // Determine potential Bearish OB candle (green candle)
int downcandles_obf = 0
for i = 1 to periods_obf by 1
downcandles_obf := downcandles_obf + (close[i] < open[i] ? 1 : 0) // Determine color of subsequent candles (must all be red to identify a valid Bearish OB)
downcandles_obf
OB_Bear_obf = bearishOB_obf and downcandles_obf == periods_obf and relmove_obf // Identification logic (green OB candle & subsequent green candles)
OB_Bear_high_obf = OB_Bear_obf ? high[ob_period_obf] : na // Determine OB upper limit (High)
OB_Bear_low_obf = OB_Bear_obf ? usewicks_obf ? low[ob_period_obf] : open[ob_period_obf] : na // Determine OB lower limit (Open or Low depending on input)
OB_Bear_avg_obf = (OB_Bear_low_obf + OB_Bear_high_obf) / 2 // Determine OB middle line
plotshape(OB_bull_obf, title='Bullish OB', style=shape.triangleup, color=bullcolor_obf, textcolor=bullcolor_obf, size=size.tiny, location=location.belowbar, offset=-ob_period_obf, text='Bullish OB') // Bullish OB Indicator
bull1_obf = plot(OB_bull_high_obf, title='Bullish OB High', style=plot.style_linebr, color=bullcolor_obf, offset=-ob_period_obf, linewidth=3) // Bullish OB Upper Limit
bull2_obf = plot(OB_bull_low_obf, title='Bullish OB Low', style=plot.style_linebr, color=bullcolor_obf, offset=-ob_period_obf, linewidth=3) // Bullish OB Lower Limit
fill(bull1_obf, bull2_obf, color=bullcolor_obf, title='Bullish OB fill', transp=0) // Fill Bullish OB
plotshape(OB_bull_avg_obf, title='Bullish OB Average', style=shape.cross, color=bullcolor_obf, size=size.normal, location=location.absolute, offset=-ob_period_obf) // Bullish OB Average
plotshape(OB_Bear_obf, title='Bearish OB', style=shape.triangledown, color=bearcolor_obf, textcolor=bearcolor_obf, size=size.tiny, location=location.abovebar, offset=-ob_period_obf, text='Bearish OB') // Bearish OB Indicator
bear1_obf = plot(OB_Bear_low_obf, title='Bearish OB Low', style=plot.style_linebr, color=bearcolor_obf, offset=-ob_period_obf, linewidth=3) // Bearish OB Lower Limit
bear2_obf = plot(OB_Bear_high_obf, title='Bearish OB High', style=plot.style_linebr, color=bearcolor_obf, offset=-ob_period_obf, linewidth=3) // Bearish OB Upper Limit
fill(bear1_obf, bear2_obf, color=bearcolor_obf, title='Bearish OB fill', transp=0) // Fill Bearish OB
plotshape(OB_Bear_avg_obf, title='Bearish OB Average', style=shape.cross, color=bearcolor_obf, size=size.normal, location=location.absolute, offset=-ob_period_obf) // Bullish OB Average
var line linebull1_obf = na // Bullish OB average
var line linebull2_obf = na // Bullish OB open
var line linebull3_obf = na // Bullish OB low
var line linebear1_obf = na // Bearish OB average
var line linebear2_obf = na // Bearish OB high
var line linebear3_obf = na // Bearish OB open
if OB_bull_obf and showbull_obf
line.delete(linebull1_obf)
linebull1_obf := line.new(x1=bar_index, y1=OB_bull_avg_obf, x2=bar_index - 1, y2=OB_bull_avg_obf, extend=extend.left, color=bullcolor_obf, style=line.style_solid, width=1)
line.delete(linebull2_obf)
linebull2_obf := line.new(x1=bar_index, y1=OB_bull_high_obf, x2=bar_index - 1, y2=OB_bull_high_obf, extend=extend.left, color=bullcolor_obf, style=line.style_dashed, width=1)
line.delete(linebull3_obf)
linebull3_obf := line.new(x1=bar_index, y1=OB_bull_low_obf, x2=bar_index - 1, y2=OB_bull_low_obf, extend=extend.left, color=bullcolor_obf, style=line.style_dashed, width=1)
linebull3_obf
if OB_Bear_obf and showbear_obf
line.delete(linebear1_obf)
linebear1_obf := line.new(x1=bar_index, y1=OB_Bear_avg_obf, x2=bar_index - 1, y2=OB_Bear_avg_obf, extend=extend.left, color=bearcolor_obf, style=line.style_solid, width=1)
line.delete(linebear2_obf)
linebear2_obf := line.new(x1=bar_index, y1=OB_Bear_high_obf, x2=bar_index - 1, y2=OB_Bear_high_obf, extend=extend.left, color=bearcolor_obf, style=line.style_dashed, width=1)
line.delete(linebear3_obf)
linebear3_obf := line.new(x1=bar_index, y1=OB_Bear_low_obf, x2=bar_index - 1, y2=OB_Bear_low_obf, extend=extend.left, color=bearcolor_obf, style=line.style_dashed, width=1)
linebear3_obf
alertcondition(OB_bull_obf, title='New Bullish OB detected', message='New Bullish OB detected - This is NOT a BUY signal!')
alertcondition(OB_Bear_obf, title='New Bearish OB detected', message='New Bearish OB detected - This is NOT a SELL signal!')
var latest_bull_high_obf = 0.0 // Variable to keep latest Bull OB high
var latest_bull_avg_obf = 0.0 // Variable to keep latest Bull OB average
var latest_bull_low_obf = 0.0 // Variable to keep latest Bull OB low
var latest_bear_high_obf = 0.0 // Variable to keep latest Bear OB high
var latest_bear_avg_obf = 0.0 // Variable to keep latest Bear OB average
var latest_bear_low_obf = 0.0 // Variable to keep latest Bear OB low
if OB_bull_high_obf > 0
latest_bull_high_obf := OB_bull_high_obf
latest_bull_high_obf
if OB_bull_avg_obf > 0
latest_bull_avg_obf := OB_bull_avg_obf
latest_bull_avg_obf
if OB_bull_low_obf > 0
latest_bull_low_obf := OB_bull_low_obf
latest_bull_low_obf
if OB_Bear_high_obf > 0
latest_bear_high_obf := OB_Bear_high_obf
latest_bear_high_obf
if OB_Bear_avg_obf > 0
latest_bear_avg_obf := OB_Bear_avg_obf
latest_bear_avg_obf
if OB_Bear_low_obf > 0
latest_bear_low_obf := OB_Bear_low_obf
latest_bear_low_obf
plotchar(latest_bull_high_obf, char=' ', location=location.abovebar, color=color.new(#777777, 100), size=size.tiny, title='Latest Bull High')
plotchar(latest_bull_avg_obf, char=' ', location=location.abovebar, color=color.new(#777777, 100), size=size.tiny, title='Latest Bull Avg')
plotchar(latest_bull_low_obf, char=' ', location=location.abovebar, color=color.new(#777777, 100), size=size.tiny, title='Latest Bull Low')
plotchar(latest_bear_high_obf, char=' ', location=location.abovebar, color=color.new(#777777, 100), size=size.tiny, title='Latest Bear High')
plotchar(latest_bear_avg_obf, char=' ', location=location.abovebar, color=color.new(#777777, 100), size=size.tiny, title='Latest Bear Avg')
plotchar(latest_bear_low_obf, char=' ', location=location.abovebar, color=color.new(#777777, 100), size=size.tiny, title='Latest Bear Low')
draw_InfoPanel(_text, _x, _y, font_size) =>
var label la_panel = na
label.delete(la_panel)
la_panel := label.new(x=_x, y=_y, text=_text, xloc=xloc.bar_time, yloc=yloc.price, color=color.new(#383838, 5), style=label.style_label_left, textcolor=color.white, size=font_size)
la_panel
info_panel_x_obf = time_close + math.round(ta.change(time) * 100)
info_panel_y_obf = close
title_obf = 'LATEST ORDER BLOCKS'
row0_obf = '-----------------------------------------------------'
row1_obf = ' Bullish - High: ' + str.tostring(latest_bull_high_obf, '#.##')
row2_obf = ' Bullish - Avg: ' + str.tostring(latest_bull_avg_obf, '#.##')
row3_obf = ' Bullish - Low: ' + str.tostring(latest_bull_low_obf, '#.##')
row4_obf = '-----------------------------------------------------'
row5_obf = ' Bearish - High: ' + str.tostring(latest_bear_high_obf, '#.##')
row6_obf = ' Bearish - Avg: ' + str.tostring(latest_bear_avg_obf, '#.##')
row7_obf = ' Bearish - Low: ' + str.tostring(latest_bear_low_obf, '#.##')
panel_text_obf = '\n' + title_obf + '\n' + row0_obf + '\n' + row1_obf + '\n' + row2_obf + '\n' + row3_obf + '\n' + row4_obf + '\n\n' + row5_obf + '\n' + row6_obf + '\n' + row7_obf + '\n'
if info_pan_obf
draw_InfoPanel(panel_text_obf, info_panel_x_obf, info_panel_y_obf, size.normal)
chper_obf = time - time[1]
chper_obf := ta.change(chper_obf) > 0 ? chper_obf[1] : chper_obf
var vartooltip_obf = 'Indicator to help identifying instituational Order Blocks. Often these blocks signal the beginning of a strong move, but there is a high probability, that these prices will be revisited at a later point in time again and therefore are interesting levels to place limit orders. \nBullish Order block is the last down candle before a sequence of up candles. \nBearish Order Block is the last up candle before a sequence of down candles. \nIn the settings the number of required sequential candles can be adjusted. \nFurthermore a %-threshold can be entered which the sequential move needs to achieve in order to validate a relevant Order Block. \nChannels for the last Bullish/Bearish Block can be shown/hidden.'
var label l_docu = na
label.delete(l_docu)
if showdocu_obf
l_docu := label.new(x=time + chper_obf * 35, y=close, text='DOCU OB', color=color.gray, textcolor=color.white, style=label.style_label_center, xloc=xloc.bar_time, yloc=yloc.price, size=size.tiny, textalign=text.align_left, tooltip=vartooltip_obf)
l_docu
length_ex_p_conn = input(100)
astart_ex_p_conn = input(1, 'A-High Position')
aend_ex_p_conn = input(0, 'B-High Position')
bstart_ex_p_conn = input(1, 'A-Low Position')
bend_ex_p_conn = input(0, 'B-Low Position')
csrc_ex_p_conn = input(false, 'Use Custom Source ?')
src_ex_p_conn = input(close, 'Custom Source')
up_ex_p_conn = ta.pivothigh(csrc_ex_p_conn ? src_ex_p_conn : high, length_ex_p_conn, length_ex_p_conn)
dn_ex_p_conn = ta.pivotlow(csrc_ex_p_conn ? src_ex_p_conn : low, length_ex_p_conn, length_ex_p_conn)
n_ex_p_conn = bar_index
a1_ex_p_conn = ta.valuewhen(not na(up_ex_p_conn), n_ex_p_conn, astart_ex_p_conn)
b1_ex_p_conn = ta.valuewhen(not na(dn_ex_p_conn), n_ex_p_conn, bstart_ex_p_conn)
a2_ex_p_conn = ta.valuewhen(not na(up_ex_p_conn), n_ex_p_conn, aend_ex_p_conn)
b2_ex_p_conn = ta.valuewhen(not na(dn_ex_p_conn), n_ex_p_conn, bend_ex_p_conn)
line upper_ex_p_conn = line.new(n_ex_p_conn[n_ex_p_conn - a1_ex_p_conn + length_ex_p_conn], up_ex_p_conn[n_ex_p_conn - a1_ex_p_conn], n_ex_p_conn[n_ex_p_conn - a2_ex_p_conn + length_ex_p_conn], up_ex_p_conn[n_ex_p_conn - a2_ex_p_conn], extend=extend.right, color=color.blue, width=2)
line lower_ex_p_conn = line.new(n_ex_p_conn[n_ex_p_conn - b1_ex_p_conn + length_ex_p_conn], dn_ex_p_conn[n_ex_p_conn - b1_ex_p_conn], n_ex_p_conn[n_ex_p_conn - b2_ex_p_conn + length_ex_p_conn], dn_ex_p_conn[n_ex_p_conn - b2_ex_p_conn], extend=extend.right, color=color.orange, width=2)
line.delete(upper_ex_p_conn[1])
line.delete(lower_ex_p_conn[1])
label ahigh_ex_p_conn = label.new(n_ex_p_conn[n_ex_p_conn - a1_ex_p_conn + length_ex_p_conn], up_ex_p_conn[n_ex_p_conn - a1_ex_p_conn], 'A-High', color=color.blue, style=label.style_label_down, textcolor=color.white, size=size.small)
label bhigh_ex_p_conn = label.new(n_ex_p_conn[n_ex_p_conn - a2_ex_p_conn + length_ex_p_conn], up_ex_p_conn[n_ex_p_conn - a2_ex_p_conn], 'B-High', color=color.blue, style=label.style_label_down, textcolor=color.white, size=size.small)
label alow_ex_p_conn = label.new(n_ex_p_conn[n_ex_p_conn - b1_ex_p_conn + length_ex_p_conn], dn_ex_p_conn[n_ex_p_conn - b1_ex_p_conn], 'A-Low', color=color.orange, style=label.style_label_up, textcolor=color.white, size=size.small)
label blow_ex_p_conn = label.new(n_ex_p_conn[n_ex_p_conn - b2_ex_p_conn + length_ex_p_conn], dn_ex_p_conn[n_ex_p_conn - b2_ex_p_conn], 'B-Low', color=color.orange, style=label.style_label_up, textcolor=color.white, size=size.small)
label.delete(ahigh_ex_p_conn[1])
label.delete(bhigh_ex_p_conn[1])
label.delete(alow_ex_p_conn[1])
label.delete(blow_ex_p_conn[1])
plot(up_ex_p_conn, 'Pivot High\'s', color.new(color.blue, 0), 4, style=plot.style_circles, offset=-length_ex_p_conn, join=true)
plot(dn_ex_p_conn, 'Pivot Low\'s', color.new(color.orange, 0), 4, style=plot.style_circles, offset=-length_ex_p_conn, join=true)
watermarki_supp = input.bool(true, "Watermark", group="Author Sign") //confirm=true)
string i_tableYpos_oto_supp = input.string("top", "Position", inline = "12", options = ["top", "middle", "bottom"])
string i_tableXpos_oto_supp = input.string("right", "", inline = "12", options = ["left", "center", "right"])
int i_height_oto_supp = input.int(7, "Height", minval = 1, maxval = 100, inline = "13")
int i_width_oto_supp = input.int(30, "Width", minval = 1, maxval = 100, inline = "13a")
color i_c_text_oto_supp = input.color(color.new(color.white, 0), "", inline = "14")
color _bg_oto_supp = input.color(color.new(color.blue, 70), "", inline = "14")
string i_textSize = input.string("normal", "Size", inline = "14", options = ["tiny", "small", "normal", "large", "huge", "auto"])
i_text2_supp = "EarnWithKoKo"
i_text1_supp = "When using the indicator EarnWithKoKo thank you"
var table watermark_supp = table.new(i_tableYpos_oto_supp + "_" + i_tableXpos_oto_supp, 1, 1)
if barstate.islast and watermarki_supp
varip bool _changeText_supp = true
_changeText_supp := not _changeText_supp
string _txt_supp = _changeText_supp ? i_text2_supp : i_text1_supp
table.cell(watermark_supp, 0, 0, i_text2_supp, i_width_oto_supp, i_height_oto_supp, i_c_text_oto_supp, text_size = i_textSize, bgcolor = _bg_oto_supp)
showTF = input.bool(true, "show time frame", inline = "24")
showpf = input.bool(true, "show prefix title", inline = "24")
string i_tableYpos = input.string("bottom", "Position", inline = "12", options = ["top", "middle", "bottom"])
string i_tableXpos = input.string("center", "", inline = "12", options = ["left", "center", "right"])
size1 = input.string("huge", "title", inline = "14", options = ["tiny", "small", "normal", "large", "huge", "auto"])
size2 = input.string("auto", "extra", inline = "14", options = ["tiny", "small", "normal", "large", "huge", "auto"])
color = input.color(#999999, "color")
string = input.string("by EarnWithKoKo", "your signature")
seperator = input.string("/", "seperator")
cur = syminfo.currency
base = syminfo.basecurrency
exchange = syminfo.prefix
getTimeFrame() =>
tf = timeframe.multiplier
tfstr = ""
if timeframe.isseconds
tfstr := "s"
if timeframe.isminutes
if tf >= 60
tf := tf / 60
tfstr := "h"
else
tfstr := "m"
if timeframe.isdaily
tfstr := "D"
if timeframe.isweekly
tfstr := "W"
if timeframe.ismonthly
tfstr := "M"
[tfstr, str.tostring(tf)]
var table table1 = table.new(i_tableYpos + "_" + i_tableXpos , 3, 1)
if barstate.islast
str1 = base + seperator + cur
[tf, period] = getTimeFrame()
table.cell(table1, 0, 0, showpf ? exchange : "", text_color = color, text_size=size2)
table.cell(table1, 1, 0, str1 + (showTF ? (" " + period + tf) : ""), text_color = color, text_size=size1)
table.cell(table1, 2, 0, string, text_color = color, text_size=size2)
leftTip = "Look left for swing high/low in x number of bars to form pivot" Показано первые 50% кода (символов: 31144)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.