0% ont trouvé ce document utile (0 vote)
3 vues6 pages

DTP Pro

Ce document est un script de trading écrit en Pine Script pour TradingView, qui calcule et affiche des niveaux de déviation standard basés sur une moyenne mobile simple (SMA) et l'Average True Range (ATR). Il permet de visualiser des profils de distribution de tendance et d'identifier les tendances à l'aide de formes et de couleurs. Les utilisateurs peuvent personnaliser les paramètres tels que la longueur de la SMA, le nombre de bacs pour le profil de tendance et les couleurs des éléments graphiques.

Transféré par

valoczi.norbert
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues6 pages

DTP Pro

Ce document est un script de trading écrit en Pine Script pour TradingView, qui calcule et affiche des niveaux de déviation standard basés sur une moyenne mobile simple (SMA) et l'Average True Range (ATR). Il permet de visualiser des profils de distribution de tendance et d'identifier les tendances à l'aide de formes et de couleurs. Les utilisateurs peuvent personnaliser les paramètres tels que la longueur de la SMA, le nombre de bacs pour le profil de tendance et les couleurs des éléments graphiques.

Transféré par

valoczi.norbert
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

//@version=6

indicator("DTP", overlay = true, max_boxes_count = 500, max_bars_back = 5000)

// INPUTS
―――――――――――――――――――――――――――――――――――――――――
―――――――――――――――――――――――――――――――――――――――――
――――――――――――――――――――――{

grp = "Standart Deviation Levels"

length = [Link](50, "SMA Length", group = "SMA")

mult1 = [Link](1, "Standart Deviation 1", group = grp)

mult2 = [Link](2, "Standart Deviation 2", group = grp)

mult3 = [Link](3, "Standart Deviation 3", group = grp)

show_tp = [Link](true, "Show", group = "Trend Distribution Profile")

bins = [Link](50, "Bins Amount", group = "Trend Distribution Profile")

offset = [Link](30, "Offset", group = "Trend Distribution Profile")

col_up = [Link]([Link](18, 209, 235), "", group = "Theme", inline = "c")

col_dn = [Link]([Link](250, 40, 86), "", group = "Theme", inline = "c")

var start_index = int(na)

var trend = bool(na)

// }

// CALCULATIONS
―――――――――――――――――――――――――――――――――――――――――
―――――――――――――――――――――――――――――――――――――――――
――――――――――――{

avg = [Link](close, length)

atr = [Link](200)

stdv1 = avg + atr * mult1

stdv2 = avg + atr * mult2

stdv3 = avg + atr * mult3

stdv_1 = avg - atr * mult1

stdv_2 = avg - atr * mult2

stdv_3 = avg - atr * mult3

max = stdv3

min = stdv_3

avg_diff = avg - avg[5]

avg_col = avg_diff / ta.percentile_linear_interpolation(avg_diff, 500, 100)

avg_color = color.from_gradient(avg_col, -0.3, 0.3, col_dn, col_up)

if [Link](avg_col, 0.1) and not trend

trend := true

start_index := bar_index

if [Link](avg_col, -0.1) and trend


trend := false

start_index := bar_index

loockback = bar_index - start_index

profile(min, max)=>

var boxes = [Link]<box>()

var bin = [Link]<int>(bins)

step = (max - min) / bins

start = bar_index + offset

if [Link]

if [Link]() >=0

for b in boxes

[Link](b)

for g = 0 to bins-1

[Link](g, 0)

for l = 0 to loockback

c = close[l]

a = avg[l]

mi = min[l]
s = step[l]

for i = 0 to [Link]()-1

lower = mi + s * i

upper = lower + s

if c >= lower-s and c <= upper+s

[Link](i, [Link](i) + 1)

for j = 0 to [Link]()-1

val = [Link](j)

lower = min + step * j

upper = lower + step

col = color.from_gradient(val, 0, [Link](), [Link](chart.fg_color, 80),


avg_color)

[Link]([Link](start-val, upper, start, lower, bgcolor = col, border_color = val


== 0 ? chart.fg_color : chart.bg_color))

[Link]([Link](start, max, [Link](loockback), textcolor = chart.fg_color,


color = [Link](avg_color, 80), tooltip = [Link](loockback) + " bars back beginnig
of the trend")[1])

draw_stdv(src, mult, mid = false)=>


if [Link]

if mid

[Link]([Link](bar_index, avg, bar_index+5, avg, color = avg_color, width =


2)[1])

[Link]([Link](bar_index, src, bar_index+5, src, color = chart.fg_color, width =


2)[1])

[Link]([Link](bar_index+5, src, color = [Link](chart.fg_color, 100),


textcolor = chart.fg_color, text = mult, style = label.style_label_left)[1])

// }

// PLOT
―――――――――――――――――――――――――――――――――――――――――
―――――――――――――――――――――――――――――――――――――――――
――――――――――――――――――――――――――{

draw_stdv(stdv1, "+1", true)

draw_stdv(stdv2, "+2")

draw_stdv(stdv3, "+3")

draw_stdv(stdv_1, "-1")

draw_stdv(stdv_2, "-2")

draw_stdv(stdv_3, "-3")

if show_tp

profile(min, max)

plot(avg, color = avg_color, linewidth = 3)


plotshape(trend != trend[1] and trend ? avg : na, "Up", [Link], [Link],
size = [Link], color = col_up)

plotshape(trend != trend[1] and trend ? avg : na, "Up", [Link], [Link],


size = [Link], color = [Link](col_up, 50))

plotshape(trend != trend[1] and not trend ? avg : na, "Down", [Link],


[Link], size = [Link], color = col_dn)

plotshape(trend != trend[1] and not trend ? avg : na, "Down", [Link],


[Link], size = [Link], color = [Link](col_dn, 50))

// }

Vous aimerez peut-être aussi