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

Supertrend Bands

supertrend bands_5976621784668052073.pine
Вы автор или правообладатель?

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

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

О программе

Supertrend Bands — это индикатор для TradingView, написанный на Pine Script v5. Он отображает на графике несколько трендовых полос на основе усреднённого истинного диапазона (ATR) с четырьмя различными множителями, позволяя визуализировать трендовые зоны и их пересечения ценой.

Индикатор рисует линии трендовых уровней, заполняет области между ними, меняет цвета полос в зависимости от направления тренда и отображает точки переключения тренда. Также включает функцию рисования зигзага и уровней Фибоначчи между ключевыми точками разворота (pivot high / pivot low).

Настройки включают период и множители ATR, количество баров для подтверждения тренда, параметры цветов и заливок для каждой из четырёх полос, а также опции отображения зигзага, Фибоначчи и цвета свечей.

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

НастройкаОписание
STB SuperTrend+ Cleaned Bands — Включает или отключает отображение полос SuperTrend+ Cleaned Bands
atrPeriod Period — Количество баров, используемых для расчёта значения ATR
atrM1 Multiplier 1 — Множитель, используемый при определении верхнего и нижнего предела трендовой полосы (первый множитель)
atrM2 Multiplier 2 — Множитель, используемый при определении верхнего и нижнего предела трендовой полосы (второй множитель)
atrM3 Multiplier 3 — Множитель, используемый при определении верхнего и нижнего предела трендовой полосы (третий множитель)
atrM4 Multiplier 4 — Множитель, используемый при определении верхнего и нижнего предела трендовой полосы (четвёртый множитель)
maxDev Maximum Deviation — Максимальное значение истинного диапазона (волатильности), при котором бар не считается выбросом
devM StdDev Multiplier — Коэффициент стандартного отклонения, добавляемый к истинному диапазону
closeBars Closed Bars — Количество закрытых баров, которые должны превышать значение супертренда перед подтверждением разворота тренда
tf Indicator Timeframe — Таймфрейм индикатора (выбор из списка: Current, 5min, 15min, 30min, 1H, 2H и другие)
dcol1 Band 1 Color (Down) — Цвет линии нижней границы первой полосы
ucol1 Band 1 Color (Up) — Цвет линии верхней границы первой полосы
dfill1 Band 1 Fill (Down) — Цвет заливки нижней зоны первой полосы
ufill1 Band 1 Fill (Up) — Цвет заливки верхней зоны первой полосы
dcol2 Band 2 Color (Down) — Цвет линии нижней границы второй полосы
ucol2 Band 2 Color (Up) — Цвет линии верхней границы второй полосы
dfill2 Band 2 Fill (Down) — Цвет заливки нижней зоны второй полосы
ufill2 Band 2 Fill (Up) — Цвет заливки верхней зоны второй полосы
dcol3 Band 3 Color (Down) — Цвет линии нижней границы третьей полосы
ucol3 Band 3 Color (Up) — Цвет линии верхней границы третьей полосы
dfill3 Band 3 Fill (Down) — Цвет заливки нижней зоны третьей полосы
ufill3 Band 3 Fill (Up) — Цвет заливки верхней зоны третьей полосы
dcol4 Band 4 Color (Down) — Цвет линии нижней границы четвёртой полосы
ucol4 Band 4 Color (Up) — Цвет линии верхней границы четвёртой полосы
colorUp Up Color — Цвет отображения элементов при восходящем тренде
colorDown Down Color — Цвет отображения элементов при нисходящем тренде
dfill4 Band 4 Fill (Down) — Цвет заливки нижней зоны четвёртой полосы
ufill4 Band 4 Fill (Up) — Цвет заливки верхней зоны четвёртой полосы
i_bc Bar Colors? — Включает или отключает окрашивание свечей в зависимости от тренда
i_bt Bar Color Transparency — Уровень прозрачности цвета свечей
c1 Bear Color 1 — Цвет свечей при медвежьем тренде (основной цвет)
c2 Bear Color 2 — Цвет свечей при медвежьем тренде (дополнительный оттенок)
c3 Bear Color 3 — Цвет свечей при медвежьем тренде (дополнительный оттенок)
c4 Bear Color 4 — Цвет свечей при медвежьем тренде (дополнительный оттенок)
c5 Bull Color 1 — Цвет свечей при бычьем тренде (основной цвет)
c6 Bull Color 2 — Цвет свечей при бычьем тренде (дополнительный оттенок)
c7 Bull Color 3 — Цвет свечей при бычьем тренде (дополнительный оттенок)
c8 Bull Color 4 — Цвет свечей при бычьем тренде (дополнительный оттенок)
show_zigzag Show zigzag — Отображение зигзага между ключевыми точками разворота
show_fib Show fibonacci — Отображение уровней Фибоначчи между ключевыми точками разворота
textColorH Pivot High Text Color — Цвет текста метки для точки Pivot High
labelColorH Pivot High Label Color — Цвет метки для точки Pivot High
textColorL Pivot Low Text Color — Цвет текста метки для точки Pivot Low
labelColorL Pivot Low Label Color — Цвет метки для точки Pivot Low
Получить полный код

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

