PROTECTED SOURCE SCRIPT
Compact Manual Execution Checklist

//version=6
indicator("Compact Manual Execution Checklist", overlay=true)
)
tblPos = tblPosInput == "Top Left" ? position.top_left :
tblPosInput == "Bottom Right" ? position.bottom_right :
tblPosInput == "Bottom Left" ? position.bottom_left :
tblPosInput == "Center" ? position.middle_center :
position.top_right
// ==============================
// EMA CALCULATION
// ==============================
emaVal = request.security(
syminfo.tickerid,
emaTF == "" ? timeframe.period : emaTF,
ta.ema(close, emaLen)
)
emaBull = close > emaVal and emaVal > emaVal[1]
emaBear = close < emaVal and emaVal < emaVal[1]
// ==============================
// SCORE LOGIC (SAFE)
// ==============================
score = (tEMA ? 25 : 0) + (tBC ? 25 : 0) + (tTL ? 25 : 0) + (tOT ? 25 : 0)
grade = score == 100 ? "A+" : score == 75 ? "B+" : "POOR"
gColor = score == 100 ? color.green : score == 75 ? color.orange : color.red
// ==============================
// EMA PLOT
// ==============================
plot(emaVal, "EMA", color=color.orange, linewidth=2)
// ==============================
// CHECKLIST TABLE (ONCE)
// ==============================
var table t = table.new(tblPos, 2, 6, border_width=1)
if barstate.islast
table.cell(t, 0, 0, "RULE", bgcolor=color.gray)
table.cell(t, 1, 0, "✔ / ✖", bgcolor=color.gray)
table.cell(t, 0, 1, "EMA")
table.cell(t, 1, 1, tEMA ? "✔" : "✖", bgcolor=tEMA ? color.green : color.red)
table.cell(t, 0, 2, "B + C")
table.cell(t, 1, 2, tBC ? "✔" : "✖", bgcolor=tBC ? color.green : color.red)
table.cell(t, 0, 3, "TL")
table.cell(t, 1, 3, tTL ? "✔" : "✖", bgcolor=tTL ? color.green : color.red)
table.cell(t, 0, 4, "1T")
table.cell(t, 1, 4, tOT ? "✔" : "✖", bgcolor=tOT ? color.green : color.red)
table.cell(t, 0, 5, "SCORE")
table.cell(t, 1, 5, str.tostring(score) + "% " + grade, bgcolor=gColor)
// ==============================
// EMA BIAS LABEL (NO FLICKER)
// ==============================
var label biasLbl = na
if barstate.islast
label.delete(biasLbl)
biasTxt = emaBull ? "EMA ↑" : emaBear ? "EMA ↓" : "EMA —"
biasCol = emaBull ? color.green : emaBear ? color.red : color.gray
biasLbl := label.new(
bar_index,
high,
biasTxt,
style=label.style_label_left,
color=biasCol,
textcolor=color.white,
size=size.small
)
// ==============================
// SOFT BACKGROUND FEEDBACK
// ==============================
bgcolor(score == 100 ? color.new(color.green, 92) :
score == 75 ? color.new(color.orange, 92) :
na)
indicator("Compact Manual Execution Checklist", overlay=true)
)
tblPos = tblPosInput == "Top Left" ? position.top_left :
tblPosInput == "Bottom Right" ? position.bottom_right :
tblPosInput == "Bottom Left" ? position.bottom_left :
tblPosInput == "Center" ? position.middle_center :
position.top_right
// ==============================
// EMA CALCULATION
// ==============================
emaVal = request.security(
syminfo.tickerid,
emaTF == "" ? timeframe.period : emaTF,
ta.ema(close, emaLen)
)
emaBull = close > emaVal and emaVal > emaVal[1]
emaBear = close < emaVal and emaVal < emaVal[1]
// ==============================
// SCORE LOGIC (SAFE)
// ==============================
score = (tEMA ? 25 : 0) + (tBC ? 25 : 0) + (tTL ? 25 : 0) + (tOT ? 25 : 0)
grade = score == 100 ? "A+" : score == 75 ? "B+" : "POOR"
gColor = score == 100 ? color.green : score == 75 ? color.orange : color.red
// ==============================
// EMA PLOT
// ==============================
plot(emaVal, "EMA", color=color.orange, linewidth=2)
// ==============================
// CHECKLIST TABLE (ONCE)
// ==============================
var table t = table.new(tblPos, 2, 6, border_width=1)
if barstate.islast
table.cell(t, 0, 0, "RULE", bgcolor=color.gray)
table.cell(t, 1, 0, "✔ / ✖", bgcolor=color.gray)
table.cell(t, 0, 1, "EMA")
table.cell(t, 1, 1, tEMA ? "✔" : "✖", bgcolor=tEMA ? color.green : color.red)
table.cell(t, 0, 2, "B + C")
table.cell(t, 1, 2, tBC ? "✔" : "✖", bgcolor=tBC ? color.green : color.red)
table.cell(t, 0, 3, "TL")
table.cell(t, 1, 3, tTL ? "✔" : "✖", bgcolor=tTL ? color.green : color.red)
table.cell(t, 0, 4, "1T")
table.cell(t, 1, 4, tOT ? "✔" : "✖", bgcolor=tOT ? color.green : color.red)
table.cell(t, 0, 5, "SCORE")
table.cell(t, 1, 5, str.tostring(score) + "% " + grade, bgcolor=gColor)
// ==============================
// EMA BIAS LABEL (NO FLICKER)
// ==============================
var label biasLbl = na
if barstate.islast
label.delete(biasLbl)
biasTxt = emaBull ? "EMA ↑" : emaBear ? "EMA ↓" : "EMA —"
biasCol = emaBull ? color.green : emaBear ? color.red : color.gray
biasLbl := label.new(
bar_index,
high,
biasTxt,
style=label.style_label_left,
color=biasCol,
textcolor=color.white,
size=size.small
)
// ==============================
// SOFT BACKGROUND FEEDBACK
// ==============================
bgcolor(score == 100 ? color.new(color.green, 92) :
score == 75 ? color.new(color.orange, 92) :
na)
Skrip dilindungi
Skrip ini diterbitkan sebagai sumber tertutup. Akan tetapi, anda boleh menggunakannya secara bebas dan tanpa apa-apa had – ketahui lebih di sini.
Penafian
Maklumat dan penerbitan adalah tidak bertujuan, dan tidak membentuk, nasihat atau cadangan kewangan, pelaburan, dagangan atau jenis lain yang diberikan atau disahkan oleh TradingView. Baca lebih dalam Terma Penggunaan.
Skrip dilindungi
Skrip ini diterbitkan sebagai sumber tertutup. Akan tetapi, anda boleh menggunakannya secara bebas dan tanpa apa-apa had – ketahui lebih di sini.
Penafian
Maklumat dan penerbitan adalah tidak bertujuan, dan tidak membentuk, nasihat atau cadangan kewangan, pelaburan, dagangan atau jenis lain yang diberikan atau disahkan oleh TradingView. Baca lebih dalam Terma Penggunaan.