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)
Skrip dilindungi
Skrip ini diterbitkan sebagai sumber tertutup. Akan tetapi, anda boleh menggunakannya dengan percuma dan tanpa had – ketahui lebih lanjut di sini.
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.
Skrip dilindungi
Skrip ini diterbitkan sebagai sumber tertutup. Akan tetapi, anda boleh menggunakannya dengan percuma dan tanpa had – ketahui lebih lanjut di sini.
Penafian
Maklumat dan penerbitan adalah tidak dimaksudkan untuk menjadi, dan tidak membentuk, nasihat untuk kewangan, pelaburan, perdagangan dan jenis-jenis lain atau cadangan yang dibekalkan atau disahkan oleh TradingView. Baca dengan lebih lanjut di Terma Penggunaan.