indicator("Supertrend Bands", overlay=true, max_bars_back = 500)

import Electrified/MovingAverages/2 as MA
import Electrified/SupportResitanceAndTrend/2 as SRT

ATR = "Average True Range", CONFIRM = "Confirmation", DISPLAY = "Display"
STB = input.bool(true, title = "SuperTrend+ Cleaned Bands", group = ATR)
atrPeriod = input.int(1440, "Period", group=ATR, tooltip="The number of bars to use in calculating the ATR value.")
atrM1 = input.float(0.618, "Multiplier", step=0.5, group=ATR, tooltip="The multiplier used when defining the super trend limits.")
atrM2 = input.float(2.618, "Multiplier", step=0.5, group=ATR, tooltip="The multiplier used when defining the super trend limits.")
atrM3 = input.float(3.618, "Multiplier", step=0.5, group=ATR, tooltip="The multiplier used when defining the super trend limits.")
atrM4 = input.float(4.618, "Multiplier", step=0.5, group=ATR, tooltip="The multiplier used when defining the super trend limits.")
maxDev = input.float(2, "Maximum Deviation", minval=0, group=ATR, tooltip="The maximum true range (volatility) before considered an outlier.")
devM = input.float(1, "StdDev Multilplier", minval=0, group=ATR, tooltip="The amount of standard deviation added to the true range.")

closeBars = input.int(10, "Closed Bars", minval = 0, group=CONFIRM, tooltip="The number of closed bars that have to exceed the super-trend value before the trend reversal is confirmed.")

superTrend(m, p, closeBars) =>
    [t, u, d, un, w, r] = SRT.superTrendCleaned(m, p, closeBars, devM, maxDev)
    [t, u, d, un]

[trend1, STCup1, STCdn1, unconfirmed1] = superTrend(atrM1, atrPeriod, closeBars)
[trend2, STCup2, STCdn2, unconfirmed2] = superTrend(atrM2, atrPeriod, closeBars)
[trend3, STCup3, STCdn3, unconfirmed3] = superTrend(atrM3, atrPeriod, closeBars)
[trend4, STCup4, STCdn4, unconfirmed4] = superTrend(atrM4, atrPeriod, closeBars)

tf = input.string('Current', '???? Indicator Timeframe', options=['Current', '5min', '15min', '30min', '1H', '2H', '3H', '4H', '12H', '1D', '2D', '3D', '4D', '1W', '2W', '1M', '2M', '3M'], tooltip='This is designed for looking at higher timeframes. Choosing lower timeframes may give inaccurate results')

tfmenu = tf == 'Current' ? '' : tf == '5min' ? '5' : tf == '15min' ? '15' : tf == '30min' ? '30' : tf == '1H' ? '60' : tf == '2H' ? '120' : tf == '3H' ? '180' : tf == '4H' ? '240' : tf == '12H' ? '720' : tf == '1D' ? 'D' : tf == '2D' ? '2D' : tf == '3D' ? '3D' : tf == '4D' ? '4D' : tf == '1W' ? 'W' : tf == '2W' ? '2W' : tf == '1M' ? 'M' : tf == '2M' ? '2M' : tf == '3M' ? '3M' : na
fills = true //input.bool(true, 'Fills? | ', inline='opts')
anti = true //input.bool(true, 'Remove Anti-trend? | ', inline='opts')
lwidth = '3' //input.string('1', 'Linewidth', options=['1', '2', '3', '4'], inline='opts')

var stwidth = lwidth == '1' ? 1 : lwidth == '2' ? 2 : lwidth == '3' ? 3 : lwidth == '4' ? 4 : na

b1 = STB //input.bool(true, 'Band 1 | ', inline='b1', group='Lengths and Multipliers ????')
len1 = 1440 //input.int(10, 'Length', inline='b1', group='Lengths and Multipliers ????')
mult1 = 1.0 //input.float(1, 'Mult', inline='b1', group='Lengths and Multipliers ????')

b2 = STB //input.bool(true, 'Band 2 | ', inline='b2', group='Lengths and Multipliers ????')
len2 = 1440 //input.int(11, 'Length', inline='b2', group='Lengths and Multipliers ????')
mult2 = 2 //input.float(1.25, 'Mult', inline='b2', group='Lengths and Multipliers ????')

b3 = STB //input.bool(true, 'Band 3 | ', inline='b3', group='Lengths and Multipliers ????')
len3 = 1440 //input.int(12, 'Length', inline='b3', group='Lengths and Multipliers ????')
mult3 = 3 //input.float(1.5, 'Mult', inline='b3', group='Lengths and Multipliers ????')

