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)
סקריפט מוגן
סקריפט זה פורסם כמקור סגור. עם זאת, אתה יכול להשתמש בו באופן חופשי וללא כל הגבלה - למד עוד כאן.
כתב ויתור
המידע והפרסומים אינם אמורים להיות, ואינם מהווים, עצות פיננסיות, השקעות, מסחר או סוגים אחרים של עצות או המלצות שסופקו או מאושרים על ידי TradingView. קרא עוד בתנאים וההגבלות.
סקריפט מוגן
סקריפט זה פורסם כמקור סגור. עם זאת, אתה יכול להשתמש בו באופן חופשי וללא כל הגבלה - למד עוד כאן.
כתב ויתור
המידע והפרסומים אינם אמורים להיות, ואינם מהווים, עצות פיננסיות, השקעות, מסחר או סוגים אחרים של עצות או המלצות שסופקו או מאושרים על ידי TradingView. קרא עוד בתנאים וההגבלות.