PROTECTED SOURCE SCRIPT
Majkl Manzalovic

//version=5
indicator("Majkl Manzalovic", overlay=true, max_lines_count=500)
// ── Inputs ─────────────────────────────────────────
grpB = "Osnovno"
src = input.source(open, "Izvor (za VWAP dev.)", group=grpB)
resetMode = input.string("Dnevno", "VWAP reset", options=["Dnevno","Nedeljno","Mesečno","Nikad"], group=grpB)
// Senčenje isključeno po difoltu
showFill = input.bool(false, "Senčenje između linija", group=grpB)
grpM = "Metoda rastojanja"
method = input.string("StdDev", "Metoda", options=["StdDev","ATR","Pips/poeni"], group=grpM)
atrLen = input.int(14, "ATR dužina", minval=1, group=grpM)
pip = input.float(0.0001, "Vrednost 1 pipa/poena", step=0.0001, group=grpM)
// Gornji pojasevi
grpU = "Gornji pojasevi (iznad plave)"
u1v = input.float(1.23, "Gornji 1 – faktor/poeni", step=0.01, group=grpU)
u1s = input.float(0.0, "Gornji 1 – ručni pomak", step=0.0001, group=grpU)
u2v = input.float(1.9, "Gornji 2 – faktor/poeni", step=0.01, group=grpU)
u2s = input.float(0.0, "Gornji 2 – ručni pomak", step=0.0001, group=grpU)
u3v = input.float(2.3, "Gornji 3 – faktor/poeni", step=0.01, group=grpU)
u3s = input.float(0.0, "Gornji 3 – ručni pomak", step=0.0001, group=grpU)
u4v = input.float(3.0, "Gornji 4 – faktor/poeni", step=0.01, group=grpU)
u4s = input.float(0.0, "Gornji 4 – ručni pomak", step=0.0001, group=grpU)
// Donji pojasevi
grpD = "Donji pojasevi (ispod plave)"
d1v = input.float(1.23, "Donji 1 – faktor/poeni", step=0.01, group=grpD)
d1s = input.float(0.0, "Donji 1 – ručni pomak", step=0.0001, group=grpD)
d2v = input.float(1.9, "Donji 2 – faktor/poeni", step=0.01, group=grpD)
d2s = input.float(0.0, "Donji 2 – ručni pomak", step=0.0001, group=grpD)
d3v = input.float(2.3, "Donji 3 – faktor/poeni", step=0.01, group=grpD)
d3s = input.float(0.0, "Donji 3 – ručni pomak", step=0.0001, group=grpD)
d4v = input.float(3.0, "Donji 4 – faktor/poeni", step=0.01, group=grpD)
d4s = input.float(0.0, "Donji 4 – ručni pomak", step=0.0001, group=grpD)
// ── Boje ───────────────────────────────────────────
cMid = color.new(color.blue, 0)
cUp = color.new(color.red, 0)
cDn = color.new(color.green, 0)
cFillUp = color.new(color.red, 85)
cFillDn = color.new(color.green, 85)
cFillOff = color.new(color.white, 100)
// ── VWAP i reset logika ────────────────────────────
vwap = ta.vwap(src)
var float sum = na
var float sum2 = na
var float n = na
bool isNew = false
if resetMode == "Dnevno"
isNew := ta.change(time("D"))
else if resetMode == "Nedeljno"
isNew := ta.change(time("W"))
else if resetMode == "Mesečno"
isNew := ta.change(time("M"))
else
isNew := false
if isNew
sum := 0.0, sum2 := 0.0, n := 0.0
if na(sum)
sum := 0.0, sum2 := 0.0, n := 0.0
sum += src
sum2 += src*src
n += 1.0
mean = n > 0 ? sum/n : na
stdev = n > 0 ? math.sqrt(math.max(sum2/n - mean*mean, 0.0)) : na
atr = ta.atr(atrLen)
// Rastojanje prema metodi
f_dist(mult) =>
method == "StdDev" ? mult * nz(stdev, 0) :
method == "ATR" ? mult * atr :
mult * pip
// ── Pojasevi ───────────────────────────────────────
u1 = vwap + f_dist(u1v) + u1s
u2 = vwap + f_dist(u2v) + u2s
u3 = vwap + f_dist(u3v) + u3s
u4 = vwap + f_dist(u4v) + u4s
d1 = vwap - f_dist(d1v) - d1s
d2 = vwap - f_dist(d2v) - d2s
d3 = vwap - f_dist(d3v) - d3s
d4 = vwap - f_dist(d4v) - d4s
// ── Plot ──────────────────────────────────────────
pMid = plot(vwap, title="VWAP (plava)", color=cMid, linewidth=2)
pU1 = plot(u1, title="Gornji 1", color=cUp, linewidth=2) // deblji
pU2 = plot(u2, title="Gornji 2", color=cUp, linewidth=1)
pU3 = plot(u3, title="Gornji 3", color=cUp, linewidth=1)
pU4 = plot(u4, title="Gornji 4", color=cUp, linewidth=1)
pD1 = plot(d1, title="Donji 1", color=cDn, linewidth=2) // deblji
pD2 = plot(d2, title="Donji 2", color=cDn, linewidth=1)
pD3 = plot(d3, title="Donji 3", color=cDn, linewidth=1)
pD4 = plot(d4, title="Donji 4", color=cDn, linewidth=1)
// ── Senčenje (ostavljeno ali podrazumevano off) ────
fill(pMid, pU1, color = showFill ? cFillUp : cFillOff)
fill(pU1, pU2, color = showFill ? cFillUp : cFillOff)
fill(pU2, pU3, color = showFill ? cFillUp : cFillOff)
fill(pU3, pU4, color = showFill ? cFillUp : cFillOff)
fill(pMid, pD1, color = showFill ? cFillDn : cFillOff)
fill(pD1, pD2, color = showFill ? cFillDn : cFillOff)
fill(pD2, pD3, color = showFill ? cFillDn : cFillOff)
fill(pD3, pD4, color = showFill ? cFillDn : cFillOff)
indicator("Majkl Manzalovic", overlay=true, max_lines_count=500)
// ── Inputs ─────────────────────────────────────────
grpB = "Osnovno"
src = input.source(open, "Izvor (za VWAP dev.)", group=grpB)
resetMode = input.string("Dnevno", "VWAP reset", options=["Dnevno","Nedeljno","Mesečno","Nikad"], group=grpB)
// Senčenje isključeno po difoltu
showFill = input.bool(false, "Senčenje između linija", group=grpB)
grpM = "Metoda rastojanja"
method = input.string("StdDev", "Metoda", options=["StdDev","ATR","Pips/poeni"], group=grpM)
atrLen = input.int(14, "ATR dužina", minval=1, group=grpM)
pip = input.float(0.0001, "Vrednost 1 pipa/poena", step=0.0001, group=grpM)
// Gornji pojasevi
grpU = "Gornji pojasevi (iznad plave)"
u1v = input.float(1.23, "Gornji 1 – faktor/poeni", step=0.01, group=grpU)
u1s = input.float(0.0, "Gornji 1 – ručni pomak", step=0.0001, group=grpU)
u2v = input.float(1.9, "Gornji 2 – faktor/poeni", step=0.01, group=grpU)
u2s = input.float(0.0, "Gornji 2 – ručni pomak", step=0.0001, group=grpU)
u3v = input.float(2.3, "Gornji 3 – faktor/poeni", step=0.01, group=grpU)
u3s = input.float(0.0, "Gornji 3 – ručni pomak", step=0.0001, group=grpU)
u4v = input.float(3.0, "Gornji 4 – faktor/poeni", step=0.01, group=grpU)
u4s = input.float(0.0, "Gornji 4 – ručni pomak", step=0.0001, group=grpU)
// Donji pojasevi
grpD = "Donji pojasevi (ispod plave)"
d1v = input.float(1.23, "Donji 1 – faktor/poeni", step=0.01, group=grpD)
d1s = input.float(0.0, "Donji 1 – ručni pomak", step=0.0001, group=grpD)
d2v = input.float(1.9, "Donji 2 – faktor/poeni", step=0.01, group=grpD)
d2s = input.float(0.0, "Donji 2 – ručni pomak", step=0.0001, group=grpD)
d3v = input.float(2.3, "Donji 3 – faktor/poeni", step=0.01, group=grpD)
d3s = input.float(0.0, "Donji 3 – ručni pomak", step=0.0001, group=grpD)
d4v = input.float(3.0, "Donji 4 – faktor/poeni", step=0.01, group=grpD)
d4s = input.float(0.0, "Donji 4 – ručni pomak", step=0.0001, group=grpD)
// ── Boje ───────────────────────────────────────────
cMid = color.new(color.blue, 0)
cUp = color.new(color.red, 0)
cDn = color.new(color.green, 0)
cFillUp = color.new(color.red, 85)
cFillDn = color.new(color.green, 85)
cFillOff = color.new(color.white, 100)
// ── VWAP i reset logika ────────────────────────────
vwap = ta.vwap(src)
var float sum = na
var float sum2 = na
var float n = na
bool isNew = false
if resetMode == "Dnevno"
isNew := ta.change(time("D"))
else if resetMode == "Nedeljno"
isNew := ta.change(time("W"))
else if resetMode == "Mesečno"
isNew := ta.change(time("M"))
else
isNew := false
if isNew
sum := 0.0, sum2 := 0.0, n := 0.0
if na(sum)
sum := 0.0, sum2 := 0.0, n := 0.0
sum += src
sum2 += src*src
n += 1.0
mean = n > 0 ? sum/n : na
stdev = n > 0 ? math.sqrt(math.max(sum2/n - mean*mean, 0.0)) : na
atr = ta.atr(atrLen)
// Rastojanje prema metodi
f_dist(mult) =>
method == "StdDev" ? mult * nz(stdev, 0) :
method == "ATR" ? mult * atr :
mult * pip
// ── Pojasevi ───────────────────────────────────────
u1 = vwap + f_dist(u1v) + u1s
u2 = vwap + f_dist(u2v) + u2s
u3 = vwap + f_dist(u3v) + u3s
u4 = vwap + f_dist(u4v) + u4s
d1 = vwap - f_dist(d1v) - d1s
d2 = vwap - f_dist(d2v) - d2s
d3 = vwap - f_dist(d3v) - d3s
d4 = vwap - f_dist(d4v) - d4s
// ── Plot ──────────────────────────────────────────
pMid = plot(vwap, title="VWAP (plava)", color=cMid, linewidth=2)
pU1 = plot(u1, title="Gornji 1", color=cUp, linewidth=2) // deblji
pU2 = plot(u2, title="Gornji 2", color=cUp, linewidth=1)
pU3 = plot(u3, title="Gornji 3", color=cUp, linewidth=1)
pU4 = plot(u4, title="Gornji 4", color=cUp, linewidth=1)
pD1 = plot(d1, title="Donji 1", color=cDn, linewidth=2) // deblji
pD2 = plot(d2, title="Donji 2", color=cDn, linewidth=1)
pD3 = plot(d3, title="Donji 3", color=cDn, linewidth=1)
pD4 = plot(d4, title="Donji 4", color=cDn, linewidth=1)
// ── Senčenje (ostavljeno ali podrazumevano off) ────
fill(pMid, pU1, color = showFill ? cFillUp : cFillOff)
fill(pU1, pU2, color = showFill ? cFillUp : cFillOff)
fill(pU2, pU3, color = showFill ? cFillUp : cFillOff)
fill(pU3, pU4, color = showFill ? cFillUp : cFillOff)
fill(pMid, pD1, color = showFill ? cFillDn : cFillOff)
fill(pD1, pD2, color = showFill ? cFillDn : cFillOff)
fill(pD2, pD3, color = showFill ? cFillDn : cFillOff)
fill(pD3, pD4, color = showFill ? cFillDn : cFillOff)
Script protégé
Ce script est publié en source fermée. Toutefois, vous pouvez l'utiliser librement et sans aucune restriction - en savoir plus ici.
Clause de non-responsabilité
Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.
Script protégé
Ce script est publié en source fermée. Toutefois, vous pouvez l'utiliser librement et sans aucune restriction - en savoir plus ici.
Clause de non-responsabilité
Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.