b4 = STB //input.bool(true, 'Band 4 | ', inline='b4', group='Lengths and Multipliers ????')
len4 = 1440 //input.int(13, 'Length', inline='b4', group='Lengths and Multipliers ????')
mult4 = 4 //input.float(1.75, 'Mult', inline='b4', group='Lengths and Multipliers ????')

dcol1 = input.color(color.new(#e20404, 0), 'Band 1 Color', inline='c1', group='Colors and Fills ????')
ucol1 = input.color(color.new(#00cc9c, 0), '', inline='c1', group='Colors and Fills ????')

dfill1 = input.color(color.new(#e20404, 90), ' | Fills', inline='c1', group='Colors and Fills ????')
ufill1 = input.color(color.new(#00cc9c, 90), '', inline='c1', group='Colors and Fills ????')

dcol2 = input.color(color.new(#fb3131, 0), 'Band 2 Color', inline='c2', group='Colors and Fills ????')
ucol2 = input.color(color.new(#00e3ff, 0), '', inline='c2', group='Colors and Fills ????')

dfill2 = input.color(color.new(#fb3131, 90), ' | Fills', inline='c2', group='Colors and Fills ????')
ufill2 = input.color(color.new(#00e3ff, 90), '', inline='c2', group='Colors and Fills ????')

dcol3 = input.color(color.new(#f5459e, 0), 'Band 3 Color', inline='c3', group='Colors and Fills ????')
ucol3 = input.color(color.new(#008dff, 0), '', inline='c3', group='Colors and Fills ????')

dfill3 = input.color(color.new(#f5459e, 90), ' | Fills', inline='c3', group='Colors and Fills ????')
ufill3 = input.color(color.new(#008dff, 90), '', inline='c3', group='Colors and Fills ????')

dcol4 = input.color(color.new(#e02dff, 0), 'Band 4 Color', inline='c4', group='Colors and Fills ????')
ucol4 = input.color(color.new(#5000ff, 0), '', inline='c4', group='Colors and Fills ????')

colorUp = input.color(#00ffbb, title="Up Color")
colorDown = input.color(#ff1100, title="Down Color")

dfill4 = input.color(color.new(#e02dff, 90), ' | Fills', inline='c4', group='Colors and Fills ????')
ufill4 = input.color(color.new(#5000ff, 90), '', inline='c4', group='Colors and Fills ????')

i_bc = input.bool(false, 'Bar Colors?', inline='bc', group='Bar Colors ????')
i_bt = input.int(30, '| Transparency', inline='bc', group='Bar Colors ????')

res11 = trend1 == 1 and trend1 == trend1[1]
sup1 = trend1 == -1 and trend1 == trend1[1]

res12 = trend2 == 1 and trend2 == trend2[1]
sup2 = trend2 == -1 and trend2 == trend2[1]

res13 = trend3 == 1 and trend3 == trend3[1]
sup3 = trend3 == -1 and trend3 == trend3[1]

res14 = trend4 == 1 and trend4 == trend4[1]
sup4 = trend4 == -1 and trend4 == trend4[1]

cond1 = anti ? close < STCdn4 : res11 and b1
cond2 = anti ? close > STCup4 : sup1 and b1

cond3 = anti ? close < STCdn4 : res12 and b1
cond4 = anti ? close > STCup4 : sup2 and b1

cond5 = anti ? close < STCdn4 : res13 and b1
cond6 = anti ? close > STCup4 : sup3 and b1

hl = plot(ohlc4, display=display.none, editable=false)

b1p1 = plot(STB and res11 and b1 and cond2 ? STCup1 : na, color=unconfirmed1==0?ucol1:color.yellow, linewidth=stwidth, style=plot.style_linebr, editable=false)

fill(b1p1, hl, close, STCup1, color.new(chart.bg_color, 5000), color.lime)

b1p2 = plot(STB and sup1 and b1 and cond1 ? STCdn1 : na, color=unconfirmed1==0?dcol1:color.yellow, linewidth=stwidth, style=plot.style_linebr, editable=false)

fill(b1p2, hl, close, STCdn1, color.new(chart.bg_color, 5000), #fe0100)

b2p1 = plot(STB and res12 and b2 and cond4 ? STCup2 : na, color=unconfirmed2==0?ucol2:color.yellow, linewidth=stwidth, style=plot.style_linebr, editable=false)

b2p2 = plot(STB and sup2 and b2 and cond3 ? STCdn2 : na, color=unconfirmed2==0?dcol2:color.yellow, linewidth=stwidth, style=plot.style_linebr, editable=false)

c1 = 

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

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

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

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

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

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

Стоимость полного кода
1 225₽ ≈ $14.97