<Скрипты для TradingView>

  • Автор темы Автор темы FxMen
  • Дата начала Дата начала
Версия 1 и версия 2 индикатороа ложатся друг на друга (не отличаются)

Вот же код стандартного подвального , совершенно небольшой ,с мтф внутри
Из него следует сделать канальный, единственно верный
Тогда я смогу вас рекомендовать


//@version=6
indicator("Williams Percent Range", shorttitle="Williams %R", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
length = input(title="Length", defval=14)
src = input(close, "Source")
_pr(length) =>
max = ta.highest(length)
min = ta.lowest(length)
100 * (src - max) / (max - min)
percentR = _pr(length)
obPlot = hline(-20, title="Upper Band", color=#787B86)
hline(-50, title="Middle Level", linestyle=hline.style_dotted, color=#787B86)
osPlot = hline(-80, title="Lower Band", color=#787B86)
fill(obPlot, osPlot, title="Background", color=color.rgb(126, 87, 194, 90))
plot(percentR, title="%R", color=#7E57C2)
 

Вложения

Версия 1 и версия 2 индикатороа ложатся друг на друга (не отличаются)

Вот же код стандартного подвального , совершенно небольшой ,с мтф внутри
Из него следует сделать канальный, единственно верный
Тогда я смогу вас рекомендовать


//@version=6
indicator("Williams Percent Range", shorttitle="Williams %R", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
length = input(title="Length", defval=14)
src = input(close, "Source")
_pr(length) =>
max = ta.highest(length)
min = ta.lowest(length)
100 * (src - max) / (max - min)
percentR = _pr(length)
obPlot = hline(-20, title="Upper Band", color=#787B86)
hline(-50, title="Middle Level", linestyle=hline.style_dotted, color=#787B86)
osPlot = hline(-80, title="Lower Band", color=#787B86)
fill(obPlot, osPlot, title="Background", color=color.rgb(126, 87, 194, 90))
plot(percentR, title="%R", color=#7E57C2)
Вам и здесь никто ничего не хочет дать. )))

FF.jpg
 
AICTRPD.jpg
 

Вложения

Не работают LWMA линии можете найти причину?



// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at Mozilla Public License, version 2.0
// © ChartPrime
//@version=5
indicator("MA Multi-Timeframe [ChartPrime]", overlay = true, max_bars_back = 4000, max_polylines_count = 100)

// --------------------------------------------------------------------------------------------------------------------}
// 𝙐𝙎𝙀𝙍 𝙄𝙉𝙋𝙐𝙏𝙎
// --------------------------------------------------------------------------------------------------------------------{
int length = input.int(20, "Length", inline = "-1")
float source = input.source(close, "", inline = "-1")
string typeMA0 = input.string(title = "MA1 >>", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline ="0")
string typeMA1 = input.string(title = "MA2 >>", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline="1")
string typeMA2 = input.string(title = "MA3 >>", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline="2")
string typeMA3 = input.string(title = "MA4 >>", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline="3")
string ma_tf0 = input.timeframe("360", "", inline="0")
string ma_tf1 = input.timeframe("D", "", inline="1")
string ma_tf2 = input.timeframe("W", "", inline="2")
string ma_tf3 = input.timeframe("M", "", inline="3")
string styleMA0 = input.string(title = "", defval = "Solid", options=["Solid", "Dotted", "Dashed"], inline="0")
string styleMA1 = input.string(title = "", defval = "Solid", options=["Solid", "Dotted", "Dashed"], inline="1")
string styleMA2 = input.string(title = "", defval = "Solid", options=["Solid", "Dotted", "Dashed"], inline="2")
string styleMA3 = input.string(title = "", defval = "Solid", options=["Solid", "Dotted", "Dashed"], inline="3")

color color0 = input.color(#1bc6dd, "", inline="0")
color color1 = input.color(#1b8fdd, "", inline="1")
color color2 = input.color(#6f1bdd, "", inline="2")
color color3 = input.color(#dd1bc3, "", inline="3")

// --------------------------------------------------------------------------------------------------------------------}
// 𝙄𝙉𝘿𝙄𝘾𝘼𝙏𝙊𝙍 𝘾𝘼𝙇𝘾𝙐𝙇𝘼𝙏𝙄𝙊𝙉𝙎
// --------------------------------------------------------------------------------------------------------------------{
request(tf, expression)=>
request.security(syminfo.tickerid, tf, expression[1], lookahead = barmerge.lookahead_on)
var tbl = table.new(position.top_right, 10, 10,
bgcolor = color.new(color.gray, 90),
frame_color = color.gray,
frame_width = 2,
border_color = color.new(color.gray, 80),
border_width = 1)
table_cell(row, txt, tf, trend, color)=>
table.cell(tbl, 0, 0, "MA Type:", text_color = chart.fg_color)
table.cell(tbl, 1, 0, "Timeframe:", text_color = chart.fg_color)
table.cell(tbl, 2, 0, "Price:", text_color = chart.fg_color)
table.cell(tbl, 0, row, "🞛 " + txt, text_color = color)
table.cell(tbl, 1, row, tf, text_color = color)
table.cell(tbl, 2, row, trend ? "⮙" : "⮛", text_color = trend ? color.lime : color.fuchsia, text_size = size.large)

ma(tf, color, type, extend, styleMA, cell)=>
color color_ = color.new(color, 85)
string style = switch styleMA
"Solid" => line.style_solid
"Dashed"=> line.style_dashed
"Dotted"=> line.style_dotted
series float expression = switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
series float ma = request(tf, expression)
line.delete(
line.new(bar_index, ma, bar_index+extend, ma, color = color, style = style)[1]
)
line.delete(
line.new(bar_index, ma, bar_index+extend, ma, color = color_, style = style, width = 5)[1]
)
label.delete(
label.new(bar_index+extend, ma, type + ": " + tf,
style = label.style_diamond,
color = color_,
textcolor = chart.fg_color,
size = size.small
)[1]
)
label.delete(
label.new(bar_index+extend, ma,
style = label.style_diamond,
color = color,
size = size.tiny
)[1]
)
if barstate.islast
cp = array.new<chart.point>()

for i = 0 to 4000
cp.push(chart.point.from_index(bar_index, ma))
polyline.delete(polyline.new(cp, curved = false, line_color = color, line_style = style)[1])
polyline.delete(polyline.new(cp, curved = false, line_color = color_, line_style = style, line_width = 5)[1])
table_cell(cell, type, tf, close > ma, color)

// --------------------------------------------------------------------------------------------------------------------}
// 𝙑𝙄𝙎𝙐𝘼𝙇𝙄𝙕𝘼𝙏𝙄𝙊𝙉
// --------------------------------------------------------------------------------------------------------------------{
ma(ma_tf0, color0, typeMA0, 15, styleMA0, 1)
ma(ma_tf1, color1, typeMA1, 30, styleMA1, 2)
ma(ma_tf2, color2, typeMA2, 45, styleMA2, 3)
ma(ma_tf3, color3, typeMA3, 60, styleMA3, 4)
// --------------------------------------------------------------------------------------------------------------------}
 
Последнее редактирование модератором:
Хочешь прославиться?
Cделай стандартные индикаторы со стандартными настройками(не пропуская ни строчки)
Как в любом мобильном терминале МТ4- 5
Вот их то и не хватает на Trading View
 
Не работают LWMA линии можете найти причину?



// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at Mozilla Public License, version 2.0
// © ChartPrime
//@version=5
indicator("MA Multi-Timeframe [ChartPrime]", overlay = true, max_bars_back = 4000, max_polylines_count = 100)

// --------------------------------------------------------------------------------------------------------------------}
// 𝙐𝙎𝙀𝙍 𝙄𝙉𝙋𝙐𝙏𝙎
// --------------------------------------------------------------------------------------------------------------------{
int length = input.int(20, "Length", inline = "-1")
float source = input.source(close, "", inline = "-1")
string typeMA0 = input.string(title = "MA1 >>", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline ="0")
string typeMA1 = input.string(title = "MA2 >>", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline="1")
string typeMA2 = input.string(title = "MA3 >>", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline="2")
string typeMA3 = input.string(title = "MA4 >>", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], inline="3")
string ma_tf0 = input.timeframe("360", "", inline="0")
string ma_tf1 = input.timeframe("D", "", inline="1")
string ma_tf2 = input.timeframe("W", "", inline="2")
string ma_tf3 = input.timeframe("M", "", inline="3")
string styleMA0 = input.string(title = "", defval = "Solid", options=["Solid", "Dotted", "Dashed"], inline="0")
string styleMA1 = input.string(title = "", defval = "Solid", options=["Solid", "Dotted", "Dashed"], inline="1")
string styleMA2 = input.string(title = "", defval = "Solid", options=["Solid", "Dotted", "Dashed"], inline="2")
string styleMA3 = input.string(title = "", defval = "Solid", options=["Solid", "Dotted", "Dashed"], inline="3")

color color0 = input.color(#1bc6dd, "", inline="0")
color color1 = input.color(#1b8fdd, "", inline="1")
color color2 = input.color(#6f1bdd, "", inline="2")
color color3 = input.color(#dd1bc3, "", inline="3")

// --------------------------------------------------------------------------------------------------------------------}
// 𝙄𝙉𝘿𝙄𝘾𝘼𝙏𝙊𝙍 𝘾𝘼𝙇𝘾𝙐𝙇𝘼𝙏𝙄𝙊𝙉𝙎
// --------------------------------------------------------------------------------------------------------------------{
request(tf, expression)=>
request.security(syminfo.tickerid, tf, expression[1], lookahead = barmerge.lookahead_on)
var tbl = table.new(position.top_right, 10, 10,
bgcolor = color.new(color.gray, 90),
frame_color = color.gray,
frame_width = 2,
border_color = color.new(color.gray, 80),
border_width = 1)
table_cell(row, txt, tf, trend, color)=>
table.cell(tbl, 0, 0, "MA Type:", text_color = chart.fg_color)
table.cell(tbl, 1, 0, "Timeframe:", text_color = chart.fg_color)
table.cell(tbl, 2, 0, "Price:", text_color = chart.fg_color)
table.cell(tbl, 0, row, "🞛 " + txt, text_color = color)
table.cell(tbl, 1, row, tf, text_color = color)
table.cell(tbl, 2, row, trend ? "⮙" : "⮛", text_color = trend ? color.lime : color.fuchsia, text_size = size.large)

ma(tf, color, type, extend, styleMA, cell)=>
color color_ = color.new(color, 85)
string style = switch styleMA
"Solid" => line.style_solid
"Dashed"=> line.style_dashed
"Dotted"=> line.style_dotted
series float expression = switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
series float ma = request(tf, expression)
line.delete(
line.new(bar_index, ma, bar_index+extend, ma, color = color, style = style)[1]
)
line.delete(
line.new(bar_index, ma, bar_index+extend, ma, color = color_, style = style, width = 5)[1]
)
label.delete(
label.new(bar_index+extend, ma, type + ": " + tf,
style = label.style_diamond,
color = color_,
textcolor = chart.fg_color,
size = size.small
)[1]
)
label.delete(
label.new(bar_index+extend, ma,
style = label.style_diamond,
color = color,
size = size.tiny
)[1]
)
if barstate.islast
cp = array.new<chart.point>()

for i = 0 to 4000
cp.push(chart.point.from_index(bar_index, ma))
polyline.delete(polyline.new(cp, curved = false, line_color = color, line_style = style)[1])
polyline.delete(polyline.new(cp, curved = false, line_color = color_, line_style = style, line_width = 5)[1])
table_cell(cell, type, tf, close > ma, color)

// --------------------------------------------------------------------------------------------------------------------}
// 𝙑𝙄𝙎𝙐𝘼𝙇𝙄𝙕𝘼𝙏𝙄𝙊𝙉
// --------------------------------------------------------------------------------------------------------------------{
ma(ma_tf0, color0, typeMA0, 15, styleMA0, 1)
ma(ma_tf1, color1, typeMA1, 30, styleMA1, 2)
ma(ma_tf2, color2, typeMA2, 45, styleMA2, 3)
ma(ma_tf3, color3, typeMA3, 60, styleMA3, 4)
// --------------------------------------------------------------------------------------------------------------------}
Проблема с отсутствием LWMA линий в вашем индикаторе связана с тем, что в коде не реализована обработка этого типа скользящей средней.
 
Дружище, вы когда на ТВ берёте индикатор, вы разве не смотрите его характеристики?
У данного автора там по-ему всё прописывается, и код там без ошибок, а вы опять выложили код с ошибками.
 

Вложения

  • MMT.jpg
    MMT.jpg
    152,3 КБ · Просмотры: 29
Хочешь прославиться?
Cделай стандартные индикаторы со стандартными настройками(не пропуская ни строчки)
Как в любом мобильном терминале МТ4- 5
Вот их то и не хватает на Trading View
В TradingView для мобильного есть почти все стандартные индикаторы из MT4/MT5, но их нужно искать под правильными названиями.
 
Хорошо-LWMA нашли
----------------------------------------

В Энвелопесе цена движется в 3 раза быстрее его линий конверта
Где этот множитель в коде?
--------------------------------------
второй вопрос
У всех ли подвальных осцилляторов центральная линия осцилятора равна мувингу 28?
-------------------------------------------

//@version=6
indicator(title="Envelope", shorttitle="Env", overlay=true, timeframe="", timeframe_gaps=true)
len = input.int(20, title="Length", minval=1)
percent = input(10.0, "Percent")
src = input(close, title="Source")
exponential = input(false, "Exponential")
basis = exponential ? ta.ema(src, len) : ta.sma(src, len)
k = percent/100.0
upper = basis * (1 + k)
lower = basis * (1 - k)
plot(basis, "Basis", color=#FF6D00)
u = plot(upper, "Upper", color=#2962FF)
l = plot(lower, "Lower", color=#2962FF)
fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background")
 
Хорошо-LWMA нашли
----------------------------------------

В Энвелопесе цена движется в 3 раза быстрее его линий конверта
Где этот множитель в коде?
--------------------------------------
второй вопрос
У всех ли подвальных осцилляторов центральная линия осцилятора равна мувингу 28?
-------------------------------------------

//@version=6
indicator(title="Envelope", shorttitle="Env", overlay=true, timeframe="", timeframe_gaps=true)
len = input.int(20, title="Length", minval=1)
percent = input(10.0, "Percent")
src = input(close, title="Source")
exponential = input(false, "Exponential")
basis = exponential ? ta.ema(src, len) : ta.sma(src, len)
k = percent/100.0
upper = basis * (1 + k)
lower = basis * (1 - k)
plot(basis, "Basis", color=#FF6D00)
u = plot(upper, "Upper", color=#2962FF)
l = plot(lower, "Lower", color=#2962FF)
fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background")

Ответ на первый вопрос:​

В коде индикатора Envelope множитель, который определяет, насколько цена движется быстрее линий конверта, задаётся параметром percent.

Формула для верхней и нижней линий:

pinescript

Copy

Download
upper = basis * (1 + k)
lower = basis * (1 - k)
где k = percent / 100.0.

Если цена движется в 3 раза быстрее, чем линии конверта, это означает, что:

  • Когда цена поднимается на X%, верхняя линия поднимается на X/3%.
  • Соответственно, множитель k должен быть 1/3 от движения цены.
Где это в коде?
В данном коде нет явного указания на множитель "3", но если подразумевается, что percent = 10.0, то:

  • k = 0.1 (10% / 100).
  • Если цена изменится на 30%, то верхняя линия изменится на 10% (то есть в 3 раза медленнее).
Вывод:
Множитель "3" не прописан явно, но он может быть выведен из соотношения percent и фактического движения цены. Если нужно, чтобы линии конверта реагировали в 3 раза медленнее, то percent должен быть в 3 раза меньше, чем амплитуда колебаний цены.


Ответ на второй вопрос:​

Нет, не у всех осцилляторов центральная линия равна мувингу 28.

В вашем коде Envelope центральная линия (basis) — это либо SMA(20), либо EMA(20) (в зависимости от выбора пользователя).

Однако в некоторых осцилляторах (например, MACD, Stochastic RSI, CCI) центральная линия может быть:

  • Нулевой (как в MACD).
  • 50 (как в RSI).
  • Динамической (как в Bollinger Bands, где это SMA).
Примеры:

  1. MACD – центральная линия 0 (не мувинг).
  2. Stochastic – обычно 20 и 80 (уровни перекупленности/перепроданности), но центральная линия может быть 50 или скользящей.
  3. CCI – центральная линия 0.
Вывод:
Только в некоторых осцилляторах центральная линия может быть мувингом (например, в Bollinger Bands – это SMA), но не обязательно с периодом 28. В вашем коде Envelope это SMA/EMA с длиной len (по умолчанию 20).
 

Ответ на первый вопрос:​

В коде индикатора Envelope множитель, который определяет, насколько цена движется быстрее линий конверта, задаётся параметром percent.

Формула для верхней и нижней линий:

pinescript

Copy

Download
upper = basis * (1 + k)
lower = basis * (1 - k)
где k = percent / 100.0.

Если цена движется в 3 раза быстрее, чем линии конверта, это означает, что:

  • Когда цена поднимается на X%, верхняя линия поднимается на X/3%.
  • Соответственно, множитель k должен быть 1/3 от движения цены.
Где это в коде?
В данном коде нет явного указания на множитель "3", но если подразумевается, что percent = 10.0, то:

  • k = 0.1 (10%

Ответ на первый вопрос:​

В коде индикатора Envelope множитель, который определяет, насколько цена движется быстрее линий конверта, задаётся параметром percent.

Формула для верхней и нижней линий:

pinescript

Copy

Download
upper = basis * (1 + k)
lower = basis * (1 - k)
где k = percent / 100.0.

Если цена движется в 3 раза быстрее, чем линии конверта, это означает, что:

  • Когда цена поднимается на X%, верхняя линия поднимается на X/3%.
  • Соответственно, множитель k должен быть 1/3 от движения цены.
Где это в коде?
В данном коде нет явного указания на множитель "3", но если подразумевается, что percent = 10.0, то:

  • k = 0.1 (10% / 100).
  • Если цена изменится на 30%, то верхняя линия изменится на 10% (то есть в 3 раза медленнее).
Вывод:
Множитель "3" не прописан явно, но он может быть выведен из соотношения percent и фактического движения цены. Если нужно, чтобы линии конверта реагировали в 3 раза медленнее, то percent должен быть в 3 раза меньше, чем амплитуда колебаний цены.
ОтНетОтНе

В вашем коде Envelope центральная линия (basis) — это либо SMA(20), либо EMA(20) (в зависимости от выбора пользователя).

Однако в некоторых осцилляторах (например, MACD, Stochastic RSI, CCI) центральная линия может быть:

  • Нулевой (как в MACD).
  • 50 (как в RSI).
  • Динамической (как в Bollinger Bands, где это SMA).
Примеры:

  1. MACD – центральная линия 0 (не мувинг).
  2. Stochastic – обычно 20 и 80 (уровни перекупленности/перепроданности), но центральная линия может быть 50 или скользящей.
  3. CCI – центральная линия 0.
Вывод:
Только в некоторых осцилляторах центральная линия может быть мувингом (например, в Bollinger Bands – это SMA), но не обязательно с периодом 28. В вашем коде Envelope это SMA/EMA с длиной len (по умолчанию 20).
Хорошо что вы разобрались что есть еще одна настройка в стандартном индикаторе ENVelope
Без нее все обречены на провал
Удивите народ
Это будет ваш прогресс
Прогресс ограничен скоростью

Тот кто знает с чего начать всегда достигает цели
 
Последнее редактирование:
Проясните как сделать ускорение в 4 раза а не 3
Какую цифру сменить в коде на какую
Провентелируйте тему

???????????????
???????????
??????

Ответ на первый вопрос:​

В коде индикатора Envelope множитель, который определяет, насколько цена движется быстрее линий конверта, задаётся параметром percent.

Формула для верхней и нижней линий:

pinescript

Copy

Download
upper = basis * (1 + k)
lower = basis * (1 - k)
где k = percent / 100.0.

Если цена движется в 3 раза быстрее, чем линии конверта, это означает, что:

  • Когда цена поднимается на X%, верхняя линия поднимается на X/3%.
  • Соответственно, множитель k должен быть 1/3 от движения цены.
Где это в коде?
В данном коде нет явного указания на множитель "3", но если подразумевается, что percent = 10.0, то:

  • k = 0.1 (10% / 100).
  • Если цена изменится на 30%, то верхняя линия изменится на 10% (то есть в 3 раза медленнее).
Вывод:
Множитель "3" не прописан явно, но он может быть выведен из соотношения percent и фактического движения цены. Если нужно, чтобы линии конверта реагировали в 3 раза медленнее, то percent должен быть в 3 раза меньше, чем амплитуда колебаний цены.
 

Посмотрели (940) Посмотреть

Назад
Верх